Unity ARKit的基本使用

首先去官网下载插件: https://www.assetstore.unity3d.com/en/#!/content/92515
或者这个网站【更新比官网快】 https://bitbucket.org/Unity-Technologies/unity-arkit-plugin

ARKit至少需要以下三个类别。

UnityEngine.XR.iOS.UnityARVideo
通过CommandBuffer将iOS设备的摄像头图像绘制到Unity的Camera中的类。将AddComponent添加到相机并使用它。请将YUVMaterial设置为 ClearMaterial属性。
此外,如果SkyBox等出现在相机上,相机的图像将被隐藏,因此您需要将相机的清除标志设置为仅适用于深度。

UnityARCameraNearFar
在Unity镜头剪切面的近/远类适当设置。将它添加到主相机并使用它。

UnityARCameraManager
除了使摄像机的运动与终端的运动同步以外,还可以设置多个项目的类别。将AddComponent添加到任意的GameObject中,使用相机的引用并使用它。


12.png

在这种状态下,如果在执行过程中检查MainCamera的位置和Debug.Log等位置,可以看到MainCamera的位置与摄像机的
运动同步移动。

UnityARSessionNativeInterface

UnityARSessionNativeInterface也是一个重要的类。
顾名思义,它有一个与本地ARKit桥接的作用,
可以接收后面描述的检测结果的获取作为这个类的代表。

接收ARKit检测到的特征点:

可以使用名为
UnityARSessionNativeInterface.ARFrameUpdatedEvent的
委托方法接收ARKit检测到的特征点的更新。

public void Start()
{
UnityARSessionNativeInterface.ARFrameUpdatedEvent + = ARFrameUpdated;
}
public void ARFrameUpdated(UnityAR Camera camera)
{
向量3 [] pointCloud = camera.pointCloudData;
}

UnityARCamera具有pointCloudData属性,
特征点的位置以Vector3的数组存储。

在Unity ARKit插件的示例中,相应的处理在名为
PointCloudParticleExample的类中实现。

接收ARKit检测到的平面信息

ARKit的检测平面信息是
YuenuaitiyARSessionNativeInterface.ARAnchorAddedEvent
YuenuaitiyARSessionNativeInterface.ARAnchorUpdatedEvent
YuenuaitiyARSessionNativeInterface.ARAnchorRemovedEvent
可以接收三个所谓的委托方法。

public void Start()
{
UnityARSessionNativeInterface.ARAnchorAddedEvent + = AddAnchor;
UnityARSessionNativeInterface.ARAnchorUpdatedEvent + = UpdateAnchor;
UnityARSessionNativeInterface.ARAnchorRemovedEvent + = RemoveAnchor;
}
public void AddAnchor(ARPlane Anchor arPlaneAnchor)
{
Debug.Log();
}
公共无效RemoveAnchor(ARPlane锚arPlaneAnchor)
{
Debug.Log();
}
public void UpdateAnchor(ARPlaneAnchor arPlaneAnchor)
{
Debug.Log();
}

平面信息存储在ARPlane Anchor结构中。

为了实现计划信息游戏物体,
在存储必要的信息,ARPlaneAnchorGameObject使用,
受到游戏物体和如下ARPlaneAnchor它有一套。

targetGameObject.name = arPlaneAnchor.identifier;
ARPlaneAnchorGameObject arpag = new ARPlaneAnchorGameObject();
arpag.planeAnchor = arPlaneAnchor;
arpag.gameObject = UpdatePlaneWithAnchorTransform(targetGameObject,arPlaneAnchor);

另外,由于ARPlaneAnchor与 PointCloud 不同,它的连续性
如下更新。

UpdatePlaneWithAnchorTransform(arpag.gameobject,arPlaneAnchor);

在Unity ARKit插件的示例中,相应的处理在名为
UnityARAnchorManager的类中实现。

UnityARAnchorManager在,UnityARUtility已成为实施有地板到一个预制,如果是在一个单一的预制没问题,是顺利的利用。

根据现实显示影子

为了显示阴影,需要以下三个步骤。

将UnityARCameraManager的EnableLightEstimation设置为true
在统一DirectionalLight的创建,UnityARAmbient到AddComponent的
由于shadowPlaneMaterial是作为仅显示阴影的素材准备的,请将其设置为floor等。

在Unity编辑器上进行调试

在Unity ARKit插件中有一个名为UnityARKitRemote的场景文件。
通过在iPhone真机上移动场景,您可以像Unity Remote一样在Unity Editor上操作ARKit。

程序如下。

1 ARKitRemoteConnection装配式放置在现场的
2统一编辑器中的运行运行
在3 iOS的终端UnityARKitRemote打开的场景的含有应用程序
4统一控制台的,连接的播放机,诸如从该选择的“iPhone”
“开始在5统一游戏窗口远程ARKit会话“按钮出现,所以点击

借助此功能,您可以使用Unity Editor在iOS设备上接收相机信息和ARKit信息。
有时视频和识别结果会不断跳过,延迟时间相当长,但我认为这对于需要时间构建的项目会很有用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342

推荐阅读更多精彩内容

  • 可以看随时查Unity-ARKit-Plugin的项目进展:https://bitbucket.org/Unity...
    黑亚当阅读 4,927评论 2 16
  • 111. [动画系统]如何将其他类型的动画转换成关键帧动画? 动画->点缓存->关键帧 112. [动画]Unit...
    胤醚貔貅阅读 12,933评论 3 90
  • 好久没失眠了,脑海里的情景一遍一遍的重演,湖边,湖边木栈道,安静的湖面,带着咸味的清香,水烟的晚霞,翠柳,青石板...
    我就是林夕阅读 198评论 0 0
  • 惠普成为2006至2007年最抢眼的公司之一。它不仅超过了戴尔,重上PC首席,而且还超过了IBM历史性地成为...
    尾巴妖阅读 163评论 0 0
  • 1. 2007年发生了两件大事: 陈浩掉井里了。 陈浩谈恋爱了。 2. 苏安琳对陈浩死缠烂打了两个月后的某一天,陈...
    天蝎三儿阅读 353评论 4 3