Quaternion.SetLookRotation

Unity3D 2022. 1. 26. 18:05
반응형

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{
    public GameObject spear;
    public GameObject player;

    // Start is called before the first frame update
    Vector3 dir;
    void Start()
    {
        dir = (player.transform.position - this.spear.transform.position).normalized;

        DrawArrow.ForDebug(this.spear.transform.position, dir, 5f, Color.blue, ArrowType.Solid);

        //DrawArrow.ForDebug(this.spear.transform.position, this.spear.transform.up, 5f, Color.green, ArrowType.Solid);

        /*
         * 
         *  Creates a rotation with the specified forward and upwards directions.
            The result is applied to this quaternion. 
            If used to orient a Transform, 
            the Z axis will be aligned with forward/ and the Y axis with upwards, 
            assuming these vectors are orthogonal. Logs an error if the forward direction is zero.
         * 
         *  지정된 정방향 및 위쪽 방향으로 회전을 만듭니다.
            결과는 이 쿼터니언에 적용됩니다. 
            변환 방향을 지정하는 데 사용되는 경우 이러한 벡터가 직교한다고 가정하면 
            Z축은 forward/에 정렬되고 Y축은 위쪽으로 정렬됩니다. 정방향이 0이면 오류를 기록합니다.
        */

        //var q = new Quaternion();
        //q.SetLookRotation(dir);
        //this.spear.transform.rotation = Quaternion.Lerp(this.spear.transform.rotation, q, 0.5f);

    }

    // Update is called once per frame
    void Update()
    {
        var q = new Quaternion();
        q.SetLookRotation(dir);
        this.spear.transform.rotation = Quaternion.Lerp(this.spear.transform.rotation, q, 1f * Time.deltaTime);
    }
}

 

참고 

https://docs.unity3d.com/ScriptReference/Quaternion.SetLookRotation.html

반응형

'Unity3D' 카테고리의 다른 글

SphereCast & LayerMask  (0) 2022.03.31
HudText (damage text), world to screen position  (0) 2022.02.17
도전 5번 코드 입니다  (0) 2022.01.26
Overview UIBuidler 1.0.0-preview.18  (0) 2021.11.08
Day - 11. UI Toolkit 살펴 보기 with UI Builder  (0) 2021.11.08
: