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

2.8 KiB

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.