久方ぶりのチュートリアルお試し枠です。
今回はHolograms 210 5章 ビルボードを試します。
azure-recipe.kc-cloud.jp
3章,4章同様、同じページにまとめられていますが、一つ一つ確認します。
チュートリアルの通りに実装を進め、アプリをビルドしました。
動かしてみると、宇宙飛行士がどんなに回り込もうとこちらを見るようになります。
さて、コードを確認してみましょう。宇宙飛行士にアタッチしたコードは以下です。
・Billboard.cs
/// <summary> /// The billboard logic is performed in FixedUpdate to update the object /// with the player independent of the frame rate. This allows the object to /// remain correctly rotated even if the frame rate drops. /// </summary> private void FixedUpdate() { // Get a Vector that points from the Camera to the Target. Vector3 directionToTarget = Camera.main.transform.position - gameObject.transform.position; // Adjust for the pivot axis. switch (PivotAxis) { case PivotAxis.X: directionToTarget.x = gameObject.transform.position.x; break; case PivotAxis.Y: directionToTarget.y = gameObject.transform.position.y; break; case PivotAxis.Free: default: // No changes needed. break; } // Calculate and apply the rotation required to reorient the object and apply the default rotation to the result. gameObject.transform.rotation = Quaternion.LookRotation(-directionToTarget) * DefaultRotation; }
以前、以下の記事でカメラに対して正面を向かせ続けるコードを確認しました。
bluebirdofoz.hatenablog.com
これは更にX軸方向もフォローした他、Inspectorからの変更も可能にした改良版といったところですね。