- Home /
Vector Alignment and Spacing
I have a vector3 I created from an object that the player can rotate around without rotating the object. I have a second gameobject that I would like its Vector.up constantly looking down the first objects rotatable created vector. So basically i want to be able to rotate my created vector around acting like an arm for the second object, while the second objects up is constantly facing the first. Thanks.
Answer by aldonaletto · Sep 08, 2012 at 05:47 AM
Supposing that the script is attached to the first object, drag the second object to the field satellite in the script below:
var vector: Vector3; your rotatable vector var satellite: Transform; drag the second object here
function Update(){ // move satellite to the vector tip: satellite.position = transform.position + vector; // orient up side of satellite to the first object: satellite.rotation = Quaternion.FromToRotation(Vector3.up, -vector); }
It worked perfectly, is there any way to align the satellites z-axis so that its always looking the same direction of the origins z-axis and still have the same functionality?
let Aldo have a sleep-in, for God's sake! :)
I believe the LookAt function may solve what you further ask .. check the doco.
I used the LootAt function and tried to restrict it to look down the zaxis of the origin gameobject which works, until I begin to rotate my satellite around it and then its zaxis just kinda floats in any direction it wants, not being restrained to the origins axis, Any help would be appreciated. Thanks
I don't know if I correctly understood what you wanna do, but suppose that you could try the following:
function Update(){ // move satellite to the vector tip: satellite.position = transform.position + vector; // orient satellite's Z and Y axes: satellite.LookAt(satellite.position + Vector3.forward, -vector); }According to the docs, this should make the satellite forward axis parallel to the world Z axis, while keeping its up side turned to the first object - but I don't bet my life on this, since LookAt(position, upDirection) has disappointed me a couple of times in the past.
Your answer
Follow this Question
Related Questions
Changing the forward rotation for LookAt 2 Answers
SphereCast help 1 Answer
Offset raycast by specific amount 1 Answer
Minimap arrows 0 Answers
Slowly Rotate to Look at 1 Answer