探索Metastack客户端交付工程

MetaStack客户端工程对应独立元宇宙的发布单元,通过配置少量流程控制代码组合必要的组件,打包后获得承载独立元宇宙的App,作为应用容器运行时加载副本场景。

1.客户端架构

  • APP/Zone:

    • Logic(逻辑部分): 包括了APP的核心逻辑,涵盖了应用程序的各个方面,从用户界面到数据处理。Logic是构建APP功能和行为的引擎,确保应用的正常运行和用户体验。
    • Assets(数资部分,可热更): 这一部分负责管理应用的数资,包括Assetsbundle(Addressable)以及支持热更新的Hotfix和version_config.json。通过热更机制,开发者可以动态更新应用的资源,提供更灵活和即时的更新服务,使应用能够随时适应不断变化的需求和环境。
  • 客户端底座能力:

    • 核心组件: 这一部分涵盖了数资管理(规范定义、下载器和加载策略)、场景加载和切换(资源和脚本引擎管理)、Native(原生接口)、消息总线机制以及交互适配。这些核心组件旨在为开发者提供构建在线和本地APP所需的通用能力,让开发过程更高效且具备更广泛的适应性。
    • 服务组件: 服务组件的关键任务是连接世界服务引擎、运营后台、开放平台、云存储以及百度AI能力(包括PTA、RTC、文心一言等)。通过诸如MCKBase、云控组件、中台通信、登录服务等功能,服务组件助力开发者实现元宇宙应用后端服务的无缝对接,提供必要的基础能力,使开发者能够更专注于应用的业务逻辑。
    • 业务组件: 基于核心组件和服务组件,业务组件是构建元宇宙APP核心业务逻辑的关键,帮助开发者更便捷地开发和部署元宇宙应用,确保应用的业务逻辑具备创新性和高度定制性。

2.数资结构(Assets)

目录 描述
version_config.json 版本配置文件,记录目录版本号,目录中每个文件路径和md5,用于目录下载和文件校验
Hotfix.dll 数资脚本
其它 用Addressable生成的bundle,配置文件

3.工程目录结构

目录 描述
ZionClient 客户端主工程,用于日常开发,Windows,Android,iOS打包
ZionPico Pico与主工程差异部分,覆盖ZionClient打包Pico
ZionQiyu 奇遇与主工程差异部分,覆盖ZionClient打包奇遇

3.1.ZionClient目录结构

目录 描述
Assets Unity 工程,用于场景制作和调试
Package 基于Unity Package Manager 的组件库:
Baidu 开头的是百度研发的组件,可以通过npm服务下载

3.2.ZionClient/Assets目录结构

目录 类型 描述
AddressableAssetsData 数资目录 addressable(可寻址资产管理系统)本地的资源的信息文件
Arts 副本 主版本数资
Avatar 工具 内部调试Avatar效果的目录
AvatarModels 数资 Avatar模型数资
Editor 工具插件 工具插件
Elevator 数资 热更新HybridCLR插件生成文件
HybridCLRData 热更新插件 大量同一角色DrawCall优化工具
MCKComponents MCK组件功能脚本 MCK组件,功能脚本集合
Plugins 插件 插件
Prefabs 预制体目录 预制体目录
Resources 数资目录 数资目录
Scripts 脚本 脚本代码文件
StandardResources 数资目录 通用基础资源
StreamingAssets Unity默认文件夹 热更资源目录
ThirdParty sdk 核心脚本文件
UrpShader urp shader urp管线下shader集合
概述探索Metastack副本工程