在Laper中创建NPC需先完成项目设置与资源路径配置,再通过角色创建功能定义基础属性、对话树和状态机;模型须含T-Pose骨骼并启用运行时覆盖;对话支持编辑器添加节点或导入JSON;状态机需设定初始状态及带时间条件的转换。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Laper中为游戏设计具备独立行为逻辑的NPC,需要通过角色创建功能定义其基础属性、对话树与状态机。这一步必须在项目设置完成且资源路径配置正确后进行,否则角色数据无法被游戏运行时加载。
创建基础角色并绑定模型
点击左侧资源面板→右键【Characters】文件夹→选择【Create → Character】→输入名称如“villager_01”→回车确认。
双击新建的角色进入编辑器,在【Visual】选项卡下点击【Assign Model】→从弹出窗口中选取已导入的FBX或GLB格式人形模型。注意:模型必须包含T-Pose骨骼结构,否则后续动画将无法正确映射。
勾选【Enable Runtime Override】,否则NPC在游戏运行中无法响应脚本修改的外观参数。
配置NPC对话系统
方法一:使用内置对话编辑器
在角色编辑器中切换到【Dialogue】标签页→点击【+ Add Node】添加首个对话节点→在右侧属性栏填写文本内容、语音文件路径(可选)、触发条件(如“player.reputation > 50”)。
每个节点可拖拽出多条分支线,连接至不同回应节点;分支线上必须填写布尔表达式,例如“has_quest(‘delivery’) == false”,否则玩家点击时会因条件未定义而跳过该分支。
方法二:导入外部JSON对话文件
准备符合Laper对话Schema的JSON文件,确保顶层键名为“dialogue_tree”,且每个节点含“id”“text”“next”字段→点击【Import JSON】按钮→选择文件→确认导入。导入后无法在编辑器内直接编辑节点顺序,修改需重导。
为NPC设定行为状态机
第一步:在【Behavior】选项卡中点击【New State Machine】→命名为“daily_routine”。
第二步:添加初始状态【Idle】→双击进入编辑→在【Transitions】区域点击【+ Add Transition】→设置触发条件为“time.hour >= 6 && time.hour
第三步:选中【MarketWalk】状态→在【Actions】区域点击【Add Action】→选择【MoveToLocation】→在参数栏填入预设路点标签“market_north_gate”。【路点标签必须提前在场景中用Waypoint组件标记,且标签名完全一致,否则NPC将原地旋转无法移动】。
第四步:返回状态机根视图→右键【Idle】状态→选择【Set as Initial State】。未设置初始状态的角色在生成后不会执行任何行为。











