我们如何在 unity 3D 中将两个移动在一起?

How we can move two together in unity 3D?

实际上我想将两个子对象相互连接起来,这样当一个对象的大小增加时,两个对象应该一起移动并改变它的位置。我想在预制件中这样做可以吗?

这是层级截图:

基本上我想增加玻璃(side1_screen1 的子对象)的大小,但随着玻璃的增加,我的支架(子对象)的大小也在增加。

但是当我单独增加玻璃的尺寸时,我的支撑位置没有改变,所以当玻璃尺寸增加时可以使用的任何方法,我的支撑尺寸都不应该增加。

任何方法都将不胜感激。提前致谢。

我不知道这是否是您所要求的,但您可以通过将多个子对象作为同一个对象的父对象来简单地“连接”它们。在这个例子中,我简单地创建了两个子对象和一个空的游戏对象作为容器。每当您缩放、旋转或移动容器时,子对象都会执行相同的操作。

在层次结构中,如果不将其中一个子对象设为父对象,则不能将多个子对象相互“连接”起来。

您可以尝试的另一种(快速而肮脏的)方法是创建一个引用两个游戏对象的变换组件的脚本,然后根据另一个设置其中一个。

您可以将它放在您的 Update() 方法中:

firstChild.transform.position = secondChild.transform.position + Vector3 offsetValue (otherwise they will be in the same position)

firstChild.transform.rotation = secondChild.transform.rotation

firstChild.transform.localScale = secondChild.transform.localScale

在您创建脚本并根据自己的喜好引用所有内容后,您只需将父对象拖到您的项目文件夹之一,使其成为预制件。