欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

3D作业 AR/MR技术

程序员文章站 2022-03-20 11:20:48
...

3D游戏作业 AR/MR游戏设计


本次作业我们学习了利用Vuforia制造属于我们自己的AR小游戏,所以我们本周的作业是:

  • 图片识别与建模

  • 虚拟按键小游戏

下面介绍我们的具体开发流程,其实最主要的是配置:


一、前期配置

因为本次作业使用Vuforia进行AR开发,所以我们首先需要使unity可以使用这一功能:

  • 前往Vuforia官网,进行注册登录一条龙服务,这个就不用我们多说了。

    https://developer.vuforia.com/

  • 点击菜单栏上面的downloads,把上面跟unity相关的两个包全部下载下来。
    3D作业 AR/MR技术

  • 创建我们的unity AR项目,将我们下载好的第一个包导入进来,具体的方法是:

    assets -> import package -> custom packages

  • 第二个包解压下来是一个exe文件,我们直接将其下载,下载的目录需要和unity放在同一个目录下面:
    3D作业 AR/MR技术

  • 一切弄完以后,我们应该可以在菜单栏上面的GameObject里面看见多出了一个Vuforia的选项。
    3D作业 AR/MR技术

  • 删去我们的主摄像机,添加Vufoia中的AR camera,使用会提示我们需要下载一些东西,点击确认,可以看见在assets中多出了几个文件夹:例如editorVuforia等等。

至此,我们的前期准备工作正式完成。


二、正式实验

1. 绑定key
  • 首先我们需要**AR功能,具体的设置方法是:

    edit -> project settings -> player -> XR settings -> Vuforia Augmented Realit

    3D作业 AR/MR技术

  • 然后我们首先需要在Vuforia的官网中的develop中申请一个license key,直接在license manager中新建一个license就好,我们直接选择是个人用途,建造好后,点击开,就能看到它对应的key
    3D作业 AR/MR技术

  • 将其复制下来,再进入unity中,点击我们之前前期准备工作中添加的ARCamera,绑定这个key,方法是:

    inspector -> Vuforia Behaviour -> Open Vuforia Configuration -> 将复制的key粘贴进app license key

    3D作业 AR/MR技术

2. 绑定识别卡
  • 我们首先进入到上面说的Vuforia官网,点击上面的developer 中的traget manager,创建一个新的target,并且导入我们的识别图片(图片没有要求,色彩差异大的最好,我们这里面直接用新一小兰的哈哈哈,直接五星)
    3D作业 AR/MR技术

  • 我们将上面的这个识别卡target包下载下来,并且导入我们的unity项目中:
    3D作业 AR/MR技术

  • 导入后,你会发现assets中多出了一个奇奇怪怪的StreamingAssets文件夹。
    3D作业 AR/MR技术

  • 通过组件添加一个ImageTarget,并且将它的数据库和我们导入的数据库绑定,具体的方法是:

    imspector -> Image Target Behaviour -> Database设置为我们的PaKaQiu

    3D作业 AR/MR技术

3. 导入模型

导入我们需要的模型,我的是皮卡丘模型,将其拖动到ImageTarget下面,成为它的一个子级。
3D作业 AR/MR技术

4. 运行项目识别

盯,你的小可爱已经上线,由于配置的过程及其麻烦,而且和版本有关,所以当我的小皮卡丘真的出来的时候,我有种不太真实的强烈幸福感。
3D作业 AR/MR技术


三、虚拟按钮功能实现

1. 添加虚拟按钮

版本问题害死人,之前的有些版本的教程的VirtualButton是直接从Vuforia的文件夹中拖出来的,我找了半天也没找到,emmm……当前版本事实上ImageTarget中自带了这个玩意儿。具体的添加方法是:

Inspector -> ImageTargetBehaviour(script) -> Advanced -> Add Virtual Button

3D作业 AR/MR技术
添加完后,你的Hierarchy里面应该是这个亚子的:
3D作业 AR/MR技术

2. 绑定脚本

调节按钮的位置、大小等使它易于被我们点击,因为我们要制作一个简单的小游戏,仿照潘老师的课件,在按下虚拟按钮的时候让皮卡丘模型扩大,释放的时候输出“释放按钮”,仿照课件我们可以写下代码。

public void OnButtonPressed(VirtualButtonBehaviour vb)
{
	print("按下放大"+vb.VirtualButton.Area.leftTopX);
    Vector3 v3 = transform.localScale;
    transform.localScale = new Vector3(v3.x*1.2f, v3.y*1.2f, v3.z*1.2f);
}
public void OnButtonReleased(VirtualButtonBehaviour vb)
{
    print("释放按钮"+vb.VirtualButton.Area.leftTopX);
}

至于注册环节直接按照潘老师的来写就好。

为了方便我们进行标记,我们在虚拟按钮处放置了一个cube。
3D作业 AR/MR技术

谢谢TA师姐,圣诞快乐!

相关标签: 3D游戏