Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Position y localPosition

Iniciado por Siam, Diciembre 24, 2016, 01:35:30 PM

Tema anterior - Siguiente tema
Quisiera saber cual es la diferencia entre localPosition y position, ya que a veces en algunos sitios utilizan position y en otros localPosition

position es el Vector3 que determina la posición de un objeto en referencia al punto (0,0,0) del mundo (el origen de coordenadas global de tu escena).
 
localPosition es lo mismo pero en referencia al punto (0,0,0) del objeto parent.
 
 
 
Imagina que mi casa está en el punto (10,10,10) del planeta y que yo estoy dentro de mi casa.
 
Si yo estoy justo en el punto (0,0,0) de mi casa, entonces:
 
casa.position => (10,10,10)
 
casa.localposition => (10,10,10)  (suponiendo que no tiene a su vez un objeto parent como sería la ciudad)
 
yo.position => (10,10,10)
 
yo.localPosition => (0,0,0)
 
 
 
Ahora imagina que dentro de mi casa me muevo hasta la posición (5,1,8) de mi casa. Entonces:
 
casa.position => (10,10,10)
 
casa.localposition => (10,10,10)
 
yo.position => (15,11,18)
 
yo.localPosition => (5,1,8)
 
Con la rotación y  la scale es lo mismo, salvo que la rotación se define con Quaterniones y no con vector3

en codigo no se suele usar demasiado el localPosition ya que muchas veces te interesan vectores ya conocidos como el forward o el up , entonces los llamas por transform.forward por ejejmplo, y para casi todo lo demas se emplean coordenadas globales sobre todo. En la matematica del  motor siempre se resulve lo local primero y por ultimo lo global.
 
En si todos los objetos padres son "hijos" del 0,0,0 , si modificas la posicion local funcionaria igual que modificar la global, no pasa esto si fuera hijo de alguien.

Etiquetas: