Billboard is a drawing technology that automatically rotates a 2D polygon (mainly a square board) placed in a 3D space in real time so that it always faces forward according to the movement and orientation of the camera (player's viewpoint). This allows you to create the illusion that even though it is a smooth flat asset, it is a thick three-dimensional object when viewed from any angle.

Real-world analogy: A ``sunflower mask'' that always looks directly at the photographer.

The movement of a billboard can be compared to ``A production in which a person wearing a ``sunflower mask'' with a photo of their face constantly turns to face the cameraman as the photographer moves.''

  • Traditional (no billboard): A person wearing a mask is fixed upright, facing a certain direction (for example, north). When the photographer moves directly to the side (to the east) and tries to take a photo, the ``thick cardboard side'' of the mask becomes exposed, and it becomes obvious in an instant that it is a fake mask (the three-dimensional effect is completely destroyed).
  • Billboard solution: Apply the following rule to the masked person: ``Always use a sensor to detect the direction in which the cameraman is walking, and keep rotating your body so that you are completely facing the cameraman.'' As a result, no matter where the photographer moves or from what angle he looks through the lens, he will always be able to capture only a beautiful photograph of the face directly in front of the mask (texture of flames and smoke), completely concealing the fact that he is fluent.
Unity particle Billboard rotation logic concept

Figure: Conceptual image of a billboard that applies rotation calculation to always face directly according to the forward vector and position of the camera

Mechanism and operating principle

In Unity's Particle System Renderer, the default Render Mode is "Billboard". When the GPU executes the vertex shader, the local coordinates of each particle vertex are multiplied by the inverse matrix of the current "Camera View Matrix", ignoring the rotation of the parent object, thereby canceling out the rotation component and forcing the vertex transform to always be drawn completely parallel to the screen surface (or camera position).