Skip to main content

AI NPC

Overview

At runtime, NPCs automatically add:

  • CharacterMotionController

To use custom motions:

  1. prepare a motion-pack item
  2. upload it
  3. attach it to the NPC through P-Linker

AI Output Format

NpcAIController parses command tags from the AI response.

Your NPC plugin controller should consume those tags and drive CharacterMotionController directly.

Supported tags:

  • [emotion:happy]
  • [action:laugh]
  • [comment:...]
  • [debug:...]

The raw response is preserved, and the command tags are also parsed into structured fields internally.

  1. Prepare an NPC with NpcDesc.
  2. Build a motion-pack item that contains:
    • AnimationSet
    • optional NpcMotionProfile only when you need custom remapping
  3. Upload the item.
  4. Attach it to the NPC object through P-Linker as an object plugin item.

NpcMotionProfile

Use NpcMotionProfile only when your AI vocabulary does not match your local semantic names.

Example:

  • AI emits shy
  • local semantic is bashful
  • NpcMotionProfile maps shy -> bashful

Notes

  • VMD or dance playback is separate from this system.
  • NPC motion policy belongs to your custom NPC plugin.
  • NpcMotionProfile is optional and only needed when AI words do not match your local semantic names.

Additional Reference