Unity 世界坐标转本地坐标
时间: 2024-02-03 19:03:05 浏览: 85
Unity 屏幕坐标转RectTransform局部坐标
如果要将Unity世界坐标转换为某个物体的本地坐标,可以使用Transform.InverseTransformPoint方法。这个方法需要传入一个Vector3类型的世界坐标,返回一个Vector3类型的本地坐标,表示该世界坐标在物体的局部坐标系中的位置。
下面是一个使用Transform.InverseTransformPoint方法的示例代码:
```csharp
using UnityEngine;
public class Example : MonoBehaviour
{
public Transform target;
private void Update()
{
// 将世界坐标转换为target的本地坐标
Vector3 pos = target.InverseTransformPoint(transform.position);
// 显示本地坐标的值
Debug.Log("Local pos: " + pos);
}
}
```
在这个示例中,我们首先获取了要转换的目标物体的Transform组件target。在Update方法中,我们调用Transform.InverseTransformPoint方法将当前物体的世界坐标转换为目标物体的本地坐标,并将本地坐标的值输出到控制台上。
阅读全文