覆盖主要内容
版本: 下个版本

Unity3D

Unity3D 组件用于在大屏中渲染 Unity 项目,并支持大屏与 Unity 项目之间进行通信。

样式

基础属性

参数说明
图表宽度组件的宽度
图表高度组件的高度
横坐标组件的横坐标,单位为 px。横坐标为组件左上角距离页面左边界的像素距离
纵坐标组件的纵坐标,单位为 px。横坐标为组件左上角距离页面上边界的像素距离
旋转角度以组件的中心为中心点,进行旋转,单位为度(°)
透明度取值范围为 0~1。为 0 时,图表隐藏;为 1 时,图表全部显示。默认为 1

数据

字段说明

属性类型描述
configUrlstringUnity资源配置文件地址

Unity资源配置文件应包含如下内容,带⭐️表示必选

属性类型描述
companyNamestring组织名称
productNamestring项目名称
productVersionstring项目版本号
baseUrlstring资源基础地址
resources⭐️object资源内容

resources配置内容

属性类型描述
loaderUrl ⭐️stringUnity资源加载器文件,支持相对地址和绝对地址,下同
dataUrl ⭐️string包含资源数据和场景的文件
frameworkUrl ⭐️string包含运行时和插件代码的文件
codeUrl ⭐️string包含本机代码的 Web Assembly 二进制文件

Unity资源配置文件示例

{
"companyName": "Uniplore",
"productName": "FactoryTest",
"productVersion": "0.0.1",
"baseUrl": "https://uniplore-docs.oss-cn-chengdu.aliyuncs.com/bigscreen/unity/UnityWebGL",
"resources": {
"loaderUrl": "Factory.loader.js",
"dataUrl": "Factory.data",
"frameworkUrl": "Factory.framework.js",
"codeUrl": "Factory.wasm"
}
}

配置项说明

配置项说明
数据源点击数据源下拉框,可以修改数据源类型。详情请查看配置组件数据
刷新数据点击刷新数据,组件会按照设置请求最新数据。
查看响应数据点击查看响应数据按钮,会将组件数据展示出来。
受控模式打开开关,组件初始化状态下不请求数据,仅通过回调 id 或蓝图编辑器配置的方法发起请求数据;关闭开关,可以使用自动更新请求数据。
自动更新请求选中后可以设置动态轮询,还可以手动输入轮询的时间频次。

交互

事件

事件参数描述
当收到消息时eventName: string
params: string
当 unity3D 组件接收到来自 Unity 的消息时(该事件需要对 unity 项目进行额外配置)

如果希望在大屏接收到来自 Unity 的消息,还需按照如下配置

  1. 打开 Unity 项目,在Assets目录下新建Plugins文件夹
  2. Plugins中添加 jslib 插件,插件内容如下
// javascript_extend.jslib

mergeInto(LibraryManager.library, {
deliverMessage: function (str, args) {
const eventName = UTF8ToString(str);
const params = UTF8ToString(args);
__UnityLib__.deliverMessage({ eventName, params });
},
});
  1. 在 c#中向大屏发送消息, 可参考如下脚本
using UnityEngine;
using System.Runtime.InteropServices;
public class Test : MonoBehaviour
{

// 声明插件中的方法
[DllImport("__Internal")]
private static extern void deliverMessage(string eventName, string args);

// 需要发送消息的位置
public void TestSendMessage(string param)
{
// 调用插件提供的方法
deliverMessage("login", param);
}
}

动作

动作参数描述
发送消息objectName: Unity 场景中对象的名称
methodName: Unity 脚本中方法的名称
params: 传递的参数
向 Unity 实例对象发送消息,调用一个公共方法

如果希望向 Unity 发送消息,可参考如下蓝图编辑器配置, 需要注意的是parmas只支持字符串,如果希望传递对象,可将对象转换为 json 字符串,然后在 unity 中再转换为对象