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 |