Bienvenido,

Hoy trataremos el tema"Como aplicar Fuerzas Fh a actores dinamicos".

Es nesesario tener conocimiento previos sobre blender y sobre el engine, especialmente con la aplicacion de movimientod a un actor dinamico

Introduccion:

¿Para que quiero saber usar Fh? en mas de una ocasion, compañeros de www.nicodigital.com preguntaron ¿COMO PUEDO CONSEGUIR UN EFECTO DE FLOTACION, AL ESTILO DE STAR WARS? y yo, que habia tenido la precaucion de hacerme la pregunta ¿para que serviran esos botoncitos Fh que no hacen nada? y contestarmela, pude dar una respuesta satisfactoria.

El engine tiene, entre muchas otras cosas que estan ala vista pero no sabemos bien su potencial, la capacidad de aplicar a un material caracteristicas de fuerza de repulsion, y de que los actores en forma individual sean afectados o no por ella.

Ejemplo: uno de los .blend que provee el sitio oficial de blender es sobre una chica en un aerodeslizador, en una pista cerrada. El actor principal usa Fh para flotar sobre el suelo, y ademas para seguir las curvas de este ¿COMO? asi como lo ecuchan, no solo hay una fuerza que lo mantiene suspendido en el aire (empujandolo, no estatico) sino que ademas para que el objeto no se mantenga "horizontal" en las inclinasiones del suelo, lo va rotando para que se mantenga coherentemente "paralelo" al suelo.

esto a su ves permite que un objeto vuele libremente por la pantalla, y solo sea afectado por la Fh al estar a una distancia vertical determinada del objeto emisor.

Aplicacion:

Comenzaremos con la creacion de un actor (para el ejemplo puede ser algo simple como una esfera o un cubo)teniendo en cuenta que deberemos modelarlo para que se distinga la parte de adelante. Es muy importante que el modelo que utilizemos tenga perpendiculares (que corte a 90 grados) el adelante con el eje +Y, el lado derecho con el ele +X y la parte superior con el eje +Z.

Esto es muy importante, porque para el engine, al aplicar RotFh, siempe el eje +Z quedara perpendicular al suelo.

Puede ser algo como esta imagen:

Aplicarle alguna textura (Fkey para face mode, ventana UV, mapeado con U y el editor UV, en ventana 3D otra ves Fkey para salir de face mode) al actor.

Ahora debemos configurarlo como "Actor>>Dynamic" y debe tener presionados los atributos "Actor" "Dynamic" "Do Fh" y "Rot Fh".

Los atributos de "Size" "Mass" "Form" "Damp" y "Rot Damp" los modifique para conseguir un mejor control del actor, y le aplique movimiento ADELANTE-ATRAS (teclas W-S) y giro hacia la DERECHA-IZQUIERDA (teclas A-D).

El resultado de todo esto se ve en la imagen 2:

El recuadro verde de la esqiona superior izquierda indica que botones deben obligatoriamente estar activos para este tutorial.

Los violaceos deben estar como en la imagen para un mejor funcionamiento (recomiendo tener presionada la "L" de Local), pero no implican factores criticos (bajo vuestra propia responsabilidad si el tutorial no hace lo que describo).

las lineas verdes del medio solo son aclaratorias de la conexion de los Logic Bricks (LB), el primer sensor con el primer controll y este con el primer actuator, y asi segundo con segundo, etc (queda poco claro en la imagen).

Ahora, para poder usar la propiedad Fh, debemos tener otro objeto que interactue con el actor, es decir, debemos crear un escenario en donde uno o mas objetos (pueden ser todos) tengan aplicada dicha propiedad.

La fuerza Fh se manifiesta de la siguiente manera: un obeto (o mas) del escenario deben tener configurada la fuerza Fh en el material (Material>>DYN>>Force/Dist/etc.) y debe haber al menos un actor dinamico que tenga pinchados al menos uno de los botones Fh (Do FH o Rot FH).

Es el actor el que sera afectado por el la fuente que tenga un material con Fh.

Para poder aprecial el efecto, sugiero un escenario sencillo, con partes inclinadas y desniveles.

Algo asi funcionaria a la perfeccion:

Ahora solo falta configurar el material:

Si tenes en pantalla la camara (fija o voladora, a gusto), el actor y el escenario, y seguiste todos los pasos al pie de la letra, ya podes con el cursor la ventana 3D, presionar Pkey y senti la fuerza!

Del material solo nos interesan los atributos DYN, remarcados en el recuadro amarillo.

A continuacion describo la funcion del boton...

"Fh Norm" sirve para que ademas de la fuerza hacia arriba, ejerza una fuerza lateral en el sentido en que esta inclinado el plano (plano inclinado). Si este boton no esta activado, los declives no afectara en absoluto al actor, pudiendo este estar en la mas inclinada de las rampas sin deslizarse hacia abajo.

"Fh Damp", como todos los Damp, es un atenuador del efecto. Cuanto mayor este parametro, mas lentamente se aplica la fuerza en el actor, evitando exesos de rotacion o repulsion. Si probamos este valor al 0.042, al 0.142 y al 0.5 veremos que en primer caso al intentar quedar perpendicular al suelo en una rampa, gira en exeso pasando al otro lado o incluso dando una vuelta completa. Con el segundo valor funciona bien y con el tercero demora un par de segundos en comenzar la rotacion o la repulsion, perdiendose el efecto.

"Fh Dist" es el que indica al engine la distancia perpendicular entre el actor y el plano con Fh a la que se aplica (solo cuando la distancia es menor que). Si este valor es muy grande, la altura de flotacion tambien lo sera. Si es muy pequeño, seguramente el actor tocara el suelo a cada rato, produciendo un desagradable "vuelco" y enderezamiento a cada momento.

"Resitut" y "Friction" no tiene que ver con Fh, pero si con los rebotes de colisiones.

"Fh Force" es la cantidad de fuerza que afectara al actor. Si esta en 1.0 el actor quedara sometido 100% a la repulsion y rotacion dentro de la distancia de activacion. Es decir, en ese caso no podra tener otra orientacion que no sea perfectamente perpendicular al plano o cara del sobre el que se encuentra, ni una distancia menor al plano que la configurada.

Ahora que ya sabes el secreto de la fuerza Fh, QUE LA FUERZA SEA CONTIGO

Escrito por Claudio Dobniewski (alias CJD) Agosto 2003. El autor autoriza la copia y traduccion de este tutorial, siempre que se respete el contenido. Para comunicarte con el autor claudiojd@indicom.com.ar. Para ir a NICODIGITAL

.