Files
Dino_Love_Simulation/Assets/02_Scripts/Story/ch3/XRMoveToPoint.cs
dldydtn9755-crypto 4feab8d265 드디어 완성
2026-07-29 17:42:55 +09:00

36 lines
1.0 KiB
C#

using UnityEngine;
using Unity.XR.CoreUtils;
public class XRMoveToPoint : MonoBehaviour
{
[SerializeField] private XROrigin xrOrigin;
[SerializeField] private Transform targetPoint;
public void MoveNow()
{
if (xrOrigin == null || targetPoint == null)
return;
// 현재 카메라를 목표 위치로 이동
xrOrigin.MoveCameraToWorldLocation(targetPoint.position);
// 카메라가 목표 지점의 앞 방향을 바라보게 회전
Vector3 currentForward = xrOrigin.Camera.transform.forward;
currentForward.y = 0f;
Vector3 targetForward = targetPoint.forward;
targetForward.y = 0f;
if (currentForward.sqrMagnitude > 0.001f &&
targetForward.sqrMagnitude > 0.001f)
{
float angle = Vector3.SignedAngle(
currentForward,
targetForward,
Vector3.up
);
xrOrigin.RotateAroundCameraUsingOriginUp(angle);
}
}
}