我正在开发一个项目,该项目使用 Unity WebGL 以 3D 显示不同的机器/零件/..,这些零件或机器由用户选择,然后加载到场景中(现在只有一个场景,但我们可能还想动态加载场景)。
由于我们想要创建不同的资产包,每个包含 1 个或多个部分,因此我们可以按需下载这些选择的大量选择。
我通过将 URL 传递给LoadFromCacheOrDownload
并从 www 对象中提取 gameObject 成功地做到了这一点。
现在我们还想在资产中包含脚本来创建动画和用户交互。我按照这里给出的解释:docs.unity3d link,这在 WebPlayer 中完美运行。但是最终要求是 WebGL,为 WebGL 构建的相同代码会出现以下错误:
NotSupportedException:/Users/builduser/buildslave/unity/build/Tools/il2cpp/il2cpp/libil2cpp/icalls/mscorlib/System/AppDomain.cpp(184):不支持对 IL2CPP:AppDomain::LoadAssemblyRaw 的内部调用-“这个 icall 不是由 il2cpp 支持。” System.AppDomain.LoadAssemblyRaw (System.Byte[] rawAssembly, System.Byte[] rawSymbolStore, System.Security.Policy.Evidence securityEvidence, Boolean refonly) System.AppDomain.Load (System.Byte[] rawAssembly, System.Byte[] rawSymbolStore, System.Security.Policy.Evidence securityEvidence, Boolean refonly) System.AppDomain.Load (System.Byte[] rawAssembly, System.Byte[] rawSymbolStore, System.Security.Policy.Evidence securityEvidence) System.AppDomain.Load (System .Byte[] rawAssembly) System.Reflection.Assembly.Load (System.Byte[] rawAssembly) API+c__Iterator0。
它似乎源于调用System.Reflection.Assembly.Load(txt.bytes);
(我从示例中得到),所以我认为反射类(还没有?)完全支持 WebGL。我似乎找不到任何关于此的文档。
有没有办法为此使用反射?充其量我希望有一些不同的代码可以解决这个问题,最坏的情况是我们将不得不在 Javascript 中为 WebGL 创建脚本并添加它们而不是作为二进制文件?我在这里有点迷路,所以任何线索都值得赞赏。
(从answers.unity3d交叉发布)