ユーザ用ツール

サイト用ツール

wiki:unity:tips:093

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
wiki:unity:tips:093 [2014/12/28 09:33]
127.0.0.1 外部編集
— (現在)
ライン 1: ライン 1:
-====== 093 Quaternionによる任意軸回転 ====== 
- 
-===== 概要 ===== 
-Quaternionとは、XYZで軸を決めてWで捻る(ひねる)代物。 
- 
-<code csharp> 
-private Quaternion ​ m_qBaseQuat;​ 
-private GameObject ​ m_Target; 
- 
-void Start() 
-{ 
- m_qBaseQuat = gameObject.transform.rotation;​ 
-} 
- 
- 
-void OnUpdate() 
-{ 
-    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.1419759206.txt.gz · 最終更新: 2015/01/06 14:17 (外部編集)

oeffentlich