- Home /
How to move an object a fixed distance along one of its axis
A newbie question: In my Update function I want to move a gameObject along one of its axis, by a fixed distance (its own width), irrespective of its World rotation transform.
The value against which I check the gameObject's width to stop the translate should be the object's own transform.position.x
but this value varies depending on the gameObject's World rotation transform.
Is there a way to extract the object's local transform.position.x
ie: relative to itself? Or is there a better way to stop the translate loop at a given value?
This script is dynamically attached to game objects of various dimensions and positions, so the given value has to be from the object's own transform.
Answer by Memige · Sep 16, 2013 at 05:23 PM
I'm not entirely sure this answers your question, but hitting the low hanging fruit first: You can access an entity's local relative data by using
transform.localPosition
Some additional notes that may help you: You can also get your object's relative axes by using the following:
transform.forward; //local Z Axis
transform.right; //local X Axis
transform.up; //local Y Axis
Yes, transform.localPosition
gives the transform values relative to a parent, but if the object is not parented, it is the same as World transforms.
So if I orient the object's parent in the world, the translate will be constant. So that works fine, thanks.
But then it seems that the width of my object which I get from GetComponent($$anonymous$$eshFilter).mesh.bounds.extents.x
doesn't work as a limit anymore...
Your answer
Follow this Question
Related Questions
Translate and rotate at the sametime problem 1 Answer
Moving objects together without parenting 5 Answers
Single Joystick Movement 0 Answers
How to rotate the camera around an object 2 Answers
Local Third Person Movement based off Camera Rotation 0 Answers