【问题标题】:unity's streaming assets loading from another folder从另一个文件夹加载统一流媒体资产
【发布时间】:2016-01-12 14:59:43
【问题描述】:

是否可以将音频文件放在另一个文件夹中,然后在加载场景时重新编译?我不想使用流资产文件夹,我想从其他文件夹加载它(我想编译它)。

【问题讨论】:

  • This link 可能会帮助您了解声音机制

标签: c# unity3d


【解决方案1】:

对于这样的东西,你想使用Resources folder。创建一个名为Resources的文件夹,可以使用函数加载:

public static Object Load(string path); 

所以这样的事情会起作用:

Resources.Load("music.mp3") as AudioClip;

请注意,这在计算上可能会很昂贵,您可能希望使用LoadAllLoadAsync 来降低系统上的难度。见Unity Resource documentation

【讨论】:

    【解决方案2】:

    如果您希望将其作为整个构建的一部分进行编译,请将资产放在 Assets 下的任何文件夹中,并创建一个引用,将资产拖入其中。

    public AudioClip audioClip;
    

    StreamingAssets 和 Resources 文件夹会运送存储在其中的所有项目,这是因为 Unity 无法定义资产是否会被使用,所以它只是运送它。

    当您将项目保存在其他文件夹下时,Unity 只会在找到引用的情况下发送(和构建)它们。它检查元文件是否链接资产。

    构建的不同之处在于,“已交付”资产在最终构建中合并,而 Resources 和 StreamingAssets 资产存储在数据文件夹中的特定文件夹中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多