NPC配置

NPC作为副本连接的桥梁,可以实现多点直接的传送跳转

1.NPC配置

NPC配置可以创建一个传送点,允许用户在两个空间直接来回切换
点击『NPC配置』按钮,点击创建NPC
类型:选择传送
范围:选择项目内传送
空间名称:可以选择所需要传送的空间

客户端配置NPCID

制作 Prefab,绑定 NetworkObject 脚本,staticid 使用『希壤开放平台·开发者控制台』->对应项目卡片 -> 『NPC 配置』tab 中生成的 id

配置 NPCID-Staticid,即可读取已配置的NPC进行传送

2.NPC多点传送(需要再运营管理平台设置)

传送NPC相关配置项
  • 刷新位置:传送npc触发器所在的位置,包括空间ID,空间位置,空间朝向,共7个参数,(空间ID 位置X 位置Y 位置Z 朝向X 朝向Y 朝向Z)
  • 服务器Function:传送类型,预计传送所需要的同步的参数
  • 服务器Var:需要同步到服务器的参数
  • 客户端Json:触发器profab路径与触发逻辑代码

制作流程

1、场景数资制作阶段,需要将传送NPC的prefab设置好,需要注意名称保持一致,并且打包到资源文件中

  • 制作prefab,将名称为【networkobject】的脚本挂在组件上,去掉Network Transfer NPC(Script)脚本
  • 制作成profab添加到unity addressable,将名称修改与unity addressable中的名称一致
  • 打包上传到开放平台 2、开放平台提交所有的项目副本 3、运营后台配置传送npc
  • 在npc管理-大世界npc中,添加一个新的npc
  • 设置刷新位置:

    • 在Unity工程中找到对应的位置,对应填写。参数情况如下图

  • 设置服务器Function:

    • "npc_list":系统生成
    • "id":系统生成
    • "desc":传送面板的名称,注意后面需要加一个“|”,可通过参数修改颜色
    • "name": 目标空间的id
    • "string_param":目标空间的id
    • 其他不用修改

* 服务器Runction 参数参考 { "npc_list": "6000000431", "id": "6000000395", "desc": "500平艺术展厅|", "name": "790273982573", "type": "trans", "action": "", "to_client": true, "common_list": "", "action_param": "", "string_param": "790273982573", "trigger_type": "client_cmd", "trigger_param": "" }

  • 设置服务器Var:按需修改,一般不需要修改
  • 设置客户端Json:

    • "id": 系统生成
    • "name":坐标记,不展示
    • "prefab": 步骤1中,传送npc的profab的路径,需要与工程中的路径名称一致
    • 参数:Hotfix.Standard.NPC.TransMultiNpc,注意是TransMultiNpc,普通传送为TransNpc。

* 客户端Json { "id": "6000000431", "name": "艺术馆传送多入口", "prefab": "TransferNPC", "config_detail": { "function": { "extra": [ "Hotfix.Standard.NPC.TransMultiNpc" ] } } }

客户端接口

代码:Hotfix.Standard.NPC.TransMultiNpc

接口 描述
SendInteractionRequest 向后台发送NPC交互指令
Transfer 副本传送
OnEnterHandler 进入区域
OnExitHandler 离开区域
OpenUIWindow 打开UI UI/TransMultiSpaceWindow.prefab
CloseUIWindow 关闭UI
CheckPlatformSupport 检查支持的平台

客户端效果

空间配置服务端脚本