采集任务配置

采集任务目前是通过NPC的机制触发收集,例如点了NPC给你道具

1. 客户端配置

1.1 创建预制体
预制空Prefab,预制体属性增加Box Collider,用于触发Npc铭牌,添加脚本XR behaviourUnity中的Hotfix.Standard.NPC.NPCTarget 。

预制体内创建一个TargetPosigtion 放入Hotfix.Standard.NPC.NPCTarget脚本内

预制体内部增加项目原有的TriggerCollider Prefabs,用于控制玩家与Npc的交互范围

2. 采集Npc主体

主体Prefbs:采集Npc分为主体部件,和掉落部件。主体部件为采集交互Npc本体(必须配置),掉落部件为完成一次Npc采集行为后销毁的对象,可配置多个或者不配。
2.1 主体部件
创建一个属性为空的命名为Base的对象,内部用放置采集Npc主体。

2.2 掉落部件
创建一个属性为空的对象命名为Children作为掉落物集。
Children内每个对象在完成一次采集后,就会隐藏一个,按需求数量配置。
2.3 NpcAnimator制作
在Npc主体上配置对应的状态机
状态必须一对应: idel-待机 using-采集中状态 end-采集后状态 died-采集死亡状态(死亡功能尚未开发)

2.4 特效配置
创建四个空预设命名对应的 Idel Using After Died(暂无)内部可放置对应状态时播放的特效特效。

3. 采集NPC运营后台配置

3.1 新建Npc

3.2 Npc坐标配置,如果是Npc采集掉落物则不需要Npc刷新配置

3.3 服务器function字段配置

{
  "npc_list": "6000000319",
  "id": "6000000908",
  "desc": "交互Npc模版",
  "name": "collect_npc_0",//名称和运营后台客户jason 中ColliderAndClickCFunction保持一致
  "type": "call_function", //分为call_function 和add_item两种类型   call_function为交互后掉落Npc    add_item 交互完成后 直接获得道具
  "action": "collect", //采集Npc固定为collect 类型
  "to_client": true,
  "action_param": "0 10 2000", //第一个参数没有意义 第二个参数配置  采集次数  第三个参数配置 吟唱时长  ms为单位 配0为瞬间采集
  "string_param": "loots_npc,6000000320,1",//掉落配置为Npc时为固定格式  loots_npc,NPCID,数量 用&连接下一个  配置掉落为道具时 格式为 道具ID,数量
  "trigger_type": "client_cmd",
  "trigger_param": ""
}

3.4 配置Npc存在周期配置:

{
  "npc_list": "6000000322",
  "id": "6000000549",
  "var": {
    "var_type": "Number",
    "number_var": "60"  //配置Npc存活时长  单位为s
  },
  "to_other": false,
  "var_name": "npc.lifespan"
}

3.4 客户端json:

{
  "id": "6000000319",
  "name": "苹果树",//大世界名称
  "dialog_icon": "xiangbin",//Npc图标配置
  "prefab": "NPC_Tree_Test.prefab",//对应数资的Addressable的命名
  "config_detail": {
    "function": {
      "extra": [],
      "ColliderAndClickCFunction": "interaction_request,#client_cmd collect_npc_0"  //固定配置    interaction_request,#client_cmd +服务器function内的name字段配置
    }
  }
}
任务系统模块好友管理模块