How can I get a quad to face the camera?

I’m trying to create a billboard image for an enemy, and so far I’ve tried using the built-in Quad mesh with a texture to it. The problem is that the Quad’s z-axis is in the opposite direction to the image, which means that as it rotates to “face” the camera, I won’t see it. Is there a quick way to fix this? Here’s a pair of images showing my problem, which is not the texture itself:



As you can see, the troll face has not rotated to face the camera.

EDIT: my code is quite simply as follows, simply because I thought it would be that simple.

public class Billboard : MonoBehaviour {
	public Transform targetCamera;		// this is the camera it faces
	// Update is called once per frame
	void Update () {

You basically need to get the point facing away from it to look at. This is the code I use to make this work (unoptimized).

Vector3 lookPoint = transform.position - target.position;
lookPoint.y = target.position.y;

Another thing you can do is parent the quad to an empty gameObject, then manually rotate the quad to compensate for the LookAt error, and use LookAt with the parentGameObject.

You could try transform.LootAt()

I’ve just found a quick-and-dirty way to solve this: use a cube and scale it so one side is of zero length.

If somebody can tell me a better way, I’m all ears!

EDIT: Deacon’s answer is correct.

Easiest I found goes :

transform.forward = -transform.forward;

why do Unity quads not FACE THE CAMERA?

  1. Use GOOGLE

  2. Try something…

  3. Ask questions if you get stuck (post your code)