[過去ログ] 【3Dゲームエンジン】Unity質問スレッド31 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
663: 2017/10/08(日)13:02 ID:fTBqzW3p(1) AAS
>>658
こんな感じか?
public class RotationFollower : MonoBehaviour {
public Transform target;
private Quaternion prev;
void Start () {
if (target != null) {
prev = target.rotation;
}
}
void Update () {
if (target != null) {
var rot = target.rotation * Quaternion.Inverse (prev);
transform.rotation = rot*transform.rotation;
prev = target.rotation;
}
}
}
重要なのはQuaternionの掛け算は、前後関係入れ替えると回転の適用順が逆になり、結果が違うということ。
まずワールド座標系でAの回転量だけ回す、次に回転後の座標系でBの回転を適用する必要がある。
transform.rotation = rot*transform.rotation;
↑この行を
transform.rotation *= rot;
に変えて挙動を比較してみると結果の違いが観測できるだろう。
上下前次1-新書関写板覧索設栞歴
あと 339 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.012s