相对于模型位置和旋转绕点旋转



我在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

谢谢大家。

听起来你只想做以下事情:

  1. 在模型空间left = (-1, 0, 0)right = (1, 0, 0)中指定左/右坐标
  2. 将旋转点从模型空间转换到世界空间(例如worldLeft = transform.TransformPoint(left))
  3. 围绕世界空间点(transform.RotateAround(worldLeft, Vector3.up, speed * Time.deltaTime))旋转