Table of Contents

图灵智能iView SDK接入文档

下载地址:iView-SDK

软件要求

  • 已集成 图灵智能SDK1.0.0.0版本
  • Unity3D(内置渲染管道) 2019.x-2022.x 或 Unity3D(通用渲染管道 >=10.0) 2020.x-2022.x

初始化

  • 导入通过PackageManager导入iView-SDK,iView-SDK目前最新为1.0.0.0。
  • 导入SDK后通过Package>Turing 3D iView>Samples>iView Sample>Scenes>iView Sample查看示例场景
  • 若要在场景中添加iView功能,需要将Prefabs下的预制体拖入到场景中,根据不同渲染管线,如果使用内置渲染管道,拖入iView,如果使用URP,拖动iView URP到场景中。

快速开始

点击场景中的iView对象,可以看到在Inspector面板有如下属性:

12

  • AR Mode Ignore Layers:表示AR相机要忽略的层级,例如场景中有一个模型需要有AR效果,模型层级为Default,则可以将IngoreLayers设置为除Default以外的所有层级,应用运行时,AR相机将仅能看到Default层,AR相机渲染的层级可以出屏。
  • StandardMode Ignore Layers:表示标准2D相机要忽略的层级,一般情况下此相机与场景主相机层级设置相同即可。
  • AR Mode EnvironmentLayers:表示虚拟屏幕的层级渲染,在iView AR模式运行时,会有一个虚拟屏幕生成在场景内,此相机会将能看到的内容绘制在虚拟屏幕上。在iView软件中观看时,此虚拟屏幕会覆盖实际的屏幕
  • ARModeMaskLayer:iView会生成一个透明遮罩,此遮罩会将RenderQueue值高于MaskRenderQueue值且在Mask后方的物体遮住,实现屏幕边缘裁切的效果。
  • Mask:遮罩的父物体,正常情况下保持默认即可
  • BackGround:相机画面绘制,正常情况下保持默认即可
  • MaskRenderQueue:取值范围需大于1000,若场景内模型等物体没有特殊RenderQueue设置,此值保持默认即可
  • ARCamera:AR相机,保持默认即可
  • StandardCamera:标准相机,保持默认即可
  • VirtualScreenCamera:环境相机,保持默认即可
  • OnConnect:连接完成事件:当应用与iView建立连接关系后的响应事件
  • OnDisConnect断开连接事件:当应用与iView断开连接关系后的响应事件

一些常用方法

当前连接状态,可以通过GlobalData.ConnectState获取

  • NotReady:iView没有打开或未检测到有可连接的iView
  • ReadyToConnect:iView前置准备工作已就绪,可以连接
  • Connected:当前已连接
public enum iViewState
    {
        NotReady = 1, // The system is not yet ready for connection.
        ReadyToConnect = 2, // The system is ready to establish a connection.
        Connected = 3, // The system is connected.
    }

GlobalData.OnConnectStateChange连接状态改变事件,可以通过此事件进行连接状态监听,当然也可以直接使用iView对象的OnConnect和OnDisConnect进行连接状态改变响应。 Connect方法和DisConnect方法:

  • 当iViewSDK状态为ReadyConnect时,代表连接已经准备就绪,此时可以通过SDKiView.Instance.TryConnect方法进行连接。
  • 当iView状态为Connect时,代表当前在连接过程中,此时可以通过SDKiView.Instance.DisConnect方法进行连接。
  • 这两个连接和iView软件中的连接功能相同,不同点仅是发起端不同,一个是应用主动发起连接,一个是iView发起连接。

   public void Connect()
        {
            SDKiView.Instance.TryConnect();
        }

        public void DisConnect()
        {
            SDKiView.Instance.DisConnect();
        }


Caution

当iView软件进行校准时,如果当前应用在连接状态,则会先断开连接再进行校准,因此如果有连接状态改变时要进行的操作,需要对连接状态进行监听