【问题标题】:What is the difference between prefab(original) and variant prefab?预制件(原始)和变体预制件有什么区别?
【发布时间】:2019-10-09 17:19:52
【问题描述】:

我用一些颜色着色器等创建了一扇门。 当我前段时间拖门时,它问我该怎么做,我选择了变体。但现在我决定选择创建原始预制件和门的颜色,或者可能是着色器变成粉红色。

这是资源中原始预制件和变体预制件的屏幕截图。 粉红色的是原始的,红色的应该是红色的。

预制件(原始)和变体预制件有什么区别,为什么在制作原始件时将颜色变为粉红色?

我应该选择什么?原版还是变种?

以及在将门拖到资产之前在场景视图窗口中的屏幕截图:

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    就像你有一个常规的预制件来拥有一个预定义的对象一样,你有一个预制件变体,这只是另一个层次。它代表了对预制件本身具有不同预定义版本的需求。当您不想覆盖基础预制件但又想多次使用被覆盖的预制件时,预制件变体非常有用,因此您制作了一个预制件变体。

    https://www.youtube.com/watch?v=ibmdm_PoyMA

    因此,基本上,当您拥有一个预制件实例并对其进行更改时,您可以覆盖原始预制件(失去其原始状态),或者您制作一个预制件变体,然后您可以将它们都作为预制件。

    【讨论】:

      【解决方案2】:

      如果你是一名程序员,可以把它想象成多态,你有一个基类,其属性所有子级都将共享,但它们仍然可以覆盖这些属性(粉红色变成红色),并且它们可以有自己的属性:嗯,在预制件中 Original 是基类,Variant 是子类,给基类添加属性,子类继承它们。

      如果你不是程序员,可以把它想象成原始预制件来代表任何空房子(房子原件),变体是一个里面有一些家具的房子,比如说厨房和沙发(房子 1) 另一个房子(变体)是从原版创建的,但只有一台电视(房子 2)。

      现在,如果您要更改 (house original) 的墙壁颜色,那么 (house 1) 和 (house 2) 将具有这些颜色。

      总而言之,原始/变体预制件非常有用,当您想要一个预制件从中衍生出衍生品但它们都共享某些功能/某些属性/某些位置/某些值,所以不必去并更改所有导数的值,您只需更改原始值即可。

      【讨论】:

        【解决方案3】:

        您右侧的原件似乎被编辑并保存,导致玻璃区域的着色器/纹理配置错误。

        从这个意义上说,您应该修复损坏的原件,用您的变体替换它。

        变体意味着,例如,使用不同颜色的玻璃创建原始门的不同版本,或通过检查器值设置动画时间,以便您可以重复使用相同的预制件,但将其用于不同的阶段。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-02-29
          • 1970-01-01
          • 2021-02-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多