|
4 | 4 |
|
5 | 5 |  |
6 | 6 |
|
7 | | ---- |
8 | | - |
9 | | -# How do I use this ? |
| 7 | +Anime Studio opens Unity bundles and lets you browse, preview and export what's inside : textures, meshes, animations, audio, shaders, text assets and more. It handles the encrypted bundles used by Genshin Impact, Star Rail and Zenless Zone Zero, all of their others upcoming titles. Also works on a long list of other encrypted games and works fine on regular Unity games too. |
10 | 8 |
|
11 | | -You should look at the [official wiki](https://github.com/Escartem/AnimeStudio/wiki), if required look at the [original tutorial by Modder4869](https://gist.github.com/Modder4869/0f5371f8879607eb95b8e63badca227e) or the [original readme](https://github.com/RazTools/Studio/blob/main/README.md). Otherwise [join the discord](https://discord.gg/fzRdtVh) and ask there ! |
| 9 | +It comes as a GUI and a CLI, both in the same download. The GUI is what you want if you're just looking for assets, the CLI is there for scripting and batch exports. |
12 | 10 |
|
13 | 11 | --- |
14 | 12 |
|
15 | 13 | # How do I download this ? |
16 | 14 |
|
17 | | -## Download Studio |
18 | | - |
19 | 15 | - **[.NET 10 Build (Recommended - Latest)](https://nightly.link/Escartem/AnimeStudio/workflows/build/master/AnimeStudio-net10.zip)** ✨ |
20 | 16 | - **[.NET 9 Build (Stable)](https://nightly.link/Escartem/AnimeStudio/workflows/build/master/AnimeStudio-net9.zip)** |
21 | 17 |
|
| 18 | +Both builds are Windows x64 only and need the matching [.NET Desktop Runtime](https://dotnet.microsoft.com/download/dotnet) installed. Unzip anywhere and run `AnimeStudio.GUI.exe` or `AnimeStudio.CLI.exe`. |
| 19 | + |
22 | 20 | --- |
23 | 21 |
|
24 | | -# What is this ? |
| 22 | +# How do I use this ? |
| 23 | + |
| 24 | +Pick your game in the game selector first, then load a file or a folder. This matters because each game has its own decryption, loading with the wrong one selected will either fail or give you garbage. There are over 50 entries in that list, including separate ones for closed beta versions, so take the one that matches the build your files come from. |
25 | 25 |
|
26 | | -It's an up-to-date fork of Razmoth's one. After his repo was discontinued, bugs started to arise as games evolved, and people started making forks to fix some of them, but each one would not support the fixes by the others and so on. This version aims at being the new start base for AssetStudio, renamed as AnimeStudio, it supports all 3 main hoyo games, and is open to any contribution ! |
| 26 | +From there, load a file or a folder, browse the list, and export what you want. Assets can be filtered by type, by name or by container path, and previewed before exporting for most types. |
| 27 | + |
| 28 | +For big dumps there's the Asset Browser, it builds a map of everything in a game install so you can search it without loading the whole thing every time. Maps can be saved as message pack or json, relocated to a different install folder, and two of them can be loaded side by side to see what changed between versions. |
| 29 | + |
| 30 | +The CLI takes the same options as flags, with an input and an output path : |
| 31 | + |
| 32 | +``` |
| 33 | +AnimeStudio.CLI.exe <input> <output> --game GI --types Texture2D,Sprite --export_type convert |
| 34 | +``` |
| 35 | + |
| 36 | +Useful flags are `--game`, `--types`, `--names` and `--containers` for filtering, `--group_assets` for the output folder layout, `--map_op` and `--map_type` for building asset maps, and `--silent` to keep it quiet. Run it without arguments for the full list. |
| 37 | + |
| 38 | +The [official wiki](https://github.com/Escartem/AnimeStudio/wiki) goes into detail on all of this. If something isn't covered there, look at the [original tutorial by Modder4869](https://gist.github.com/Modder4869/0f5371f8879607eb95b8e63badca227e) or the [original readme](https://github.com/RazTools/Studio/blob/main/README.md). Otherwise [join the discord](https://discord.gg/fzRdtVh) and ask there ! |
27 | 39 |
|
28 | 40 | --- |
29 | 41 |
|
30 | | -# What changed ? |
31 | | - |
32 | | -This is a non-exhaustive list of modifications : |
33 | | -- Removed usage of a [certain dll for a certain decryption](https://github.com/Escartem/AnimeStudio/commit/1fcfa9041e07cd0a98b4d23f1578e910256fa1f8) 👀 |
34 | | -- Merged fixes for Genshin, Star Rail and ZZZ suport with improvements |
35 | | -- Dark mode |
36 | | -- Reorganised menu bar for easier usage |
37 | | -- Addes SHA256 hash for assets |
38 | | -- New game selector merged with UnityCN keys list and updated UnityCN keys manager |
39 | | -- Asset Browser improvements |
40 | | - - It is now possible to use json files instead of only message pack |
41 | | - - You can now relocate the sources files of a map instead of having to build a new one to adjust them, making maps no longer game install dir dependant |
42 | | - - Only selected assets are displayed in the main window when loading instead of the full blocks |
43 | | - - You can load 2 asset maps at once and view the difference between both |
| 42 | +# Building |
| 43 | + |
| 44 | +You need Visual Studio 2022 with the C++ desktop workload and the .NET 9 and 10 SDKs. |
| 45 | + |
| 46 | +`build.ps1` builds the GUI and the CLI for both frameworks and packages them into `dist`. That's the same script the CI runs, so if it works there it works locally. For day to day work `dotnet build AnimeStudio.GUI` is enough, the packaging step is only needed for a release. |
| 47 | + |
| 48 | +The native libraries are not built by that script, they sit prebuilt in `AnimeStudio.Libraries` and only need rebuilding when you touch their sources. Each one is its own project in the solution and outputs straight into that folder : |
| 49 | + |
| 50 | +| Project | Output | What it does | |
| 51 | +| --- | --- | --- | |
| 52 | +| `AnimeStudio.Ooz` | `AnimeStudio.Ooz.dll` | Kraken / Mermaid / Leviathan decompression | |
| 53 | +| `AnimeStudio.FBXNative` | `AnimeStudio.FBXNative.dll` | FBX export, needs the Autodesk FBX SDK at exactly version 2020.3.7 installed | |
| 54 | +| `AnimeStudio.HLSLDecompiler` | `AnimeStudio.HLSLDecompiler.dll` | Shader decompilation | |
| 55 | +| `AnimeStudio.ACL.DB` / `.ZZZ` / `.SR` | `AnimeStudio.ACL.*.dll` | Animation decompression, one per ACL version | |
| 56 | + |
| 57 | +They are all x64 only and excluded from the solution build, build them by hand when needed. |
| 58 | + |
| 59 | +Contributions are welcome, whether it's a new game, a fix for an existing one or anything else. Open a PR and it'll get looked at. |
44 | 60 |
|
45 | 61 | --- |
46 | 62 |
|
@@ -88,4 +104,20 @@ Thanks goes to these wonderful people : |
88 | 104 |
|
89 | 105 | <!-- ALL-CONTRIBUTORS-LIST:END --> |
90 | 106 |
|
91 | | -Contributions of any kind welcome! |
| 107 | +Contributions of any kind welcome! |
| 108 | + |
| 109 | +--- |
| 110 | + |
| 111 | +# Credits |
| 112 | + |
| 113 | +Anime Studio is a fork of [Studio](https://github.com/RazTools/Studio) by Razmoth, itself a fork of [AssetStudio](https://github.com/Perfare/AssetStudio) by Perfare. After Razmoth's repo was discontinued things started breaking as games evolved, and several forks appeared fixing different bits without ever merging back into each other. This one aims at being the place where those fixes live together. Most of what's here started in those two projects. |
| 114 | + |
| 115 | +The native side is built on other people's work : |
| 116 | + |
| 117 | +- [ooz](https://github.com/powzix/ooz) by powzix, through [zao's fork](https://github.com/zao/ooz) - Kraken decompression |
| 118 | +- [FBX SDK](https://aps.autodesk.com/developer/overview/fbx-sdk) by Autodesk, wrapper based on Perfare's and hozuki's - FBX export |
| 119 | +- [3Dmigoto](https://github.com/bo3b/3Dmigoto) and [HLSLcc](https://github.com/Unity-Technologies/HLSLcc) by Unity - shader decompilation |
| 120 | +- [ACL](https://github.com/nfrechette/acl) and [RTM](https://github.com/nfrechette/rtm) by Nicholas Frechette, wrappers by Razmoth - animation decompression |
| 121 | +- [FMOD Engine](https://www.fmod.com/) by Firelight Technologies - audio preview and export |
| 122 | + |
| 123 | +FMOD is used under Firelight's free license for non commercial use, and the FBX SDK under Autodesk's terms. Everything else is MIT or similar, see each project for details. |
0 commit comments