Gracias Gracias:  0
Resultados 1 al 1 de 1

Tema: Iniciacion con el Blender Engine

  1. #1
    Administrador y fundador. Avatar de 3dpoder
    Fecha de ingreso
    Apr 2002
    Mensajes
    15,459

    Blender Iniciacion con el Blender Engine

    COMENZANDO CON EL BLENDER ENGINE


    Si nuna utilizaste el Blender Engine, o te frustraste intentándolo, repasemos algunas cosas básicas.
    el Blender Engine NO ES una aplicación que tenga que ver con el modelado o el renderizado, así que aunque este integrado (lo que nos facilita trabajar en un único entorno) tiene sus características particulares.
    En principio, el BE simula propiedades físicas como la impenetrabilidad de los objetos (colisiones), el rozamiento, la aplicación de fuerzas, velocidades, rotaciones.
    El Datablok o pantalla desde donde controlamos la mayoría de las propiedades que afectaran los objetos es la que se identifican con un “packman” azul





    Diferenciemos categorías de objetos por sus propiedades: si el objeto en cuestión no es un actor, el botón ´actor´ estará desactivado, y el objeto en cuestión no será evaluado por el engine (lease que no rebotara ni se moverá deacuerdo a las leyes de la física) pero si se le podrán aplicar movimientos, rotaciones, efectos de material que interactuaran con los actores, IPOs, Armatures,Logic Bricks.





    Pos actores dinamicos SI son evaluados por el engine, y si los colocamos donde no hay piso, y si con el cursor en una vetana 3d precionamos la tecla ''P'' entonces el engine se activa, y comienza la simulación el actor que no tenga suelo debajo, caera indefinidamente y se perdera del campo visual. Si presionas la tecla ''ESC'' la simulación se aborta, y todos los objetos estarán tal y como estaban al iniciarse el engine.
    Es importante tomar en cuenta los layers activos antes de ejectutar el engine, porque solo ''existiran'' los objetos que estén en layes activos, y los que estén en layes inactivos ''no existiran'', salvo como objetos almacenados que pueden ser ''creados'' por un objeto en un layer activo, durante la simulación (es como si fueran modelos a ser copiados al momento de ser llamas por un objeto activo), pero el objeto en si no pueden cambiar de layer durante la simulación, esta es una diferencia importante con el modo normal del Blender (como ya debe saber Taz).
    Por ahora no intentaremos hacer un juego, sino solo practicar, probando las distintas cosas que trae el engine. En este caso utilizo la versión del Blender 2.23, aunque la 2.25 trae algunas mejoras en los logic brik y en el interprete Python..
    Con un sesion nueva del Blender, creemos un objeto (a gusto del usuario, puede ser un cubo, una esfera, un cilindro,etc.) no importa la forma, ya que será nuestro actor, y, por ahora, los actores dinamicos son evaluados solo como esferas de un tamaño ''Size'' (cuando presionamos el botón ''Actor'' y ''Dynamic'' se despliegan otros justo abajo que definen propiedades físicas), de una masa (que no es lo mismo que peso) ''Mass''. Asimismo es conveniente aplicarle un material (cualquiera), aunque si no lo hacemos el Blender evalua el material por defecto (ese ''Material'' gris que aparece cuando cramos un material nuevo). El material asigna propiedades al objeto, que se configuran con el botón DYN (de DYNAMIC) que se encuentra al costado del cuadrado donde nos muestra el color del material. Por ahora dejamos la manipulacion del material para más adelante.
    Bien, ya tenemos nuestro objeto testigo, es un actor dinamico, y supongo que tiene un material por defecto.





    Lo ubico en la pantalla 3D. Observemos que tiene un círculo de línea de trazos! esta es la forma en que Blender nos indica que es un objeto dinamico, y el tamaño esférico respecto de su centro. es impenetrable por objetos ''solidos'' dentro de ese círculo.
    Y no olvidemos colocarle un piso, que puede ser un plano agrandado para que tenga un poco de espacio, con el mismo material. No queremos que sufra de vertigo.





    Ahora presionamos la P-key y...
    a) Si el plano tiene el material por defecto, el actor caera hasta chocar con el plano y quedará estático ahí. No rebota.
    b) Si el plano no tiene material asignado el objeto testigo (el actor!) rebotara indefinidamente, o lo tiene y la Restitution (restitucion:indice con que devuelve la fuerza de impacto) esta entre cero y uno rebotara cada vez más bajo hasta detenerse.
    La cuestión es que LA RESTITUTION LE INDICA AL MATERIAL CUANTA DE LA FUERZA DE IMPACTO DEVUELVE PARA EL REBOTE, es decir, si el índice es cero, nada rebota en el. dicho material absorbe LA TOTALIDAD del impacto, aunque si ambos son actores dinamicos, el rebote de cada uno dependerá del material del otro. Por el contrario, una restitutio de uno, devuelve la totalidad de la fuerza (el objeto que rebota lo hace con la misma fuerza que impacto, amen de que pierda fuerza por factores de ''Damp'' (son atenuaciones de la velocidad similar al rozamiento)
    en nuestro ejemplo, no tiene mucha gracia ver rebotar (o no) un objeto sobre un plano. Avancemos un poco, aseguremonos de que el plano restituya la fuerza del impacto. dejemos la restitutio en uno.
    Que sucederia si inclinamos el plano solo un poco? a probar!!! (P-key) (observamos...) (ESC-key)





    Que raro... el testigo reboto a un lado, paso en caida libre y desapareció del campo visual... indefinidamente. Que le sucedió? se murió? o esta justo ahí, solo que no lo vemos?
    La triste realidad es que nuestro testigo se cayo al espacio infinito, y caera eternamente hasta que detengamos el engine.
    Los actores respetan rigurosamente sus restricciones, y si no hay nada que detenga su caida, la omnipresente gravedad artificial del Blender lo atraera por siempre. El Blendermaniaco debera tener en consideracion para sus juegos y simulaciones que LOS LIMITES DEL ESCENARIO DEBERA PONERLOS EL, YA QUE SINO SUS ACTORES SE PERDERAN EN UNA CAIDA INFINITA O VAGARAN POR AREAS RESTRINGIDAS, estropeando la dinamica..
    Ya siento que se están aburriendo de pelotas que rebotan. Que más se puede hacer con esto?
    Reemplazemos el plano que utilizamos de piso por un cubo (pueden borrar el plano y crear un cubo que contenga a nuestro actor testigo o extrudear el plano hacia arriba, da lo mismo). para aplicar texturas (no en el material!) asegurarse que la normal de todos los planos/caras del cubo estén mirando hacia adentro, ya que por defecto el BE solo dibuja las caras del lado de la normal. si no saben hacer eso, es material de otro tutorial (no mio).
    En principio si ejecutamos el BE la única diferencia con lo anterior es que si el plano sobre el que rebota el actor esta inclinado, el ector terminara rebotando entre el suelo y la pared. Habria que utilizar otras herramientas para dessarrollar un poco el ejemplo, por ejemplo los fabulosos LOGIC BRICK'S que encontraremos aquí





    Pero primero (siempre hay un pero?) repasemos la logice de los logic brick's :
    constan de sensores SENSORS, controladores CONTROLLERS y actuadores ACTUATORS, y hay que pensar más o menos así: yo quiero ''controlar'' una situación dinámica, que cumple condiciones exactas pero que en conjutno e impredecible al milimetro, cuanto más compleja la escena, más difícil es saber que sucedera a cada instante, y si finalmente los acontecimiento estarán dentro del abanico de posibilidades que intente probocar.(ganar, perder, sumar puntaje, una movimiento creible del protagonista, etc.), y para conseguirlos tenemos que saber cual es la situación a cada iteracion (o instante), información que recolectamos con los sensores. Tenemos que procesarla (por ejemplo la IA de los malos, porque si son muy tontos, el juego también lo es) aun las decisiones más sencillas deben ser tomadas, o no se producen las acciones deseadas. y finalmente, cuando sucedió lo que esperabamos y decidimos que había que hacer, hacerlo. Para eso son los actuadores.
    Pueden experimentar hasta el cansancion con ellos, no producen ningún daño permanente.
    comenzamos con lo más sencillo: aplicarle una fuerza continua a nuestro testigo para ver que sucede.
    precionando los botones Add se agrega debajo un logic brick, agregemos uno de cada uno





    En este caso utilizamos los LB que aparecen por defecto:
    Sensor Always (siempre) este sensor siempre emite el mismo pulso. el pulos es lo que activa el controlador, y si la condicion se cumple, entonces genera un pulos (o uno o valor positivo o true) que activa todos los controladores que estén a su salida.. En este sensor el prime botón (que esta presionado) repite el pulos en cada iteracion, en tanto que si estuviera no-presionado entonces solo emitiria un pulos la primera iteracion, al comienzo de la simulación, y permaneceria ocioso el resto del tiempo. con el puntero del cursor unimos el puntito amarillo del sensor con el puntito amarillo del controlador (si lo hicimos exitosamente veremos una línea negra que transmitira nuestro pulos positivo al controlador), y lo mismo con el punto amarillo de salida del controlador y el de entrada del actuador. ya está casi listo.
    Controller AND (''Y'') este controlador es el más rudimentario. su ''condicion'' a controlar es que todos los sensores que estén a su entrada estén enviando pulos al mismo tiempo. Es un operador lógico muy común. Si todos los sensores que están a la entrada (puede haber más de un sensor conectado a un controlador, más de un controlador conectado a un sensor, etc.) envian ''uno'' (siempre hablamos en cada iteracion) entonces el controlador AND envía un ''uno'' a todos los actuadores que estén a su salida. genéricamente seria
    si recibo pulos 'positivo' de todos los sensores conectados a mi entrada (sensor 1 “Y” sensor 2 “Y” sensor 3 “Y” ... “Y” sensor n) entonces enviar un pulos 'positivo'a todos los actuadores que estén a mi salida.
    Actuator Motion(“movimiento”) este actuador es el que utilizamos para aplicar desplazamientos y rotacions que no estén previamente grabados (existe el actuador IPO), aplicando fuerzas, fuerzas de rotación (torque), velocidades, velocidades de rotación y desplazamientos y rotaciones especificas. Las pequeñas letras “L” de la derecha en cada opción indican si se debe aplicar LOCALMENTE o GLOBALMENTE. En el primer caso, la rotación en el eje 'X' se producira CON RESPECTO AL EJE 'X' DEL OBJETO, en cambio en el segundo caso la rotación se aplicara RESPECTO DEL EJE 'X' DEL UNIVERSO DEL ENGINE, es decir los ejes ortogonales que utilizamos como referencia al editar. Si la L esta presionada, es local.
    Otra observación más: la aplicación de fuerzas y velocidades a objetos que no sean actores dinamicos no tendrán ningún efecto, ya que (nunca me canso de repetirlo) NO SON EVALUADOS POR EL ENGINE. se los considera perfectamente fijos en el unverso, y solo se desplazan a posiciones on en distancia/angulos especificos. Una fuerza aplicada, para calcular un movimiento debe tomar en cuenta la masa y el rozamiento del objeto, y en este caso no hay una ni otra.
    En el LB>>Motion agregemos una fuerza (Force) en la primera el primer casillero de -2.00 (menos dos) quitando la “L”. La primera columna corresponde al eje X, la seguna al eje Y y la tercera al eje Z. Si terminaron de conectar el sensor con el controlador y este con el actuador, entonces al comenzar el engine, el actor debería tender a aumentar su desplazamiento en el eje X del Blender. probar con distintas fuerzas en distintos ejes, y también alterar la restitution y friction de los materiales, y observar.
    Quizás ya hayan notado que nuestro testigo se desplaza y rebota alegremente, pero no gira. no rueda. siempre permanece “parado”. Si lo que queremos es un hombrecito que corre, estaría bien. pero si güera una bola del pinball, o una rueda de auto o bola de bowling, entonces necesitariamos que ruede como si fuera de verdad. para que esto suceda, precionar en el actor correspondiente el botón “Rigid body”(cuerpo rigido). y probar de nuevo el engine.
    Fantastico! ahora se pueden tirar bolas con efecto en un juego de pool, o jugar a la bolita (tradusca canicas). por ahora ignoraremos todos los botones que aparecieron al precionar “Rigid body”, sigamos una línea de pensamiento por ves.
    No voy a transcribir aquí la lista completa de logic bricks con sus características, con presionar el botóncito blanco en donde esta la qtiqueta con el tipo de logic brik se desplegara un menú con todos los disponibles, según estemos en sensores, controladores o actuadores. En cualquier caso, podemos renombrarlos presionando en su nombre (por defecto sensor,sensor1, etc. esto es muy útil cuando trabajamos con python o para poder gestionar la telaraña de bloques interconestados), y se pueden borrar presionando “x” que tienen a su izquierda en cada uno.
    Para ir terminando este tutorial iniciatico, vamos a tomar el control con el teclado (no es eso lo que querian?)
    en primer lugar, configurar los LB del actor así:





    probarlo. ya pueden controlar un actor en forma rudimentaria.
    practiquen y diviertanse hasta la segunda entrega.
    TIP: prueben colocando más de un actor. prueben aplicandole rotación u otros en lugar de fuerza. prueben conectar la salida de un controlador de un actor a la entrada de el actuador de otro (para eso presionar los botones “Sel” que se encuentran arriba de los LB y seleccionar ambos actores al mismo tiempo)



    CJD (Claudio J. Dobniewski)
    Buenos Aires, Argentina en marzo 6 de 2003












    Última edición por 3dpoder; 14-10-2007 a las 00:32
    Si vas a subir un trabajo al foro, hazlo adjuntando la imagen, archivo, vídeo o lo que sea, no publicando enlaces de otros sitios. http://www.foro3d.com/f45/forma-correcta-de-insertar-imagenes-y-archivos-en-nuestro-mensaje-98930.html

    |Agradecer cuando alguien te ayuda es de ser agradecido|

Temas similares

  1. Respuestas: 4
    Último mensaje: 23-01-2017, 19:18
  2. 3ds Max Curso de iniciacion al Blender Bilbao
    Por Zuria en el foro Educacion 3D, escuelas y universidades
    Respuestas: 0
    Último mensaje: 31-01-2012, 19:34
  3. Curso de iniciacion a Blender en Barcelona
    Por abacas en el foro Eventos, Festivales, Concursos, Encuentros...
    Respuestas: 1
    Último mensaje: 30-08-2011, 14:30
  4. Blender Iniciacion a blender y primeros problemas
    Por Mackbay en el foro Problemas con Programas
    Respuestas: 1
    Último mensaje: 06-09-2010, 18:42
  5. Blender Curso iniciacion a Blender en revista Todo Linux
    Por Neo_one en el foro Noticias
    Respuestas: 0
    Último mensaje: 04-07-2009, 11:12

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •