Notes:单进程模式下,Editor打包出的Android Studio工程或APK包括Client和Service
点击File >> Build Settings,打开面板
切换至HMI Android平台
Export as Render Service中,选择Single Process Mode后,关闭窗口
选择需要使用URAS的Camera
在该Camera的Inspector面板中,找到Camera下的Target Display参数
展开下拉列表,选择一个Display使用
注:此处的Display与Android端工程TuanjieView的tuanjieDisplay对应
Touch事件处理的代码sample:
void HandleTouch()
{
for (int i = 0; i < 10; i++)
{
#if ENABLE_INPUT_SYSTEM
if(i < Touch.activeTouches.Count)
{
var touch = Touch.activeTouches[i];
Vector3 touchPos = touch.screenPosition;
Debug.Log($"Get touch position {touchPos} at display {touch.displayIndex}");
}
#else
if (i < Input.touchCount)
{
Touch touch = Input.GetTouch(i);
Vector3 touchPos = touch.position;
Debug.Log($"Get touch position {touchPos} at display {touch.displayIndex}");
}
#endif
}
}
注意:若有Canvas,Canvas的Render Mode不能为Overlay

将Tuanjie Editor导出的Android工程文件导入Android Studio
XML文件中
tuanjieDisplay:对应在Tuanjie Editor里Camera上的Target Display,输出camera的渲染结果
tuanjieRenderFrameInterval:camera渲染间隔
tuanjieView既可以在layout.xml中配置,也可以通过代码动态添加
tuanjieViewType:分为TextureView和SurfaceView两种,对应安卓的原生控件。并提供接口在运行时切换
可调用TuanjieView.sendMessageToTuanjie方法向场景中物体发送信息,例如可以向Cube物体发送消息,将颜色进行改变。传入参数分别为物体名称、方法名称和方法参数
启动渲染服务调用ensureStarted方法
停止渲染服务调用ensureStopped方法
【示例】:Android Studio运行app之后,点击页面上的start render service按钮,调用ensureStarted开启服务,等待服务启动成功后可出现画面另外两个按钮分别对应增加/减少帧渲染间隔

开发完成后,可通过Build >> Build Bundle(s)/APK(s) >> Build APK(s)正常打包APK文件
Notes:跨进程模式下Tuanjie editor只会打包Service,Client需要在安卓原生app基础上导入RenderServiceLibrary作为Library,Service和Client之间通过aidl进行通信

点击File >> Build Settings
同单进程
使用Android Studio,将RenderServiceLibrary包导入Android Studio工程
在原生app的build gradle中添加implementation project :RenderServiceLibrary ,路径根据需求可修改
在AndroidManifest.xml中添加:
TuanjieView创建时需要指定service包名进行绑定
同单进程
|
|
|
| :- | :- |