Diferencia entre revisiones de «UNITY Operaciones sobre objetos 3D»
Ir a la navegación
Ir a la búsqueda
| Línea 60: | Línea 60: | ||
=Rotación= | =Rotación= | ||
| + | |||
| + | |||
| + | * Podemos rotar una figura en cualquiera de los tres ejes. | ||
| + | : La rotación viene determinada por un número que representa la rotación en grados. | ||
| + | : Así, 90 grados sería un cuarto de circunferencia de rotación, 180 sería la mitad y 360 una vuelta entera. | ||
| + | |||
| + | * Para saber como se rota, debemos de tener en cuenta la siguiente regla. | ||
| + | : Debemos imaginar que nuestra cabeza está atravesada por un palo, en cada uno de los ejes: | ||
| + | |||
| + | <gallery caption="Rotando un objeto 3D" widths="350" heights="300px" perrow="2"> | ||
| + | Image:Unity3d_rotacion_1.jpg| Rotación en el eje X. Es este caso el palo atraviesa nuestra cabeza de 'oreja a oreja'. Si movemos la cabeza la moveríamos de arriba a abajo, girando nuestra nariz. | ||
| + | Image:Unity3d_rotacion_2.jpg| Rotación en el eje Y. Es este caso el palo atraviesa nuestra cabeza de desde la parte superior a la inferior. Si movemos la cabeza la moveríamos los ojos de izquierda a derecha. | ||
| + | Image:Unity3d_rotacion_3.jpg| Rotación en el eje Z. Es este caso el palo atraviesa nuestra cabeza desde la parte de atrás pasando por nuestra nariz. Si intentamos mover la cabeza esta se mueve ladeando la cabeza. | ||
| + | </gallery> | ||
| + | |||
<br /> | <br /> | ||
| + | |||
=Traslación= | =Traslación= | ||
Revisión del 17:13 29 mar 2018
Introducción
- A todo objeto 3D se le pueden aplicar tres operaciones:
- Escalado: Hacerlo más grande. Podemos hacerlo más grande en todos los ejes (x,y,z) o sólo en alguno de ellos, provocando deformaciones.
- Rotación: Podemos rotarlo en cualquiera de los tres ejes (x,y,z)
- Traslación: Podemos trasladar el objeto en cualquiera de los tres ejes (x,y,z). Esto es, moverlo.
- Como comentamos anteriormente, toda figura 3D se dibuja en el punto (0,0,0) y después se le aplican unas modificaciones para visualizarlo en la posición y forma correctas.
- Esto es posible gracias a una serie de operaciones matemáticas con matrices.
- Cada uno de los objetos 3D tiene asociado una matriz de modelado (una matriz matemática de 4x4).
- Inicialmente, cuando dibujamos un objeto 3D se dibuja en el punto 0,0,0 y sin rotación ya que su matriz de modelado es la matriz identidad. Dicha matriz tiene unos en una de las diagonales.
- Cuando indicamos que el objeto se tiene que desplazar, rotar o escalar, estamos modificando su matriz de modelado (para nosotros es transparante) y una vez modificada, se aplica dicha matriz sobre cada uno de los puntos del objeto 3D y por eso se dibuja en la posición correcta, con la escala y con la rotación indicada.
- En Unity3D accedemos a esta matriz en la ventana de Inspector, bajo la sección Transform:
Escalado
- En la siguiente imagen podéis observar un cubo que mide 1x1x1 unidades (fijaros en la cuadrícula).
- Al pulsar sobre el cubo aparece en el Window Inspector las propiedades del gameobject seleccionado (en este caso el cubo).
- Ahora podemos modificar la escala. Lo podemos hacer de varias formas:
- Tecleando la nueva escala en la caja de texto correspondiente.
- Poniendo el ratón en la ventana Inspector, encima del eje que queramos cambiar la escala y manteniendo presionado el botón izquierdo mover a derecha o izquierda.
- Seleccionado en la barra de herramientas la opción de escala y después, gráficamente sobre la figura, presionar el botón izquierdo del ratón sobre uno de los ejes de colores y sin soltar, mover el ratón.
- Cambiando la escala
Rotación
- Podemos rotar una figura en cualquiera de los tres ejes.
- La rotación viene determinada por un número que representa la rotación en grados.
- Así, 90 grados sería un cuarto de circunferencia de rotación, 180 sería la mitad y 360 una vuelta entera.
- Para saber como se rota, debemos de tener en cuenta la siguiente regla.
- Debemos imaginar que nuestra cabeza está atravesada por un palo, en cada uno de los ejes:
- Rotando un objeto 3D
Traslación
-- Ángel D. Fernández González -- (2018).

