A relação entre as coordenadas mundiais Unity3D e as coordenadas locais, fale sobre a conversão entre

             A relação entre as coordenadas mundiais Unity3D e as coordenadas locais, fale sobre a conversão entre


índice

1. Introdução à postagem do blog

2. Conteúdo

(1) Relatividade

(2) Coordenadas mundiais

(3) Coordenadas locais

(4) Converta coordenadas locais em coordenadas mundiais

(5) Converter coordenadas mundiais em coordenadas locais

3. Empurre

4. Conclusão


1. Introdução à postagem do blog

Falando sobre as coordenadas mundiais e locais em Unity3D, e a conversão mútua entre os dois.


2. Conteúdo

(1) Relatividade

Em primeiro lugar, a coisa mais importante que devemos entender é a relatividade da posição.Apenas comparando uns com os outros podemos julgar a posição.

(2) Coordenadas mundiais

A coordenada mundial é a única posição correspondente ao objeto no nível mais alto com referência ao sistema de coordenadas mundiais em Unity3D. Para o objeto no nível mais alto, a posição no painel Inspetor é a coordenada mundial. Há uma propriedade de posição na API Transform, que pode obter diretamente as coordenadas mundiais do objeto. Não importa em qualquer nível, o objeto obtido é a posição do objeto. A única coordenada mundial.

(3) Coordenadas locais

A informação de posição obtida tomando qualquer objeto como sistema de referência em vez do ponto zero mundial como sistema de referência é a coordenada local, por exemplo: objeto A, seu sub-objeto B, e a informação de posição de B no painel Inspetor é B para A é a coordenada local obtida pelo ponto zero, então podemos obter uma mensagem, se B não é mais filho de A, mas está no mesmo nível de A, então a coordenada de B deve ser igual ao local anterior coordenada + a coordenada de A, se A for um objeto em coordenadas mundiais, então o resultado são as coordenadas mundiais de B.

(4) Converta coordenadas locais em coordenadas mundiais

Pode-se ver em (1) que as coordenadas mundiais do objeto podem ser obtidas diretamente por meio de transform.position

Pode ser visto em (3) que se o pai B do objeto A é um objeto no sistema de coordenadas mundiais, as coordenadas mundiais do objeto A = as coordenadas locais do objeto A + as coordenadas mundiais de B.

A API Transform fornece um método TransformPoint, que pode obter a posição das coordenadas mundiais do objeto em relação a qualquer ponto, portanto, o valor de vect abaixo são as coordenadas mundiais do cubo.

var vect = cube.TransformPoint(new Vector3(0,0,0));

(5) Converter coordenadas mundiais em coordenadas locais

A API Transform fornece um método InverseTransformPoint, que pode obter as coordenadas locais de qualquer objeto em relação a outro objeto. No código a seguir, o valor vect são as coordenadas locais se o cubo for filho de gordura. 

public Transform fat;

public Transform cube;

var vect = fat.InverseTransformPoint(cube.transform.position);

3. Empurre

博 主 Github :https://github.com/KingSun5


4. Conclusão

        Se você acha que o artigo do blogger está bem escrito, você pode querer prestar atenção nele e gostar da postagem do blog. Além disso, a capacidade do blogger é limitada. Se houver algum erro no artigo, comente e critique .

       Grupo de troca QQ: 806091680 (Chinar)

       Este grupo foi criado pelo blogueiro da CSDN Chinar, recomendo! Eu também estou no grupo!

       Este artigo é um artigo original, por favor, reimprima a fonte do famoso autor e mantenha-se no topo! ! ! !

 

Acho que você gosta

Origin blog.csdn.net/Mr_Sun88/article/details/98123268
Recomendado
Clasificación