No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Introducción a Unity: Scripting

Curso de Introducción a Unity: Scripting

Ruth Margarita García López

Ruth Margarita García López

Manipulando al componente Transform: rotación y escala

9/24
Recursos

Aportes 6

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Esto es lo que sucede de solo dejar transform.Rotate(), el objeto gira sobre si mismo.

## Clase #09: **Manipulando al componente Transform: rotación y escala** Cuando la transformación de la posición ocurre dentro de **void Start()** ocurrirá sólo al inicio, luego de darle play al juego podremos mover el GameObject en la escena, caso contrario a cuando lo colocamos en **void Update()**, ya que en este caso estará constantemente indicando la posición con la renderización de cada frame y será imposible mover al objeto. ```js using System.Collections; using System.Collections.Generic; using UnityEngine; void Start() { transform.position = new Vector3(1,2,3); } void Update() { /* transform.rotation = new Vector3(1,2,3); dará error ya que se maneja con Quaterniones */ // Para mover respecto a coordenadas globales: transform.rotation = Quaternion.Euler(10, 45, 20); // Degradianes transform.position += new Vector3(0, 0, 0.05f); // Se moverá en el eje Z global // Para mover respecto a coordenadas locales: transform.Translate(0, 0, 0.05f); // Pequeño vector para avance incremental en función de 200 frames/segundo transform.Rotate(0, 5, 0); // Para modificar dimensiones (sólo posible respecto a coordenadas locales) transform.localScale += new Vector3(0, 0, 0.05f); } ```

El cubo se mueve al inicio de la posicion indicada, ya que se llama la funcion desde el start por lo que solo se ejecuta una vez y desde que se llama se puede modificar libremente

El cubo se puede mover después de poner Vector3(1, 2, 3) por que esta orden solo se ejecuta en start 1 sola vez después de ahí no necesariamente debe de tener la misma posición, pero si en vez de poner la orden en start se pondría en update por ejemplo serias incapaz de mover el objeto por que su posición se estaría actualizando a Vector3(1, 2, 3) por cada frame constantemente.

También podríamos moverlo sumándole el vector de dirección local

transform.position += transform.forward * speed

Creo que es por que ese “seteo” solo se realiza al comienzo del ciclo de vida del gameObject.