Files
XCEngine/project/Assets/Characters/Nahida/README.md

50 lines
2.8 KiB
Markdown
Raw Normal View History

# Nahida Staging Assets
This folder is the non-breaking staging area for migrating the Unity Nahida sample into the engine-native project structure.
Current safety rule:
- Keep `project/Assets/Models/nahida` in place for now.
- `project/Assets/Scenes/Main.xc` still references the old imported FBX asset GUID from `Assets/Models/nahida/Avatar_Loli_Catalyst_Nahida.fbx`.
- Do not rename or delete the old Nahida folder until a `Model`-driven scene path is ready.
Directory layout:
- `Model/`
- Canonical FBX source that should become the future `Model` entry asset.
- `Textures/Nahida/`
- Character-local body, hair, and face textures copied from the Unity sample.
- `Textures/Shared/`
- Shared textures used by the shader and face shading path.
- `Meshes/`
- Extra mesh data needed by the outline path.
- `docs/reference/NahidaUnity/`
- Unity-side semantic reference only.
- Stored outside `project/Assets` on purpose so the asset pipeline does not try to import Unity `.mat` and `.shader` files as engine-native assets.
What has been staged in this phase:
- Full Nahida FBX source.
- Full body, hair, face, and shared texture set.
- `Nahida_Body_Smooth.mesh` outline dependency.
- Unity reference materials, shader files, runtime scripts, sample scene, and URP settings under `docs/reference/NahidaUnity/`.
What has not been done yet:
- No skinned runtime path, animator path, or blend-shape port.
- No dedicated outline pass port yet.
- Face shading now follows the Unity-style `_FaceLightMap + _FaceShadow + _FaceDirection` path in the forward shader, but it still does not have Unity's runtime `_FaceDirection` driver.
- The preview scene still uses imported FBX sub-meshes, but the main character materials now point at engine-native `.mat` assets.
- The main character materials now use Unity-aligned property names, keywords, and normal-map bindings, but they still render through a single forward pass in the current engine pipeline.
Current FBX material remap bridge:
- `Model` instantiation now looks for a sidecar file named `<model>.materialmap`.
- Each line maps an imported mesh localID to one or more material paths:
- `meshLocalID=Assets/.../Material.mat`
- Multiple slots can be provided with `|`
- Nahida remap files are staged at:
- `Assets/Models/nahida/Avatar_Loli_Catalyst_Nahida.fbx.materialmap`
- `Assets/Characters/Nahida/Model/Avatar_Loli_Catalyst_Nahida.fbx.materialmap`
Recommended next implementation order:
1. Visually validate `Assets/Scenes/NahidaPreview.xc` and tune framing/light balance against the Unity reference scene.
2. Add a proper outline solution without introducing skinning work.
3. Add a lightweight runtime `_FaceDirection` material driver for static preview scenes.
4. Decide whether the static preview should keep the full instantiated FBX node tree or collapse helper/bone-only nodes for readability.