【问题标题】:How we can move two together in unity 3D?我们如何在统一 3D 中一起移动两个?
【发布时间】:2021-05-22 03:28:22
【问题描述】:

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

这是层次结构截图:

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

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

任何方法都会受到赞赏。提前致谢。

【问题讨论】:

    标签: unity3d 3d augmented-reality fbx prefab


    【解决方案1】:

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

    在层次结构中,如果不将其中一个作为父对象,您就无法将多个子对象“连接”到彼此。

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

    你可以把它放在你的 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
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-04
      • 2022-09-23
      • 2021-10-17
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多