- Home /
Drag rigidbody to crosshair
I am trying to let the player lift or drag a rigidbody like in the sample code 'DragRigidbody' with the difference of the object always moving and then stopping at the position of the crosshair with a distance to the player of 1. I modified the sample code so that the rigidbodys joint moves with the crosshair but for some reason the object itself is always slacking behind or doesn't realy allign with the desired position. Is there an effective way to get the object to the position but still having the physics joint active so that it doesn't slide and get stuck in other objects?
For the position of the crosshair I am using:
Ray = Camera.main.ViewportPointToRay (Vector3(0.5,0.5,0));
The distance:
springJoint.transform.position = ray.GetPoint(distance); //distance = 1.0
Can you post the values in your SpringJoint's parameters? For intance: The strength and such.
var spring = 50.0;
var damper = 5.0;
var drag = 10.0;
var angularDrag = 5.0;
var distance = 0.6;
var anchor = transform.TransformDirection(hit.rigidbody.centerOf$$anonymous$$ass) + hit.rigidbody.transform.position;
anchor = springJoint.transform.InverseTransformPoint(anchor);
springJoint.anchor = anchor;
springJoint.spring = spring;
springJoint.damper = damper;
springJoint.maxDistance = distance;
springJoint.connectedBody = hit.rigidbody;
Your answer
![](https://koobas.hobune.stream/wayback/20220613082050im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Enemies are moving aroung wildly 1 Answer
How do I get one object to point toward another using rigidbody physics? 2 Answers
How to influence the direction of an falling object by dragging? 1 Answer
DragRigidbody behavior attached to multiple rigid bodies causes problems 1 Answer
Drag area from HUD 1 Answer