- Home /
move player to the grabPoint
Hello! I got a great problem with this...Making a grabPoint i got it working, but the player is a little far from grabPoint when grab the point...
I used this to get it on the right height(same of the grabPoint):
transform.position.y = collision.transform.position.y;
Ok, that is working. But Playermodel is a little far from the grabPoint in the axis Z (of the player)... Well i would do the same thing in the Z axis, but it doesnt work.
Cause it is about global axis, i need local(some grabPoint would be rotated and that`s the problem)...maybe something about localPosition would help, but not with the same sintax...i tried it before...
[EDIT] I'm using this code:
function OnTriggerEnter(collision : Collider) {
if (collision.gameObject.tag == "grabPoint") {
grab=true;
nogravity=true;
transform.position.y = collision.transform.position.y;
transform.position.z = collision.transform.position.z;
transform.eulerAngles.y = collision.transform.eulerAngles.y;
}
}
Please help me!!!
Thank you Guys! =D
Answer by Loius · Oct 05, 2010 at 07:46 AM
You need to add an offset to the player's new position.
Put a GrabPoint down somewhere, and see exactly where the player should be in relation to it to be visually correct. Then put that value into the var offset : Vector3 below:
transform.position = collision.transform.InverseTransformPoint( offset );
InversetTransformPoint takes rotation into account, so as you rotate a grabPoint, it should rotate the snap-to position properly.
If different GrabPoints can have different offsets, you may need to make offset a member of GrabPoint objects rather than a global / magic number.
Answer by Mike 3 · Jun 16, 2010 at 06:02 PM
you could just use localPosition instead of position for things you want in local space to an object
alternatively, you could use transform.forward to get the local forward vector of a transform
localPosition isn't working too. With localPosition I got greater problem than before. And transform.forward got the same old problem... It isn't working...=(
it may be best to post the code you're trying then, otherwise it's just guesswork
Your answer
![](https://koobas.hobune.stream/wayback/20220613062247im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Vector 3 - move on only one axis 0 Answers
Change position of camera on scene load? 1 Answer
SmoothDamp not working? 1 Answer
Leap Motion, grab and rotate object 1 Answer