This repository was archived by the owner on May 11, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 330
Failed to load some AnimationClips of GI #92
Copy link
Copy link
Open
Description
Description
Using blk files form Genshin Impact v4.5.0 (Android, global server)
When I tried to load Genshin Impact AnimationClips into Studio GUI, I saw some AnimationClips were successfully loaded and can be correctly exported. However, there were still some other AnimationClips cannot be loaded.
Console output shown below:
[Info] Read assets...
[Error] Unable to load object
Assets CAB-ab61275a20ce808559894b370269dd84
Path E:\GenAB\Data\blocks\00\00058675.blk
Type AnimationClip
PathID 1075803652723677222
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at System.IO.BinaryReader.InternalRead(Int32 numBytes)
at System.IO.BinaryReader.ReadSingle()
at AssetStudio.EndianBinaryReader.ReadSingle() in D:\a\Studio\Studio\AssetStudio\EndianBinaryReader.cs:line 99
at AssetStudio.HumanGoal..ctor(ObjectReader reader) in D:\a\Studio\Studio\AssetStudio\Classes\AnimationClip.cs:line 704
at AssetStudio.HumanPose..ctor(ObjectReader reader) in D:\a\Studio\Studio\AssetStudio\Classes\AnimationClip.cs:line 754
at AssetStudio.ClipMuscleConstant..ctor(ObjectReader reader) in D:\a\Studio\Studio\AssetStudio\Classes\AnimationClip.cs:line 1461
at AssetStudio.AnimationClip..ctor(ObjectReader reader) in D:\a\Studio\Studio\AssetStudio\Classes\AnimationClip.cs:line 1936
at AssetStudio.AssetsManager.ReadAssets() in D:\a\Studio\Studio\AssetStudio\AssetsManager.cs:line 630
[Error] Unable to load object
Assets CAB-56648a099cdd76f2b98d60ef9ec1901f
Path E:\GenAB\Data\blocks\00\00058675.blk
Type AnimationClip
PathID -7810734684219431965
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at ...... (same as above)
......
[Error] Unable to load object
Assets CAB-45ee95802ed4df199b3f18cd2317982d
Path E:\GenAB\Data\blocks\00\00056431.blk
Type AnimationClip
PathID 2856890056502075666
System.OverflowException: Arithmetic operation resulted in an overflow.
at AssetStudio.EndianBinaryReader.ReadArray[T](Func`1 del, Int32 length) in D:\a\Studio\Studio\AssetStudio\EndianBinaryReader.cs:line 237
at AssetStudio.EndianBinaryReader.ReadSingleArray(Int32 length) in D:\a\Studio\Studio\AssetStudio\EndianBinaryReader.cs:line 324
at AssetStudio.HandPose..ctor(ObjectReader reader) in D:\a\Studio\Studio\AssetStudio\Classes\AnimationClip.cs:line 669
at AssetStudio.HumanPose..ctor(ObjectReader reader) in D:\a\Studio\Studio\AssetStudio\Classes\AnimationClip.cs:line 757
at AssetStudio.ClipMuscleConstant..ctor(ObjectReader reader) in D:\a\Studio\Studio\AssetStudio\Classes\AnimationClip.cs:line 1461
at AssetStudio.AnimationClip..ctor(ObjectReader reader) in D:\a\Studio\Studio\AssetStudio\Classes\AnimationClip.cs:line 1936
at AssetStudio.AssetsManager.ReadAssets() in D:\a\Studio\Studio\AssetStudio\AssetsManager.cs:line 630
[Error] Unable to load object
Assets CAB-b97e8647cc58eacff6df3def543ef425
Path E:\GenAB\Data\blocks\00\00056431.blk
Type AnimationClip
PathID -7788070852356909527
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at ......
......
From the console, we can see there are two cause for this problem:
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.System.OverflowException: Arithmetic operation resulted in an overflow.
To Reproduce
Steps to reproduce the behavior:
- Open Studio GUI and specify the target game to GI.
- Load file 00002343.blk (or any other Genshin Impact blk file containing AnimationClips).
- Error occurs while loading.
Version
Using Studio v1.36.00 e1d7f53
Sample
00002343.blk is provided here:
00002343.zip
Hope this problem can be solved. Thank you for your awesome project!
Metadata
Metadata
Assignees
Labels
No labels