Unityで簡単なスクリプトを使ってY軸のビルボードを実装したい!
概要
この記事では、Unityで簡単なスクリプトを使ってY軸のビルボードを実装する手順を掲載する。
ビルボードとは、簡単に描くと常にカメラの方を向く板ポリゴンのこと。
左がビルボード無し、右がビルボード有り。
コンシュマー機だとPS1~PS2の頃のゲームに頻繁も使われてた表現。
仕様書
環境
- Unity 2022.2.4f1
手順書
下記のスクリプトを作成して、任意のSquare
などのオブジェクトにアタッチする。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BillboardScript : MonoBehaviour
{
void Start()
{
}
void Update()
{
Vector3 p = Camera.main.transform.position;
p.y = transform.position.y;
transform.LookAt(p);
transform.Rotate(0, 180, 0);
}
}
まとめ(感想文)
Y軸のみのビルボードなのでカメラとの距離近くなると違和感(というか板感)が目立つ。
この板感もそれはそれで味があって良い気もする。
板感というか歪みを無くすにはZ軸もビルーボードする必要があるが、スクリプトのみでは簡単にできなそうだった。(私の能力不足)
今回はスクリプトでビルボードを実装してみた。シェーダーを使った実装方法もあったりするんだけども、それはまた別の記事で。