- Home /
Hinge joint connected body scripting issues
Hello, I have been trying for some time now to assign a rigid body to a hinge joint that is created when one object collides with another. At the moment i have just a simple cube fired into a roof, using onCollision.enter i seem to have managed to create a hinge joint on the cube at what appears to be the contact point between the cube and roof(top), (another joint appears higher in the scene for some reason as well). However i cannot assign a connected body and have tried several things and have read many posts about it but cannot get these suggestions to work. Below is some of the code with lines after the // representing tried attempts:
function OnCollisionEnter(theCollision : Collision){
//if collision is with gameobject top log event
if(theCollision.gameObject.name == "top"){
Debug.Log("roofhit");
}
var otherBody = gameObject.Find ("top");
var contact : ContactPoint = theCollision.contacts[0];
var pos : Vector3 = contact.point;
if(theCollision.gameObject.name == "top"){
//using this creates a hinge but no connected body
gameObject.AddComponent(HingeJoint);
hingeJoint.anchor = pos;
hingeJoint.connectedBody = otherBody.rigidbody;
//hingeJoint.connectedBody = gameObject.name == "top";
//hingeJoint.connectedBody =
}
}
Any help would be greatly appreciated. Thanks in advance.
UPDATE: so mere minutes after posting i have solved the connected body problem, however it turns out the joint is being created way above the contact point and not at the point where the cube hits the roof. Any ideas??
Answer by MultivariousDev01 · Nov 29, 2016 at 04:55 PM
You most likely figured this out long ago, but Hinge Joint's anchor property is defined in local space, and I believe your contact pos there is in world space. That would explain your offset...
Sorry that nobody answered you for over three years.
Your answer
Follow this Question
Related Questions
Hinges in an imported mesh 0 Answers
Side scroller, Scripting Bike Controls using hinge joints 0 Answers
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
How to effectively control hinge joint motors (scene file included) ? 4 Answers
How to make an arm with multiple, controllable joints? 2 Answers