|
Okay, forgive the crude illustration, but it's the best way to demonstrate my problem:
The black boxes are gameObjects, and the red dots are their transform's origin. Likewise the arrows demonstrate their transform's current direction/rotation. I want to find the difference in their x position, according to the bottom left gameObject's transform(red axis). In world coordinates, this would be a number greater than zero, but In my case it should return close to zero, if you get what I'm saying. Now I thought this would be very simple with transform.right like so:
I also tried:
Neither one gives the correct result. Any ideas? This one is driving me bonkers.
(comments are locked)
|
|
You need to convert the target object's world position to a relative local position, in relation to the source object. You can do this with InverseTransformPoint. For instance, attach this to object A (the bottom left object):
This means that "localPosB" now contains a vector which represent's object B's position in coordinates relative to object A's orientation and position. Then, you can get the difference in objectA's local X axis, by simply checking the x component of localPosB, eg:
Hope this works for you! Fantastic! This is exactly what I wanted! Thanks!
May 18 '10 at 12:53 PM
dhendrix
(comments are locked)
|


I don't get what you want to do here. You said you are looking for the difference in the x-coordinate. Do you mean position? Do you want to know how far the left object has to be moved along it's x-axis to be x-axis-aligned with the other object in world space? Or do you want to change the size of left object to match that of right object?
Ah yes, sorry about that. If you look at the two objects x position in world coordinates, you would find that the right gameObject has a higher value since it is further to the right. But if you tilt your head according to the bottom-left gameObject's red axis, you'll see that they have basically the same x position. How can I programmatically find this during runtime? Sorry for not being clear!
have you tried localPosition?