1评论

从零开始学基于ARKit的Unity3d游戏开发系列 一

eseedo 2018-01-04 1.5k浏览

前言

无可置疑的是,对绝大多数的中小游戏团队来说,目前Unity3dUnreal Engine4(虚幻4)已经成为3D游戏开发的首选商业引擎。因为Unity3d的简单易上手特性,强大的功能和丰富的游戏资源及扩展功能(通过Asset Store),很多初学者选择了从它开始进入游戏开发的世界。

然而遗憾的是,从2010年之后炙手可热的移动游戏(手游)开发如今已经成了超级红海,甚至是血海。如果大家只是纯粹的个人兴趣导向,那么还是可以学一学unity3d,然后试着做一两款自己喜欢的手游上架。但是如果从商业的角度考量,传统意义上的手游市场已经成了巨头的禁脔。作为小型团队或者独立游戏开发者,或许需要探索一条全新的道路。

苹果ARKitGoogle ARCore的横空出世给我们照亮了前行的方向,虽然目前增强现实和虚拟现实技术都还相当不成熟,但在未知的蓝海中探索,总好过在红海中和一帮巨人搏命厮杀。

在本系列的教程中,我们将一起学习如何从零开始学习基于ARKitUnity3d移动游戏开发。全系列的教程都是基于实战项目的,而且尽可能考虑到初学者可能会遇到的种种困难和障碍。

 

面向的受众:

AR游戏开发感兴趣的人,无论你之前是做什么的

零基础或者只懂一点皮毛的初学者。

如果你已经过了入门的阶段,那么很多内容其实都是可以跳过的,或者你也可以选择无视这个系列的教程。

 

Part 1 开始前的准备

硬件设备:

首先要说明的是,既然本教程是基于ARKitUnity3d移动游戏开发,那么有两大硬件设备是必不可少的。

1.苹果电脑

我个人用的是Macbook Pro 2014年中的版本,建议这个不要省。

2.iPhoneiPad pro

因为ARKit本身对运算性能的要求,因此需要A9或以上芯片,iPhone 6s之前的设备基本上都已经无法使用了。所以建议大家使用6s之后的iPhone,或者是iPad Pro

下面列出了支持ARKitCore MLiOS设备清单:

 

iPhone 6s and 6s Plus

iPhone 7 and 7 Plus

iPhone SE

iPad Pro (9.7, 10.5 or 12.9) 1代和2

iPad (2017)

iPhone 8 and 8 Plus

iPhone X

 

AR游戏开发和普通游戏开发最大的区别就是,模拟器对于AR游戏开发的作用微乎其微,绝大多数时候我们都需要随时通过iPhoneiPad设备进行测试,所以这个也是不能省的。

系统环境:

操作系统是macOS SierraHigh Sierra

特别说明一下,目前(201711月)有大量的第三方软件还不兼容High Sierra,因此个人目前使用的还是Sierra 10.12.6。建议大家如非必要,先不要着急升到High Sierra,可以等到明年初之后升级到新的操作系统.

 

开发工具:

Xcode Xcode 9及以上版本是必不可少的了,本教程写作时所使用的版本是Xcode 9.1(9B55)

如果你还没有安装过Xcode,那么可以在App Store(Mac系统上的)上搜索Xcode并安装。

当然,还有另外一种方式可以安装Xcode,特别是后面需要用到最新beta版的Xcode时。

直接登陆开发者网站:developer.apple.com

在输入开发者账号密码后,点击Downloads。没有Apple ID的童鞋需要通过注册登陆界面注册一个新的账号。

然后就可以下载最新的beta版本的Xcode了。

 

Unity3d

目前Unity最新版本为Unity2017.3,本教程写作时所使用的版本是Unity 2017.2,我们就需要下载旧版本的Unity,首先我们进入官网

官网链接:https://unity3d.com/

 

选择下载个人版

下载Unity2017.2需要将页面拉倒最下方,然后点击下载旧版本Unity (包括Unity Beat版)。

 

在旧版本页面下找到Unity2017.2,点击下载(Mac)。

 

Part 2- UnityC#入门

 

Unity的功能很强大,而其使用界面也很容易上手。但即便如此,我们没有必要一上来就像教科书或者手册一样面面俱全,而是在实际开发项目的过程中来逐渐熟悉。

创建新项目

首次打开Unity 2017.2(或者其它版本),你会看到类似下面的界面:

 

你可以选择Skip跳过,也可以选择点击create one,注册一个Unity ID,然后使用自己的Unity ID来登录。

建议大家还是可以注册一个Unity ID的,因为后面在使用Asset Store(游戏资源商城)购买或下载游戏资源时,也还是需要用到的。另外如果你是Unity

Plus或者Pro的用户,显然更应该使用Unity ID来登陆,以享受PlusPro用户的特权。

登陆成功后会看到如下界面:

 

点击右上角的New,就可以创建新的项目了。

project name那里输入项目名称,比如HelloARKit,然后点击Location下面右侧的省略号,选择项目存放的位置,

 

 

注意到我们可以选择3D或者2D,这是因为Unity3d既可以用来开发3D游戏,也可以用来开发2D游戏,但作为增强现实游戏来说,显然是要选择默认的3D了。2D旁边还有一个Add Asset Package,这个项目中我们暂时不会用到,但是在后续的其它项目中可能会需要在创建时就选择游戏资源包。比如当我们已经在某个项目中导入了ARKit的插件之后,那么在创建新的基于ARKit的项目时,就可以直接通过这里勾选插件,而不再需要重新一步步来导入。

 

这里还有一个Enable Unity Analytics选项,这是Unity官方提供的新特性,可以帮忙分析用户行为,无需添加任何SDK。这里我们保持默认即可。

一切就绪后,点击Create project,我们的第一个项目就创建成功了。此时Unity会自动进入编辑器界面,如下所示:

大概的介绍一下,

A区是所谓的Hierarchy,这里会显示某个游戏场景中的所有游戏对象,而且不同的游戏对象之间存在父子从属关系。

B区是几个核心的视图区,比如Scene(场景)视图,Game(游戏)视图,Asset Store(游戏资源商城)视图,Animator(动画控制器)视图,等等。

C区和D区是Project视图,这里显示了项目中的所有游戏资源(不一定是当前场景中用到的)。

其中C区有点类似文件夹结构,而D区中则是具体的资源。

E区是Inspector视图,显示了游戏对象的各种组件及属性。

F区是工具栏,里面有各种有用的工具。

此外在Mac系统中,菜单栏是在系统最顶部的。

Unity的界面很丰富,但是这里不打算一次性灌输太多,不然也记不住。

 

关于这部分内容,我在新书《从零开始学Unity AR/VR开发》中的第1-3章有涉及,而且很多教程中也都有,这里就不再赘述了。

感兴趣的朋友可以到Github上阅读相关的章节。

https://github.com/eseedo/VRCourse

 

其中的”Unity AR:VR开发入门“中有cha1-3的详细内容。

 

 

好了,这一部分的内容就到此结束,从下一课开始,我们将正式开始学习如何基于ARKit开发iOS上的AR游戏。