Rolling Ball es un Script para 3Ds Max que permite la rotación automática de una bola en cualquier dirección y sobre cualquier superficie.
<aside>
💡 Sólo anime el control principal llamado <ctrl_ball>
y la bola rotará automáticamente.
</aside>
El Script calcula cuánto debe rotar la bola y en qué dirección. Considerando la distancia recorrida y el radio de la bola.
No existen cálculos de colisiones físicas como Physx o CUDA.
La bola responde al terreno porque se calcula la intersección de la base de la bola <ballGround>
con el terreno mediante la la función Intersect Ray de 3ds Max. Y en ese punto de intersección se posiciona la bola, de modo que no se tiene en cuenta la geometría de la bola ni del terreno.
<aside>
💡 En resumen el Script realiza:
∙ Un calculo para la rotación (cuanto debe rotar la bola y en que dirección)
∙ Un calculo para la posición en Z (Intersección entre <ballGround>
y el terreno)
</aside>
Rolling Ball no necesita ser instalado. Sólo arrastre el script dentro del visor de 3ds Max o ábralo desde el menú Scripting / Run Script...
y Rolling Ball estará listo para ser usado.
La interface sólo tiene un botón.
Presionándolo creará el Rig de la Bola.
Puede crear tantas bolas como quiera, cada una tendrá su rig independiente.
Presionando el botón creará el Rig de la Bola.
ctrl_ball: Controla la posición de la bola en los ejes X Y. Animando <ctrl_ball>
la bola rotará automáticamente. (Necesita activar el botón Auto-Key)
<aside> 💡 Los resultados los verá al reproducir la animación. No antes.
</aside>
ball: Puede linkear cualquier objeto para que rote en consecuencia.
ballBase: Permite que pueda despegar la bola de la superficie. Podrá animar rebotes o cualquier animación que requiera separar la bola del terreno seleccionado.
ballGround: Es la intersección con la superficie seleccionada. Cuando <ctrl_ball>
se mueve, traza un rayo que impacta con la superficie seleccionada. En ese punto de intersección se posiciona <ballGround>