Version: 2022.3

Transform.InverseTransformDirection

切换到手册
public Vector3 InverseTransformDirection (Vector3 direction);

描述

Transforms a direction from world space to local space. The opposite of Transform.TransformDirection.

This operation is not affected by scale or position of the transform. The transformed vector has the same length as the original.

If you need the inverse operation to transform from local space to world space you can use Transform.TransformDirection

如果矢量表示空间中的位置而不是方向,则应使用 Transform.InverseTransformPoint

If you need to transform many directions at once consider using Transform.InverseTransformDirections instead as it is much faster than repeatedly calling this function.

using UnityEngine;

public class Example : MonoBehaviour { void Start() { // transform the world forward into local space: Vector3 relative; relative = transform.InverseTransformDirection(Vector3.forward); Debug.Log(relative); } }

public Vector3 InverseTransformDirection (float x, float y, float z);

描述

Transforms the direction x, y, z from world space to local space. The opposite of Transform.TransformDirection.

This operation is not affected by scale or position of the transform. The transformed vector has the same length as the original.

If you need the inverse operation to transform from local space to world space you can use Transform.TransformDirection

如果矢量表示空间中的位置而不是方向,则应使用 Transform.InverseTransformPoint

If you need to transform many directions at once consider using Transform.InverseTransformDirections instead as it is much faster than repeatedly calling this function.

using UnityEngine;

public class Example : MonoBehaviour { void Start() { // transform the world forward into local space: Vector3 relative; relative = transform.InverseTransformDirection(Vector3.forward); Debug.Log(relative); } }