コガネブログ

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

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

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

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

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

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

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