コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】transform.position assign attempt for 'XXXX' is not valid. Input position is { NaN, 0.000000, 0.000000 }.

概要

transform.position assign attempt for 'XXXX' is not valid. 
Input position is { NaN, 0.000000, 0.000000 }.

transform 型の position や eulerAngles などの要素に
非数値を代入すると上記のエラーが発生します

var x = 0f / 0f;
transform.position = new Vector3( x, 0, 0 );

float 型の値が非数値かどうかを確認したい場合は float.IsNan 関数を使用します

if ( float.IsNaN( x ) )
{
    x = 0;
}