我在Unity(C#)中有一个太空模型,这个模型是跳伞。它始终面向地面,但X和Z会旋转。我想要的效果是,当我旋转时,而不是围绕模型中心旋转,我会围绕一个点旋转,该点与模型直接向左或向右旋转一段设定的距离,具体取决于情况。我已经有了旋转逻辑,但我没有的是如何确定"右侧X像素"的世界位置,因为旋转改变了右侧/左侧。例如:
当我开始时,左边是-1,0;右侧为+1.0 x我绕左旋转45度。左边仍然是-1,0。但现在我的位置是(~)-7,7。由于我的"左边"仍然指向-1.0,"右边突然指向(~)0,1.4
那么,在给定模型的Vector3位置、模型的X、Z旋转和偏移的情况下,我该如何确定"向左"one_answers"向右"的位置。
对于这些视觉类型,《正当理由2》做得很好(尽管有时很难判断):http://youtu.be/C6H3PPfx1KI?t=2m
谢谢大家。
听起来你只想做以下事情:
- 在模型空间
left = (-1, 0, 0)
、right = (1, 0, 0)
中指定左/右坐标 - 将旋转点从模型空间转换到世界空间(例如
worldLeft = transform.TransformPoint(left)
) - 围绕世界空间点(
transform.RotateAround(worldLeft, Vector3.up, speed * Time.deltaTime)
)旋转