【问题标题】:change different weather in same scene在同一场景中改变不同的天气
【发布时间】:2018-08-20 07:11:59
【问题描述】:

在同一个场景中,有1000多个预制件,统一如何改变不同的天气。天空盒、灯光等变化,最重要的是改变了1000多种预制材料。比如晴天材质变成雨天材质。

有什么好的建议吗?

【问题讨论】:

    标签: unity3d weather


    【解决方案1】:

    最简单的方法是在控制器中使用GameObjects,如下所示:

    public GameObject mySky;
    public GameObject myLighting;
    public GameObject myPrefab; 
    // and so on
    

    然后当事件被触发并且你想改变那里属性的一些状态时,只需获取你感兴趣的组件,例如:

    SomeComponent component = myPrefab.GetComponent<SomeComponent>();
    

    然后修改组件本身。 (它可能是天空盒、照明以及您需要访问的任何其他内容。

    【讨论】:

    • 如果这样做,我会找到场景中的所有游戏对象来更改材质。它效率不高。但感谢您的重播。
    • @LAlex 你是什么意思,你只会管理你放在编辑器字段中的游戏对象。另一种方法是使用标签并以这种方式对它们进行分组。他们通过标签获取游戏对象。
    • lvan 我的意思是我不想改变超过 1000 个预制件的材料。如果这样,可能可以使用两个场景,一个是正常场景,一个是雨场景。并且通过标签获取游戏对象是不可行的。喜欢项目的标签。两件一内一外。所以外面的物品需要换成雨衣。里面没有。谢谢你的帮助。
    猜你喜欢
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    相关资源
    最近更新 更多