タイトルの通り。
UFOとかドローン、ゴーストみたいな浮遊してる敵とかに使えるかも?
Transform.InverseTransformDirectionという存在を初めて知った。
Simple_Tilt.cs
using UnityEngine;
public class Simple_Tilt : MonoBehaviour
{
[SerializeField] private float xMultiple;
private Vector3 latestPos;
private Vector3 tiltVector;
private Vector3 localDiff;
void Update()
{
//ワールドでの移動量
Vector3 diff = transform.position - latestPos;
latestPos = transform.position;
//ローカル用に変換する
localDiff = transform.InverseTransformDirection(diff.normalized);
tiltVector = new Vector3(
localDiff.z * xMultiple,
transform.eulerAngles.y,
localDiff.x * -xMultiple);
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(tiltVector), 0.1f);
}
}