ARkit 收藏本版 已有4人收藏 +发表新主题
查看: 25495|回复: 4
打印 上一主题 下一主题

ARKit实现僵尸移动

[复制链接]

ARKit实现僵尸移动

xieyoulong 发表于 2017-8-8 19:06:13 浏览:  25495 回复:  0 [显示全部楼层] 复制链接
本帖最后由 xieyoulong 于 2017-8-8 19:14 编辑

ARKit实现僵尸移动
本次小案例我们使用ARKit实现一个僵尸的简单识别以及交互。
首先我们在Unity资源商店下载“ARKit”插件并导入。


正常情况下在导入到Unity工程中之后会顺利编译,因本人使用模拟器顾此处在导进去之后会有一处报错为:

此时只需要删除整个ARKitRemote文件夹即可。
为了方便我们快速实现功能,这里直接打开“UnityARKitScene”场景,接着删除场景内如下游戏对象:


在删除完以上游戏对象之后我们再次打开Unity资源商店下载一个僵尸模型并导入到工程中。



此处我们只是简单操控僵尸的移动,所以这里将僵尸模型更改为旧版动画模式,然后拖给“HitCubeParent”成为其子物体:


同时,给场景中的僵尸添加名为“UnityARHitTest”的组件,将其父物体拖到“HitTransform”处:


最后我们新建一个C#脚本起名“ZombieController”来控制僵尸的移动和行走动画的播放。

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class ZombieController : MonoBehaviour
  5. {
  6.     Animation Anim;
  7.     private bool Move = false;
  8.     void Start ()
  9.     {
  10.         Anim = GetComponent<Animation> ();
  11.         Anim.Stop ();
  12.     }
  13.     void Update ()
  14.     {
  15.         if (Move)
  16.         {
  17.             transform.Translate (Vector3.forward * Time.deltaTime *(transform.localScale.x * .05f));                        
  18.         }
  19.     }
  20.     public void walk()
  21.     {
  22.         if (Anim.isPlaying == false)
  23.         {
  24.             Anim.Play ();
  25.             Move = true;
  26.         }   
  27.         else
  28.         {
  29.             Anim.Stop ();
  30.             Move = false;
  31.         }
  32.     }
  33. }
复制代码

将脚本拖到僵尸身上,然后在场景中新建一个画布用来创建一个按钮控制僵尸的状态。




在此处调用脚本内控制僵尸移动的函数即可。
最后,我们将该工程导出到手机就可以看到僵尸向你徐徐走来的效果啦。


ARKit技术交流qq群482631386
ARVR训练营www.arvrthink.com

支持原创,转载时请备注原文链接



分享至:
| 人收藏
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2013-2017 ARinChina-增强现实中国技术论坛   All Rights Reserved.