Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Unity3D中动态地将游戏对象居中于线条渲染器和空游戏对象之间?_Unity3d_Centering - Fatal编程技术网

如何在Unity3D中动态地将游戏对象居中于线条渲染器和空游戏对象之间?

如何在Unity3D中动态地将游戏对象居中于线条渲染器和空游戏对象之间?,unity3d,centering,Unity3d,Centering,我正在通过服务器动态生成一个playerController(每次有人连接时)。我的问题是,使用EmptyGameObject和LineRenderer元素作为参照,使其能够在X轴上居中 这是它的样子 每次这两个元素中的任何一个移动时,我都需要矩形来更新它的位置,因此它总是在它们之间以X为中心。我不确定我是否正确理解您的问题,但我假设要获得正确的X值,您需要这样做: float targetXposition = ((lineStartPoint.x + lineEndPoint.x

我正在通过服务器动态生成一个
playerController
(每次有人连接时)。我的问题是,使用
EmptyGameObject
LineRenderer
元素作为参照,使其能够在X轴上居中

这是它的样子


每次这两个元素中的任何一个移动时,我都需要矩形来更新它的位置,因此它总是在它们之间以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
起点和终点的新值

。谢谢你的回复。这是你的意思吗?不工作……不太好。您的线(由LineRenderer组件绘制)与连接LineRenderer的gameObject不在同一位置。在代码中的某个地方,您可以调用lineRenderer.SetPosition(i,position)来设置线条的起点和终点。所以你们还需要把这些点传递给你们的矩形对象,这样他就可以知道你们的线在哪里,而不是线的游戏对象。。第22行出现错误:意外的符号“'),应为“;”。这可能是因为我抓住“左”锚的方式吗?。在同一行中仍然存在相同的错误..:我遗漏了什么?哦,我们在第23行的末尾有一个多余的“)”。对不起,我的错。