
クォータニオン
Tutorial
intermediate
+0XP
5 mins
(11)
Unity Technologies

クォータニオンシステムを利用してゲームオブジェクトの回転を管理する方法を学びます。
Languages available:
1. クォータニオン
MotionScript クラスのコード
using UnityEngine;
using System.Collections;
public class MotionScript : MonoBehaviour
{
public float speed = 3f;
void Update ()
{
transform.Translate(-Input.GetAxis("Horizontal") * speed * Time.deltaTime, 0, 0);
}
}
LookAtScript クラスのコード
using UnityEngine;
using System.Collections;
public class LookAtScript : MonoBehaviour
{
public Transform target;
void Update ()
{
Vector3 relativePos = target.position - transform.position;
transform.rotation = Quaternion.LookRotation(relativePos);
}
}GravityScript クラスのコード
using UnityEngine;
using System.Collections;
public class GravityScript : MonoBehaviour
{
public Transform target;
void Update ()
{
Vector3 relativePos = (target.position + new Vector3(0, 1.5f, 0)) - transform.position;
Quaternion rotation = Quaternion.LookRotation(relativePos);
Quaternion current = transform.localRotation;
transform.localRotation = Quaternion.Slerp(current, rotation, Time.deltaTime);
transform.Translate(0, 0, 3 * Time.deltaTime);
}
}
SomeClass クラスのコード
using UnityEngine;
using System.Collections;
public class SomeClass : MonoBehaviour
{
void Start ()
{
transform.rotation = Quaternion.identity;
}
}