「毎日Unity」の技術ブログ

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

【UnityC#】eulerAnglesをClampする方法

eulerAnglesをClampする方法を残しておくことにしました。

[ 方法 ]

下記はtransform.eulerAngles.xの範囲を-45から45にClampしています。

Vector3 EulerAngle = transform.eulerAngles;
float EulerAngleX = EulerAngle.x;// 0 ~ 360

EulerAngleX = Mathf.Repeat(EulerAngle.x + 180, 360) - 180;// -180 ~ 180 に変換
EulerAngleX = Mathf.Clamp(EulerAngleX, -60, 60); // -60 ~ 60 にClamp
EulerAngle.x = EulerAngleX;

transform.eulerAngles = EulerAngle;

「-60」と「60」の部分を変えればClampする範囲を変えれます。

[ 参考文献 ]

qiita.com
nekojara.city