为什么 Resources.Load<GameObject>() 不能始终如一地工作?返回一个对象也是空错误。统一 2021 LTS

问题描述 投票:0回答:0

我有一本字典:Dictionary prefabPaths。这个预制件路径是一个简单的键值,它存储我已经在 Unity 中创建的预制件的文件路径。为了对此进行测试,我有一个循环遍历字典并执行 Resources.Load(value) 的循环。前三个按应有的方式加载;其余的不加载。

有关可能重要的更多上下文:尝试加载 enemyP 或我的其他测试预制件返回您尝试实例化的对象的错误为空。

这是我的 Debug.Log 片段: Snip of Unity Console

您可以分别看到键,值和值。
进一步证明路径正确存储在字典中的证据是我制作了一个列表,从字典中获取每个值: Snip of Unity List

这里是预制件如何出现在文件夹结构中的片段: Snip of prefabs

这个Prefabs文件夹明显嵌套在Assets/Resources里面。两个预制件都在同一个文件夹中。但是,尝试加载 enemyP 的三个函数什么也不做: Evidence of it not working

我在这里遗漏了什么吗?它们都是预制件。它们存在于同一个文件夹中。我在两者上都使用了正确的名称。

foreach (var c in dictPrefabs)
            {
                prefabsDict.Add(c.Value);
                prefabs.Add(Resources.Load<GameObject>(c.Value));
                Debug.Log(c + "    " + c.Value);
            }

prefabsDict 只是一个测试列表,用于此精确测试以确保路径被正确拉出并且我可以在 Unity Inspector 中看到它们。

我还尝试将其转换为对象而不是游戏对象。即使 p3pmc 加载得很好,这也不起作用。我也在另一个不起作用的预制件上测试过这个。

任何帮助将不胜感激。我对此感到非常沮丧。我不喜欢事情像这样进行和不工作。我已经阅读了互联网上国内外的其他主题,但没有找到为什么这不起作用的解决方案。

c# unity3d resources gameobject
© www.soinside.com 2019 - 2024. All rights reserved.