MRが楽しい

MRやVRについて学習したことを書き残す

公式チュートリアル「HOLOGRAMS 210 5章」を試してみる

久方ぶりのチュートリアルお試し枠です。
今回はHolograms 210 5章 ビルボードを試します。
azure-recipe.kc-cloud.jp

3章,4章同様、同じページにまとめられていますが、一つ一つ確認します。
チュートリアルの通りに実装を進め、アプリをビルドしました。
f:id:bluebirdofoz:20170620014710j:plain
動かしてみると、宇宙飛行士がどんなに回り込もうとこちらを見るようになります。

さて、コードを確認してみましょう。宇宙飛行士にアタッチしたコードは以下です。
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からの変更も可能にした改良版といったところですね。