UnityApp
Unity应用程序 #部署指南
应用配置
UnityApp的应用的配置文件为AppConfig.xml,此文件存在于AppData/LocalLow/XTC/FMP目录中,其中XTC/FMP会根据衍生应用的定义而不同,衍生应用的概念请参阅设计文档中的UnityApp一章。AppConfig.xml的内容如下:
<?xml version="1.0"?>
<Schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Body>
<VendorSelector active="default" />
<Logger level="4" />
<Security dcgen="1" serialnumber="" />
</Body>
<Header>
<Field attribute="LogLevel.level" values="日志等级,可选值为:0(NONE), 1(EXCEPTION), 2(ERROR), 3(WARNING), 4(INFO), 5(DEBUG)5, 6(TRACE), 7(ALL)" />
<Field attribute="Vendor.Selector.active" values="激活的虚拟环境的目录,如果没有激活的虚拟环境,会显示虚拟环境选择界面" />
</Header>
</Schema>
VendorSelector.active
激活的虚拟环境
default
Logger.level
日志的等级
4
Security.dcgen
设备码生成算法
1
Security.serialnumber
序列号
默认为设备码
Security.dcgen 为0时,使用全部硬件加系统信息算法生成,生成的序列号为小写,不会有重复,但在系统更新或有外部硬件接入时,设备码会变化。 Security.dcgen 为1时,使用主要硬件信息算法生成,生成的序列号为大写,会有重复,但在有外接硬件时不会变化。
AppConfig.xml如果不存在,程序在运行时会自动创建。
虚拟环境配置
UnityApp运行后,会从激活的虚拟环境中加载模块和资源。激活虚拟环境的方式主要有:
命令行设置
-vendor=
应用配置文件AppConfig.xml中设置
VendorSelector.active
字段
优先级别为命令行方式高于应用配置文件方式。
默认的vendor的名称为default。
每一个vendor具有自己的元数据定义文件meta.json,此文件内定义内容如下:
{
"Uuid": ""
"Name": "XTC.Demo.CultureWall",
"MultiScreenRow": 1,
"MultiScreenColumn": 1,
"Display": "演示/文化墙",
"SkinSplashBackground": "",
"SkinSplashSlogan": "",
"GraphicsFPS": 60,
"GraphicsQuality": 3,
"GraphicsPixelResolution": "6480x1920",
"GraphicsReferenceResolutionWidth": 1920,
"GraphicsReferenceResolutionHeight": 1080,
"GraphicsReferenceResolutionMatch": 1.0,
"Application": "",
"DependencyConfig":"",
"BootloaderConfig":"",
"UpdateConfig":"",
"ModuleConfigS": {},
"ModuleCatalogS": {},
"ModuleThemeS": {},
}
Name
虚拟环境的名称
Display
Vendor选单显示的名称
MultiScreenRow
多屏行数,设置实际的物理屏幕的行数,在某些情况下避免屏缝
MultiScreenColumn
多屏列数,设置实际的物理屏幕的列数,在某些情况下避免屏缝
SkinSplashBackground
过场阶段显示的背景图,图片模式为循环平铺
SkinSplashSlogan
过场阶段显示的标语图,图片模式为原始大小
GraphicsFPS
画质帧数,一般为30或60,帧数越高对硬件性能要求越高
GraphicsQuality
画面质量,1=非常低,2=低,3=中,4=高,5=非常高,6=极高
GraphicsPixelResolution
画面物理分辨率
GraphicsReferenceResolutionWidth
UI界面适配分辨率的宽度
GraphicsReferenceResolutionHeight
UI界面适配分辨率的高度
GraphicsReferenceResolutionMatch
UI界面适配分辨率的权重,取值范围为[0.0, 1.0],0为完全适配宽度,1为完全适配高度
Application
启动的应用程序的路径(Web平台有效)
DependencyConfig
模块依赖配置的base64编码,空值时加载DependencyConfig.xml文件
BootloaderConfig
模块引导配置的base64编码,空值时加载BootloaderConfig.xml文件
UpdateConfig
框架更新配置的base64编码,空值时加载UpdateConfig.xml文件
ModuleConfigS
各个模块的配置的base64编码,空值时加载configs目录下的xml配置文件
ModuleCatalogS
各个模块的资源目录的base64编码,空值时加载catalogs目录下的json配置文件
ModuleThemeS
各个模块主题文件的读取地址列表
UnityApp会依据此元数据文件,进行更新框架、聚合资源、加载模块、解析配置等操作。
更新配置
默认vendor的快速配置
默认的vendor可以直接在目录中创建url.txt文件。
AppData/LocalLow/XTC/FMP
|- default
|- url.txt
在url.txt中写入vendor的meta.json的下载地址即可。
http://oss.xtech.cloud/xxxxxxxxxxxxxxxxxxxxxxxxxxxx.json
运行程序后,会自动从此地址下载vendor的meta文件,然后更新框架、聚合资源。
合并本地资源
此功能1.22.0以上版本支持
UnityApp启动后,会从远端资源库中拉取所有catalog中contentS字段中的资源,如果部分资源希望使用离线方式,跳过聚合,可按以下方式配置:
在指定的vendor目录,新建.syndication文件夹
在.syndication中新建以资源包的uuid命名的ignore文件,例如0d949fc4-4a4e-4c77-bb5e-e5d0485c56f9.ignore。
完成配置后,目录结构如下:
|- {name_of_vendor}
|- meta.json
|- .syndication
|- 0d949fc4-4a4e-4c77-bb5e-e5d0485c56f9.ignore
|- ...
UnityApp启动后,在资源聚合阶段,检测到存在聚合忽略文件,则会跳过对应的整个资源包的下载。
使用Vendor选单
UnityApp支持在程序启动后,自动读取所有的vendor目录下的meta.json文件形成一个选单列表,在选单中选择一个vendor进入。
要使用vendor选单的方式,需要注意以下几点:
vendor文件夹中必须存在至少包含Name和Display两个字段的meta.json文件。
vendor文件夹的名字和meta.json的Name字段名字必须一致。
不使用命令行参数设置vendor
AppConfig.xml中的VendorSelector.active为空。
更新日志
1.36.0 [2023/05/14]
[新增] 集成PostProcessing标准包
1.32.0 [2023/2/23]
[新增] 资源聚合支持使用FileEntry.Url字段进行下载
1.31.0 [2023/2/23]
[新增] 添加serialnumber设置
1.30.0 [2023/2/16]
[更新] 框架更新为.net7
Last updated