- Home /
LookAt(target) Not Always Working... Any Ideas?
Hi guys and gals,
I am using the following code for my billboards. The thing is, it's a two-player, split-screen game and even though I have everything in the correct layers, (I have a separate billboard for each player's camera), sometimes the objects get skewed/warped. Any ideas why this could be happening?
var target : Transform;
// Rotate the camera every frame so it keeps looking at the target
function Update()
{
transform.LookAt(target);
}
This is actually the correct method for billboards, rather than just using LookAt: http://www.unifycommunity.com/wiki/index.php?title=CameraFacingBillboard
Actually, got it working now... just for some reason it's facing the opposite direction. lol. I'll work it out ... damned custom planes!!!!
If you keep on deciding to use LookAt, well, look at the documentation a little more carefully. LookAt has a worldUp argument for you to specify the direction and orientation fo the LookAt method itself. By default, I think world up is Vector3( 0, 1, 0 ), so you would have to change this accordingly to flip the orientation. The Z axis is what is used to 'look at' the target as well.
@Eric5h5: Well, it's a matter of what behaviour you need / want since both methods have advantages / disadvantages.
The LookAt-method produces stable billboards when you rotate your camera a lot. They behave a bit strange when you come closer to the billboard since the direction is relative to the camera's position.
The cam-direction-method is better in cases where you move your camera a lot. However if you have a quite large 3D-sprites or you're very close to the billboard it also behaves strange when you rotate the camera because the edges will come closer or move further away.
So if you have a fix cam direction (in top-down-view games or something like warcraft3) use the "cam-direction-method" since you mostly move the camera but don't rotate it.
In FPS games there's no general way since it depends on the position of the billboard. The cam-direction-method is the one that can be optimised best since all billboard need the exact same rotation. The LookAt method requires you to calculate an individual rotation for each billboard.
Your answer
Follow this Question
Related Questions
Bone lookat do not work Help! 1 Answer
Lose connection to dragged variable when making prefab 1 Answer
Finding the closest gameobjects in a radius 1 Answer
lookAt on Y axis only 1 Answer
"look at target" problem 1 Answer