内容へ移動
ユーザ用ツール
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
現在位置:
Home
»
wiki
»
Unity
»
Tips
»
093 Quaternionによる任意軸回転
トレース:
wiki:unity:tips:093
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 093 Quaternionによる任意軸回転 ====== ===== 概要 ===== Quaternionとは、XYZで軸を決めてWで捻る(ひねる)代物。 <code csharp> private Quaternion m_qBaseQuat; private GameObject m_Target; void Start() { m_qBaseQuat = gameObject.transform.rotation; } void Update() { if (m_Target != null) { Vector3 axisY = new Vector3(0, 1, 0); Vector3 dir = (m_Target.gameObject.transform.position - transform.position).normalized; float fRotY = Mathf.Atan2(-dir.y, dir.x); transform.rotation = m_qBaseQuat * Quaternion.AngleAxis( (fRotY * Mathf.Rad2Deg), axisY); } } </code> 例えばこれだと、m_qBaseQuatに起動時のQuaternionを保存しておいて、m_qBaseQuatから相対的にm_Target(標的)の向かって捻ることになる。 キャラを振り向かせたり、2Dのミニマップとかで表示する矢印とかに使える。
Permalink
wiki/unity/tips/093.txt
· 最終更新: 2016/02/03 13:40 by
step
ページ用ツール
ログイン
文書の表示
文書の先頭へ
印刷
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
oeffentlich