tuyoogame / YooAsset

unity3d resources management system
https://www.yooasset.com/
Apache License 2.0
2.41k stars 469 forks source link

LoadRawFileAsync 加载原生文件问题。 #302

Closed jiangjiali closed 4 months ago

jiangjiali commented 4 months ago

image 我打包的是原生文件,却不能用 LoadRawFileAsync 这个去加载。

Exception: Cannot load asset bundle file using LoadRawFileAsync method ! YooAsset.ResourcePackage.DebugCheckRawFileLoadMethod (System.String method) (at Assets/Dependencies/YooAsset/Runtime/ResourcePackage/ResourcePackage.cs:1195) YooAsset.ResourcePackage.LoadRawFileInternal (YooAsset.AssetInfo assetInfo, System.Boolean waitForAsyncComplete, System.UInt32 priority) (at Assets/Dependencies/YooAsset/Runtime/ResourcePackage/ResourcePackage.cs:597) YooAsset.ResourcePackage.LoadRawFileAsync (System.String location, System.UInt32 priority) (at Assets/Dependencies/YooAsset/Runtime/ResourcePackage/ResourcePackage.cs:591) Main.Runtime.Launch.LoadMetadataForAOTAssemblies () (at Assets/Main/Runtime/Launch.cs:128) Main.Runtime.Launch.Awake () (at Assets/Main/Runtime/Launch.cs:61) System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.b__7_0 (System.Object state) (at <80e08c2cc04049bf931fc9038d04f397>:0) UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () (at <583df70190f94511bd46f12943531dbc>:0) UnityEngine.UnitySynchronizationContext.Exec () (at <583df70190f94511bd46f12943531dbc>:0) UnityEngine.UnitySynchronizationContext.ExecuteTasks () (at <583df70190f94511bd46f12943531dbc>:0)

gmhevinci commented 4 months ago

根据错误提示,你应该使用AB构建构建的资源。可以打开构建报告确认一下。

jiangjiali commented 4 months ago

Exception: Cannot load asset bundle file using LoadRawFileAsync method !

Exception: Cannot load asset bundle file using LoadRawFileAsync method ! 这个提示,我在YooAsset搜索了一下。是在debug的时候提示的。 代码位置在: image 我看了一下,只要把条件改成 等于,就可以使用LoadRawFileAsync 加载了。

jiangjiali commented 4 months ago

或许是原生文件必须用管线构建方式?

jiangjiali commented 4 months ago

终于知道了,是由于模拟器运行时,配置。 SimulateManifestFilePath = EditorSimulateModeHelper.SimulateBuild(EDefaultBuildPipeline.RawFileBuildPipeline.ToString(), packageName)

第一个参数需要配置成原生文件构建方式。

OopsAngela commented 2 months ago

终于知道了,是由于模拟器运行时,配置。 SimulateManifestFilePath = EditorSimulateModeHelper.SimulateBuild(EDefaultBuildPipeline.RawFileBuildPipeline.ToString(), packageName)SimulateManifestFilePath = EditorSimulateModeHelper.SimulateBuild(EDefaultBuildPipeline.RawFileBuildPipeline.ToString(), packageName)

第一个参数需要配置成原生文件构建方式。

请问改了以后打包需要再次打包吗?需要改为BuiltinBuildPipeline吗?

gmhevinci commented 2 months ago

终于知道了,是由于模拟器运行时,配置。 SimulateManifestFilePath = EditorSimulateModeHelper.SimulateBuild(EDefaultBuildPipeline.RawFileBuildPipeline.ToString(), packageName)SimulateManifestFilePath = EditorSimulateModeHelper.SimulateBuild(EDefaultBuildPipeline.RawFileBuildPipeline.ToString(), packageName) 第一个参数需要配置成原生文件构建方式。

请问改了以后打包需要再次打包吗?需要改为BuiltinBuildPipeline吗?

如果你是内置构建管线的package,那么参数填BuiltinBuildPipeline