Jump to content
Quel

La lógica tras las físicas.

Recommended Posts

Buenos días.

 

Os cuento. Me encuentro con un problema que supongo viene provocado por no entender como funcionan realmente las físicas. Ya que la manera que yo creía "lógica" no es la que parece ser real. Para el siguiente experimento tengo la siguiente escena.

 

- Una pelota con un collider, rigidbody y gravedad. Que cae hacia "abajo". Esta pelota se encuentra 10 unidades por encima de 0.

- Un suelo a nivel 0, formado por un collider.

- Entre ambos hay un "Bounciness" de 1. Es decir, si le doy a play, la pelota cae, rebota y sube de nuevo hasta una altura de 10. Así de manera indefinida.

 

Pero aquí acaba todo lo "normal".

Si yo ahora hago un script en que, cuando la pelota golpea el suelo, su velocidad se divide por 2, cabría pensar que ahora solo llegará hasta media altura. Pues no. La pelotita rebota hasta una altura de 3(aprox.).

Si repito el mismo experimento pero ahora opto por multiplicar la velocidad de la pelota por 2, esta no sube hasta 20 unidades. Sino que lo hace por encima de las 35.

 

Asi que esta claro que como yo tenia convencida la velocidad no es como se calculan realmente en Unity. ¿ Alguien entiende y podría arrojar un poco de luz al tema ?

 

¿ Como podría saber que fuerza de "rebote" tiene que tener la pelota para que que llegue a 5 puntos de altura, a 20 o al valor que yo quiera ?.

 

Gracias de antemano.

Share this post


Link to post
Share on other sites

creo, que el error proviene que usas un sistema en relatividad, mírate esto a ver si te sirve:

http://docs.unity3d.com/Manual/class-Rigidbody.html

http://docs.unity3d.com/ScriptReference/Rigidbody.html

http://docs.unity3d.com/ScriptReference/Collider.html

 

(no hay perdida, es de la pagina oficial de unity)

piensa que lo que estas cambiando al hacer tus pruebas, cuando divides la velocidad o multiplicas, esta sigue actuando con la misma masa que posea ese rigidbody, si ademas reduces la masa o aumentas (incluso sin cambiar la velocidad) puede que funcione, solo deberás hacer pruebas.

 

suerte!!

 

Edit:

tambien te añado : http://es.wikipedia.org/wiki/F%C3%ADsica

te ayudara a comprender algo mejor la fisica.

Edited by kingtrase

Share this post


Link to post
Share on other sites

Nose , a voz de pronto y sin pensarlo mucho (Puede que me este colando) es que digamos que las ecuaciones de gravedad o de movimientos accelerados no tienen forma de recta, sin ir mas lejos y llendo a la fisica de bachillerato(Que nostalgia) la distancia

S = VelocidadInicial * tiempo + (Acceleracion(Tu caso 9,8)  * Tiempo ^ 2) / 2

Como puedes ver facilmente no es una recta (y != mx) por lo que aunque multipliques por 2 la velocidad la S no va a ser el doble, nose si me explico y si estoy en lo correcto,

pero probablemente ese es el motivo de que obtengas esos valores,

Un  saludo ;)

Share this post


Link to post
Share on other sites

UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...