「毎日Unity」の技術ブログ

開発で役立つ情報を発信する

【Unity】"Look rotation viewing vector is zero"というエラーが出た時の解決方法

UnityEditorのコンソールに"Look rotation viewing vector is zero"というエラーが出た時の解決方法を記事にしました。

[ 原因 ]

Quaternion.LookRotationの第一引数にVector3.zeroを入れてしまうことが原因です。Quaternion.LookRotationは簡単に説明すると、オブジェクトを第一引数に入力した方向ベクトルに向ける関数です。入力した方向ベクトルが0だと有効なクォータニオンを構築することができずエラーが発生してしまうようです。

[ 解決方法 ]

オブジェクトを回転量を0にしたい時は、下記のようにオブジェクトの回転にQuaternion.identityを代入しましょう。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ScriptTest : MonoBehaviour
{
    void Start()
    {
        //これだとエラーが発生する。
        //transform.rotation = Quaternion.LookRotation(Vector3.zero, Vector3.Up);

        //これだとエラーに発生しない。
        transform.rotation = Quaternion.identity;
    }
}