- Home /
newbie: drag a rigidbody with mouse
might be a dumb question, I'm trying to use the built-in script "Rigidbody.Drag":
void OpenParachute() {
rigidbody.drag = 20;
}
void Update() {
if (Input.GetButton("Space"))
OpenParachute();
}
It doesn't do anything of course, and I can't find anywhere the changes I need to make for the Object to be able to dragged with the mouse during the gameplay.
I've thought about changing the position of the Object with the mouse coordinates (Vector3) during "OnMouseDragged" function, but I don't know the saved variables for the mouse coordinates.
thanks in advance!
Edit: I might use help for 2D as well (if 3D is too complex).
Answer by EvilSquid · Aug 18, 2013 at 12:26 PM
I believe the Drag you're using is drag that is applied to rigidbodies, as in air resistance. If you're trying to make a rigidbody follow the mouse when clicked, then I think 2D is best. I've never done this before, so this will probably be inaccurate, but I would suggest making 2 private variables:
private float objectPositionX;
private float objectPositionY;
Then set the variable as the cursor's X and Y positions and then apply the variables into a transform. I'd use FixedUpdate() instead of Update() though, aas you're dealing with transformations.
Unfortunately my knowledge does not stretch to much else than the jist of how to do it, but I hope I helped shed some light on it :)
Answer by robertbu · Aug 18, 2013 at 02:47 PM
Get the DragRigidbody script:
Assets > Import Package > Scripts
It will be one of the scripts that comes in with this package. Attach the script to one object in the scene (i.e. you don't have to attached it to every object). By default, it does not drag object with the IsKinematic flag set.
Your answer
Follow this Question
Related Questions
"Launch" a rigidbody 3 Answers
How to properly convert mouse pos to world pos 1 Answer
Drag Rigidbody 2 Answers
How do you make a Rigidbody freeze the object position when not dragging? 1 Answer