クォータニオン

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;
    }
}

Complete this Tutorial