ぱふの自由帳

週2更新目指す技術ブログ。メインはUnity。最近、競プロ始めましたー!良ければフォローお願いします(`・ω・´)

【Unity2017.1】親オブジェクトの回転を無視したい!

はじめに

”親オブジェクトは回転させたいんだけど子オブジェクトは回転させたくない!”という方向けの記事です。

意外なことに、この方法の紹介記事が見当たらなかったので記事にしましたー。選択肢の一つとしてどうぞ!

Quaternion.Eulerを直接代入しよう!

子オブジェクトに以下のスクリプトをアタッチしてみましょう。

void Update(){
    gameObject.transform.rotation = Quaternion.Euler(x, y, z);
}

これで子オブジェクトの回転が親オブジェクトの回転に関係なく固定されるはずです。

注意:(x, y, z)にはWorld座標から見たオブジェクトのRotationを代入してください。 『World座標から見た』という意味が分からない方は、親オブジェクトを持たない状態でのRotationの値と考えてもらえれば良いです。

注意点?

gameObject.transform.rotationgameObject.transform.localRotationにしないようにしましょう。

おわり

一番最初に思いつきそうな単純な方法なのですが、なぜ記事がなかったのか...ぐぐーる力が無いのでしょうか...(。´・ω・`)