我有一个 Vector3 和一个四元数,获取前面(或后面)一定距离的位置坐标的最佳方法是什么。
我想做的是:
Gizmos.color = Color.red;
var direction = transform.TransformDirection(Vector3.forward) * 1000;
Gizmos.DrawRay(transform.position, direction);
只是无法访问变换,但具有(四元数)旋转和坐标(Vector3)
最佳答案
如果您将世界旋转与 Vector3.forward
相乘,您将获得与使用相应的 transform.forward 相同的结果
public Vector3 GetPosition(Quaternion rotation, Vector3 position, float distance)
{
Vector3 direction = rotation * Vector3.forward;
return position + (direction * distance);
}
您可以使用 Ray
但这太过分了
关于c# - 在 Unity 中从 Quaternion 和 Vector3 获取新位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43868806/