A small program for decrypting/encrypting the asset bundles of Desktop Mate. Could be used to extract resources or import custom models.
executable-file <path/to/AssetBundle/directory> <AssetBundleType> [isEncrypt]
- path to AssetBundle directory - This should be
<InstallationPath>\DesktopMate_Data\StreamingAssets\AssetBundle
. - AssetBundleType -
iltan
ormiku
- isEncrypt - set to
E
for encrypt; otherwise decrypt.
- Get a VRM model for the target character. If you have an FBX model, you could follow the guide to build one.
- Import the example project to Unity.
- Get the animation clips for your character. You will need animations for Standing(oneShot and loop), Sitting(oneShot and loop), Dragged, Stroked(standing and sitting), Picked(standing and sitting), JumpOut, JumpIn, HideLeft, HideRight and Alarm. If the official animations fit your character well, you could extract them from the decrypted asset bundle with AssetRipper.
- Import the animation clips to Unity. Create an animation controller asset (or use the corresponding official one if you are using the official animation clips). Add all the animation clips to the Base Layer of the animation controller.
- Import your VRM model to Unity and drag it to the Scene Hierarchy. In the Animator component, select the animation controller in step 4 as controller. Attach CharaData to the prefab and set the arguments for animation playing. You could copy the official ones (from the CharaData MonoBehaviour extracted from the asset bundle, or by directly importing the asset bundle to Unity).
- Configure MagicaCloth2 for cloth and hair physics simulating.
- Add MagicaCloth object for each hair or cloth component that needs physics simulation to the prefab
- Configure the MagicaCloth object. Normally we'll use BoneCloth if the target component is tied to bones. Add the root bones and select a preset (or set the parameters yourself). If the target component isn't tied to bones, use MeshCloth instead.
- Add MagicaCollider objects to the armature. Register the colliders that a certain component might collide to to the
Collider Collision
section of the corresponding MagicaCloth object.
- Add MagicaCloth object for each hair or cloth component that needs physics simulation to the prefab
- Drag the prefab to assets view to save the prefab. Rename it as
iltan_prefab
ormiku_prefab
depending on which character you'd like to override. Select the saved prefab and assign it to an asset bundle (at the bottom of the Inspector window) namediltan
ormiku
. - Open
Window->AssetBundle Browser
and build the asset bundle. Copy the exported asset bundle toDesktopMate_Data\StreamingAssets\AssetBundle
of your installation path. Make sure the file name isiltan
ormiku
. Run the decryptor withexecutable-file <path/to/AssetBundle/directory> <AssetBundleType> E
to encrypt the asset bundle (remember to backup the original one). - Launch the game and enjoy!