Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo hacer que un objeto se mueva de un punto a otro en 5 segundos?

¿Cómo hacer que un objeto se mueva de un punto a otro en 5 segundos?

Solución:

Conociendo la distancia y el tiempo entre dos puntos, puedes obtener el valor de velocidad y luego moverte en la dirección objetivo con este valor de velocidad. this.transform.Translate(Vector3.normalize(posición de destino - posición propia) * (Vector3.Distance(posición propia - posición de destino)/(Time.deltime)))Distancia(posición propia - posición de destino) * (Vector3.Distance( posición propia - posición objetivo)/(Time.deltime)));

Introducción al movimiento simple de objetos en Unity:

Primero, veamos la construcción de la escena: construya un cubo y agregue un punto de luz. Lo que queremos lograr es hacer que el cubo en la escena se mueva a lo largo del eje X, y luego creamos un nuevo script js Creat->Javascript.

función Update() 2.{ 3. transform .Translate(Vector3(1,0,0)); 4.transform.Translate(Vector3(1,0,0)); 4.Translate(Vector3(1,0,0)); ,0,0)); 6.Translate(Vector3(1,0,0)); 7.Translate(Vector3(1,0,0)).} , copie el código y arrastre el archivo js al panel de jerarquía en el cubo para lograr la unión. Después de correr, podemos ver el cubo volar con un "silbido". Debe tener hambre y prisa por comer. Bien, modifiquemos el código para hacerlo un poco más lento.

función Update(){transform.Translate(Vector3(1,0,0)*Time.deltaTime); 4. } Copia el código y ejecútalo, esto hará que se mueva lenta y honestamente. ¿Qué está sucediendo? Analicemos el código paso a paso. En primer lugar, no hay nada que decir sobre Update (). Se ha utilizado todo el tiempo y creo que todos entienden lo que está pasando.

Lo siguiente es la transformación: cada objeto en la escena tiene una transformación, que se utiliza para almacenar y controlar la posición, rotación y escala del objeto. traducir: es una función de transformación, utilizada para mover objetos. Se necesita un parámetro Vector3 para moverse. De hecho, tiene un segundo parámetro que es si se mueve sobre su propio eje o sobre el eje del mundo. No discutiremos este tema por ahora.

Vector3: Representa vectores y puntos tridimensionales. transform.Translate(Vector3(1,0,0)); Este código significa que el objeto vinculado (es decir, el cubo en la escena) se mueve 1 unidad a lo largo de la dirección del eje x.

Time.deltaTime: es el delta de tiempo, creo que debería ser el tiempo de este frame. Al igual que 30 fotogramas por segundo en flash, cuántos segundos por fotograma, etc. En este programa es aproximadamente 0,016. Se movió una unidad, ahora multiplicado por 0,016, definitivamente es más lento. Es decir, lo que hace en realidad es ralentizar el movimiento.