Multiple joints on GameObject
Hi Guys,
I am trying to add multiple joints to an object on collision. But it only Adds one joint to each object. So for example if there is a central sphere with 6 other neighbouring spheres the central sphere should have 6 joints connected to it.
This is the bit of code that I have. It seems to be creating the remaining 5 joints, but in the inspector it says that no rigid body is attached to the created joint. There is only 1 joint that displays a connected rigid body.
Any help would be great!, thanks
  private void OnCollisionEnter(Collision collision)
         {
  
                 if (AP.addSpringJoints)
                 {
                     
                     AddFixedJoint(collision);
                 }
 
  
         }
 
  
         private void AddFixedJoint(Collision data)
         {
          
                 gameObject.AddComponent<FixedJoint>();
                 gameObject.GetComponent<FixedJoint>().connectedBody = data.rigidbody;
                 gameObject.GetComponent<FixedJoint>().breakForce = Mathf.Infinity;
                
 
             }
 
   
Answer by UnityCoach · Oct 08, 2018 at 02:46 PM
GetComponent will always return the first FixedJoint you added. Try this :
 private void AddFixedJoint(Collision data)
 {
     FixedJoint joint = gameObject.AddComponent<FixedJoint>();
     joint.connectedBody = data.rigidbody;
     joint.breakForce = Mathf.Infinity;
 }
Very nice, I didn't know that about GetComponent. Thanks!
Your answer
 
 
             Follow this Question
Related Questions
how do i collide and kill the enemy while pressing space Unity 5 C# 2 Answers
Collision Detection between two different Prefabs doesnt work 1 Answer
If Statement not working properly - Comparing game objects 0 Answers
Invisible objects appear after collision 2 Answers
Unity physics Help Implementing Real Life Physics in Jumping System C# 2 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                