Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - AngelFG

#1
Scripting / RigidBody en jerarquías...
Marzo 03, 2020, 11:04:16 PM
Hola a todos.
 
A ver si me podéis ayudar...
 
Tengo dos gameobjects con RigidBody y collider asociados, movidos por la física.
 
A es el padre y B es el hijo en la jerarquía, situado encima del objeto A (pos Y más  arriba)
 
Ya sé que el rigidbody del hijo no se actualiza aunque se mueva el padre.
 
La situación es la siguiente:
 

  •    El objeto A se mueve de izquierda  a derecha de forma continua empleado su rigidbody y método MovePosition


  •    El objeto B se mueve con el objeto A, manteniendo su posición relativa.


Si en el objeto B hago esto en el método FixedUpdate:
 



   
      Debug.Log("Transform:" + transform.position + "- RigidBody" + rb.position);
   

[/quote]
 
compruebo que su rigidbody.position no se mueve, pero sí su posición GLOBAL (transform.position). Su posición relativa (transform.localPosition) no se mueve.Hasta aquí lo entiendo, todo correcto. Ahora quiero mover el objeto B al pulsar una tecla, pero que siga desplazándose al mismo tiempo, por lo que tengo este código asociado a B:
 
 



   
       
   
   
      private void FixedUpdate()
          {
            float hor = Input.GetAxis("Horizontal") * 50 * Time.deltaTime;
             float ver = Input.GetAxis("Vertical") * 50 * Time.deltaTime;
   
   
              Debug.Log("Transform:" + transform.position + "- RigidBody" + rb.position);
              rb.MovePosition(transform.position + rb.transform.forward * ver + transform.right * hor);
          }
   
   
       
   

[/quote]
 
Esto da como resultado que el objeto B ya no se mueva con el padre y que sólo se mueva por la pulsación de las flechas (ejes virtuales).
 
 
#2
Recursos / Manual Unity 3D
Julio 07, 2019, 02:03:42 AM
Buenas noches a todos.
 
Como aporte a  esta comunidad estoy escribiendo un manual de Unity para los alumnos del Ciclo Superior de Programación de Dispositivos Móviles.
 
Aún no está acabado, pero ya hay secciones bastante interesantes para ver, como la de materiales y animación.
 
Espero que os sirva.
 
https://wiki.cifprodolfoucha.es/index.php?title=Programacion_de_videojuegos_con_UNITY3D
 
Un saludo.
 
 
 
 
#3
Buenas.
 
Llevo dándole vueltas a este tema y no lo tengo claro (o sí :) ) y por eso no me cuadra alguna cosa.
 
 
 


  •    En teoría, cuando tenemos un objeto con un collider sin RigidBody es Static RigidBody y es necesario marcarlo como 'Is kinematic' cuando queremos aplicar una animación sobre él, ya que con esa opción marcada podemos hacer uso de su componente Transform para moverlo.


  •    También está puesto que si un GameObject quiere ser manejado utilizando 'fuerzas' no podemos hacer uso de su componente Transform para moverlo.


Con esas dos condiciones, ¿ cómo se hace para tener un GameObject que  se mueva con el motor de físicas (por su RigidBody) pero que tenga una animación asociada cuando lo movemos ?
 
Acabo de mirar el juego que tiene Unity para formación (unity zombie toys) y en él sus protagonistas tienen animación pero no están marcados como 'Is Kinematic' y se mueven por su RigidBody. ¿ Esto no contradice la condición de que si se hace uso del Transform hay que marcar dicha opción ?
 
 
 
Gracias por la ayuda
#4
Presentaciones / Hola a tods
Febrero 12, 2019, 05:38:24 PM
Buenas.
 
Ya llevo un tiempo desarrollando juegos en Unity después de venir de LIBGDX.
 
 
 
Mucha documentación y muchos vídeos pero aún con dudas.