さけのさかなのブログ

同人ゲーム開発やってます。Unity使ったりする。

ビルボード

ふつうのビルボード

 3Dカメラに対して常にSpriteが正面を向くようにする

gist.github.com

鉛直なやつ

 Spriteが鉛直に立っている状態を保ちつつ、カメラの方を向くようにする

    [DisallowMultipleComponent]
    [ExecuteInEditMode]
    [RequireComponent(typeof(Renderer))]
    public class Pillar : MonoBehaviour
    {
        void OnWillRenderObject()
        {
            var cameraAngle = Camera.current.transform.forward;
            var angle = Mathf.Atan2(cameraAngle.x, cameraAngle.z) * 180f / Mathf.PI;
            transform.rotation = Quaternion.Euler(0f, angle, 0f);
        }
    }