Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Configurable Joint...

Iniciado por ramunda, Febrero 18, 2017, 12:42:42 AM

Tema anterior - Siguiente tema
Buenas noches a todos, agradecería una ayuda o sugerencia de como desactivar un Configurable Joint...
 
Como bien sabemos(i si no lo saben aquí lo expongo), el dichoso no lleva el tipico cuadradito de desactivame.
 
Bien la cosa es que el Enabled o el Setactive tampoco lo desactivan....
 
Y direis para que lo quiero desactivar, bien , pues sencillo , tengo un camion de carga que al acercarse al trailer se engancha a el ,y asi es pero no hay quien lo despegue de allí , la manera correcta seria desactivando dicho...Joint.
 
 
 
Agradecería una luz.
 
Muchas gracias de antemano.
 
P.D el Configurable joint esta en el remolque y lleva el body de el camión que lo arrastra.
 
 

Hola ramunda, podes pensarlo asi, en tener las propiedades de dicho Joint guardadas, entonces cuando lo queres agregas el componente y le pones dichas propiedades, cuando no lo queres le aplicas un Destroy y listo.

Febrero 18, 2017, 01:04:19 AM #2 Ultima modificación: Febrero 18, 2017, 01:06:55 AM por ramunda
Cita de: lightbug date=1487376065Hola ramunda, podes pensarlo asi, en tener las propiedades de dicho Joint guardadas, entonces cuando lo queres agregas el componente y le pones dichas propiedades, cuando no lo queres le aplicas un Destroy y listo.
   


Gracias lightbug , el tema del Destroy lo tenia presente , pero lo de que se pudieran guardar las propiedades.....no tengo ni idea de como hacerlo.
 
He intentado esto:
 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class joint : MonoBehaviour {
public GameObject trailer;
   
// Use this for initialization
void Start () {
   trailer.GetComponent<ConfigurableJoint> ().xMotion = ConfigurableJointMotion.Free;
   trailer.GetComponent<ConfigurableJoint> ().yMotion = ConfigurableJointMotion.Free;
   trailer.GetComponent<ConfigurableJoint> ().zMotion = ConfigurableJointMotion.Free;
}

// Update is called once per frame
void Update () {
   
}
}

 
Funciona como script aparte lo que hace es cambiar los valores x,y,z y lo deja en free loq eu hace es desenganchar el remolque , lo malo es cuando reactivo el script reponiendo las x,y,z en locked...es un completo desastre...
 
 

Febrero 18, 2017, 01:17:12 AM #3 Ultima modificación: Febrero 18, 2017, 01:17:46 AM por lightbug
Ah no sabia eso, a lo que me referia con guardar las propiedades: si cuando creas un Joint de esos vos tocas por ej 2 de las propiedades, cruciales para tu caso P1 y P2. Entonces guardas esas propiedades en tu script. Luego cuando te reenganchas pones el addcomponent y despues getcomponent<ConfigurableJoint>().Prop1 = P1 , y lo mismo con P2.
 
Ojo no se si hay una mejor manera de hacerlo, fijandome por ahi la mayoria los destruyen.
 
 
 
 
 
 

Febrero 18, 2017, 01:20:40 AM #4 Ultima modificación: Febrero 18, 2017, 09:40:36 AM por pioj
Cita de: lightbug date=1487377032Ah no sabia eso, a lo que me referia con guardar las propiedades: si cuando creas un Joint de esos vos tocas por ej 2 de las propiedades, cruciales para tu caso P1 y P2. Entonces guardas esas propiedades en tu script. Luego cuando te reenganchas pones el addcomponent y despues getcomponent<ConfigurableJoint>().Prop1 = P1 , y lo mismo con P2.
   
   
      Ojo no se si hay una mejor manera de hacerlo, fijandome por ahi la mayoria los destruyen.
   
   
      Intentare lo que me comentas compañero, de antemano, Gracias , cuando tenga la cosa arreglada lo posyeare para futuras dudas!!, mil gracias.
   


 

Etiquetas: