如何在 Unity3D 中动态地将 GameObject 置于 LineRenderer 和空 GameObject 之间?

How to center a GameObject between a LineRenderer and an empty GameObject dynamically in Unity3D?

我正在通过服务器动态生成 playerController(每次有人连接时)。我的问题是能够将它置于 X 轴的中心,同时使用 EmptyGameObjectLineRenderer 元素作为参考。

这是它的样子

我需要那个矩形在每次这两个元素中的任何一个移动时更新它的位置,所以它总是在它们之间以 X 为中心。

我不确定我是否正确理解了你的问题,但我认为要获得正确的 X 值你需要这样做:

float targetXposition = 
    ((lineStartPoint.x + lineEndPoint.x) / 2f + emptyGameObject.position.x) / 2f;

然后像这样将新的 X 位置应用到您的矩形

Vector3 position = transform.position
transform.position = new Vector3(targetXposition, position.y, position.z);

另外不要忘记获取 LineRenderer 的起点和终点的新值。