Unity 2D로 적의 방향을 향해
1.0 목적
Unity 2D로 게임을 만들 때, 물체를 적과 같은 특정 물체의 방향을 향하게 하는 방법입니다. (아래 이미지처럼)
여러가지 방법이 있다고 생각합니다만, 1번 심플하다고 생각되는 방법을 망비록으로서 기사합니다.
이번에는 스크립트로 구현합니다.
2.0 Unity 3D에서는
3D에서는 LookAt 함수가 있으며, 이 함수를 사용하면 쉽게 지정한 객체로 방향을 바꿀 수 있습니다.
3.0 Quaternion 클래스
Unity에서는 회전을 취급하기 위한 Quaternion(쿼터니언)이라는 클래스가 준비되어 있습니다.
4.0 FromToRotation 함수
Quaternion 클래스에는 FromToRotation 함수가 있습니다. 인수는 Vector3의 fromDirection(향하고 있는 방향으로부터)과 toDirection(향하고 싶은 방향)입니다. fromDirection에서 toDirection으로의 회전을 만들 수 있습니다.
통상, 월드 공간에서 Transform 를 회전시켜, 좌표의 1 개, 예를 들어, y 좌표를 타겟의 방향 toDirection 에 향하게 하기 위해서 사용합니다.
5.0 C# 스크립트
그럼 스크립트입니다.
RotationTest.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RotationTest : MonoBehaviour
{
public Transform arrowTrans // 動かすオブジェクトのトランスフォーム
public Transform ballTrans // ターゲットのオブジェクトのトランスフォーム
// 向きたい方向を計算
Vector3 dir = (ballTrans.position - arrowTrans.position);
// ここで向きたい方向に回転させてます
arrowTrans .rotation = Quaternion.FromToRotation(Vector3.up, dir)
}
Vector3.up은 Vector3(x, y, z) = (0, 1, 0)과 같습니다. 단순히 객체의 위쪽 방향을 나타냅니다.
이제 원하는 방향으로 향하게 됩니다.
주) 아래 그림과 같이 실시간으로 방향을 바꾸려면 Update 함수 등에서 연속 처리가 필요합니다.
Reference
이 문제에 관하여(Unity 2D로 적의 방향을 향해), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuyujiteki/items/1415973e64a1f3505834텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)