Reze Studio is a fully browser-native application — it has no server and no cloud storage. Model loading uses the browser’s File System Access API (via anDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/AmyangXYZ/reze-studio/llms.txt
Use this file to discover all available pages before exploring further.
<input> element with webkitdirectory) to read an entire local folder at once, giving the engine access to the .pmx file alongside every texture it references. The loaded model replaces the current one in the viewport immediately, and the left-panel Bone, Morph, and Materials lists all update to reflect the new skeleton.
Loading a PMX folder
Select the model folder
Your browser’s folder-picker dialog opens. Navigate to and select the folder that contains your
.pmx file. All textures, toon maps, and sphere maps must be inside that folder or its subfolders — the engine resolves texture paths relative to the .pmx location.Choose a PMX if the folder contains more than one
If the selected folder contains multiple
.pmx files, a small picker appears beneath the File menu. Use the dropdown to choose the correct file, then click Load selected PMX.Texture co-location requirement
PMX files reference textures by relative path. The engine resolves those paths against the folder you selected, so a texture referenced astex/body.png must exist at <your-folder>/tex/body.png. Placing the .pmx alone in a folder and keeping textures elsewhere will cause them to fail to load — the model will still appear, but surfaces will render without their textures.
Best practice: keep the .pmx and its entire companion folder structure together and select the root of that folder when prompted.
The default bundled model
When Reze Studio first opens, it automatically loads a default model so you can start editing right away without having any local PMX files. The bundled model is served from the application’s own assets:MODEL_PATH in engine-bridge.tsx. The engine loads it under the internal name "reze". Once the engine finishes initializing, it also loads the bundled sample animation on top of the default model so the viewport is live from the very first render.
The bundled model sets a specific morph weight (
抗穿模 = 0.5) on load to prevent mesh clipping artifacts. When you load a custom PMX this morph is not applied unless your model also defines a morph with the same name.Swapping models with an active clip
If you already have animation data in the timeline when you load a new PMX, Reze Studio does not discard your work outright. Instead, it runs a retention pass viaclipRetainedForModel, which:
- Keeps every bone track whose bone name exists in the new model’s skeleton.
- Discards every bone track whose bone name does not exist in the new skeleton.
- Keeps every morph track whose morph name exists in the new model’s morph list.
- Discards every morph track whose morph name does not exist in the new morph list.
- Recalculates
frameCountasMath.max(original frameCount, latest retained keyframe). If all tracks were dropped (empty result),frameCountfalls back toMath.max(original frameCount, DEFAULT_STUDIO_CLIP_FRAMES).
Bone list after loading
After a model loads, the left panel shows all skeleton bones organized into named groups. The groups are defined inlib/animation.ts as BONE_GROUPS:
| Group | Contents |
|---|---|
| All Bones | Every bone in the skeleton (no filter) |
| Upper Body | Head, neck, chest, upper torso, waist (頭, 首, 上半身, 上半身2, 胸, 首根元, 腰) |
| Left Arm | Left shoulder through wrist and twist bones |
| Right Arm | Right shoulder through wrist and twist bones |
| Left Hand | Left wrist and all left finger joints |
| Right Hand | Right wrist and all right finger joints |
| Lower Body | Pelvis, legs, knees, ankles, toes, centre/groove root, and IK targets |
The File System Access API (the
webkitdirectory folder picker) is supported in Chromium-based browsers (Chrome, Edge, Opera) and in Firefox. It is not available in Safari on iOS or macOS as of mid-2025. If the folder picker does not open or produces no result, try Chrome or Edge on a desktop.