
1.4 Unity 3D游戏发布
近年来,随着手机、平板电脑等多种移动设备的兴起,游戏平台不再局限于台式计算机和笔记本电脑。为了使游戏开发人员开发的游戏作品成功地运行在多种平台上,现在流行的游戏开发引擎都具有多平台发布功能。Unity 3D作为一款跨平台的游戏开发工具,从一开始就被设计成便于使用的产品。随着网络技术的迅速发展,Unity 3D功能也不断增强,它不仅支持PC,同时也支持Android、Web、PS3、XBox、iOS等多个应用平台。
虽然Unity 3D能够支持很多发布平台,但是并不代表可以毫无限制地发布。例如,XBox360、PS3和Wii这3个发布平台,必须购买这3个游戏主机厂商的开发者License,才能将Unity 3D开发的游戏发布到相应的运行平台。而要想将Unity 3D开发的游戏成功地发布并运行于iOS终端,还需要安装相应的插件,并且拥有Apple公司的开发者账号。
1.4.1 发布到PC平台

图1.38 Build Settings命令
PC是最常见的游戏运行平台。在2007年之前,PC平台上能够玩的单机游戏实在是少之又少,而几乎就是网游的天下,但是从2007年开始,情况就发生了变化,随着欧美游戏的崛起,很多游戏开始登录PC平台,并且很多游戏类型和好的创意诞生于PC平台。Unity平台支持9种游戏,PC平台就是其中最重要的发布平台之一。
利用Unity 3D开发游戏,在需要发布游戏时,执行File→Build Settings菜单命令,如图1.38所示。在Platform列表框中选择PC,Mac&Linux Standalone选项,在右侧的Target Platform下拉列表中可以选择Windows、MacOS X、Linux选项,在右侧的Architecture下拉列表中可以选择x86或x86_64选项,如图1.39所示。

图1.39 发布平台选择
单击左下角的Player Settings按钮后,便可以在右侧的Inspector面板中看到PC,Mac&Linux的相关设定,如图1.40所示。在PlayerSettings界面中,Company Name和Product Name用于设置相关的名称,而Default Icon用于设定程序在平台上显示的图标。
在PlayerSettings界面的下部有4个选项设置:Resolution and Presentation、Icon、Splash Image和Other Settings。图1.41是Resolution and Presentation的参数设置内容,参数如表1.1所示。

图1.40 PlayerSettings界面

图1.41 Resolution and Presentation参数设置
表1.1 Resolution and Presentation的参数

当完成上述设置或者全部采用默认值后,便可回到Build Settings对话框,单击右下角的Build按钮,选择文件路径用于存放可执行文件。
发布的内容是一个可执行的exe文件和包含其所需资源的同名文件夹,单击该文件后便会出现如图1.42所示的游戏运行对话框。

图1.42 游戏运行对话框
实践案例:PC平台游戏场景发布
案例构思
在一个完整的Unity 3D项目制作完毕后,可以将其发布到很多主流游戏平台,其中PC平台是应用最广泛的平台,本案例主要讲解将Unity 3D游戏发布到PC平台的方法。
案例设计
本案例计划在Unity 3D内创建一个简单的场景,在场景内放入一个盒子基本几何体,并在场景内加入灯光,测试发布到PC平台后的效果,如图1.43所示。

图1.43 测试PC平台发布效果
案例实施
步骤1:启动Unity 3D软件,并设置其存储路径,单击Create按钮即生成一个新项目,如图1.44所示。

图1.44 新建项目
步骤2:执行GameObject(游戏对象)→Light(灯光)→Directional Light(方向光)菜单命令,创建灯光。
步骤3:执行GameObject(游戏对象)→3D Object(三维物体)→Cube(立方体)菜单命令,创建一个小立方体,如图1.45所示。

图1.45 立方体效果图
步骤4:执行File→Save Scene菜单命令保存场景,如图1.46所示。

图1.46 保存场景
步骤5:执行File→Build Settings菜单命令,如图1.47所示。
步骤6:弹出Build Settings对话框,单击Add Current按钮添加当前场景,然后选择Platform(模板),这里需要选择PC,在右侧界面中选择平台,这里需要选择Windows,最后单击Build按钮,如果想编译打包后直接运行,查看运行结果,就单击Build And Run按钮,如图1.48所示。

图1.47 Build Settings命令

图1.48 场景发布窗口
步骤7:弹出Build PC,Mac&Linux Standalone对话框,填写游戏的文件名,可以看到这里是生成Windows下的可执行文件,所以保存类型默认是exe,不需要更改,然后单击“保存”按钮,所图1.49所示。接下来就可以看到Building Player对话框的进度条,等进度条刷新完后,就完成了打包,如图1.50所示。
步骤8:当完成了打包后,游戏程序便立即运行,弹出的配置界面如图1.51所示。此时可以选择分辨率等参数,然后单击Play!按钮即可运行游戏,可以看到运行的游戏界面,因为这里创建了一个简单的场景,所以只看到了一个场景的简单运行界面。

图1.49 游戏发布命名

图1.50 游戏发布进度条

图1.51 游戏配置界面
1.4.2 发布到Web平台
为了使发布的Web版游戏运行流畅,前期需要安装一个浏览器插件Unity Web Player(Unity 3D网页播放器)。访问官方网址http://unity3d.com/webplayer/即可下载UnityWebPlayer.exe安装包,下载后关闭浏览器,双击UnityWebPlayer.exe安装包进行安装。
实践案例:Web平台游戏场景发布
案例构思
Unity 5支持开发者跨越多种平台,包括新的WebGL以及游戏主机、台式机、移动设备和VR设备。随着网络技术的快速发展,各种基于Web的设计都成为研究热点,本案例主要讲解将Unity 3D游戏发布到Web平台的方法。
案例设计
本案例计划在Unity 3D内创建一个简单的场景,在场景内放入一个盒子基本几何体,并在场景内加入灯光,如图1.52所示,测试发布到Web平台后的效果。

图1.52 Web平台发布效果测试
案例实施
步骤1:打开要发布的Unity 3D工程,执行File→Build Settings菜单命令,如图1.53所示。
步骤2:执行File(文件)→Build Settings(发布设置)菜单命令,打开场景发布窗口,如图1.54所示。新建的项目默认发布到Web平台,单击Add Current按钮,将刚刚保存的场景添加到发布窗口中,然后选中发布窗口中的Web Player(网页播放器)选项,接下来单击Switch Platform(交换平台)按钮启动该平台。平台启动后,该平台选项后会出现Unity 3D图标,同时Switch Platform按钮会变成灰色。
步骤3:平台启动成功后,单击Build(发布)按钮,发布Web文件,由于发布的是两个文件,所以需要创建一个文件夹,本案例将其命名为scene,如图1.55所示。

图1.53 Build Settings命令

图1.54 场景发布窗口
步骤4:发布之后的两个文件如图1.56所示。双击scene.html打开页面,在弹出的系统提示中单击“允许阻止ActiveX控件”即可。

图1.55 发布文件设置

图1.56 发布后文件
1.4.3 发布到Android平台
Android是目前最流行的一个词,Android的游戏、软件等几乎是人们每天都要用到的。要将apk文件发布到Android平台,必须先安装两个工具:Java(JDK)和Android模拟器(SDK)。
1. 下载Java JDK以及JRE
步骤1:进入网址http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html,选择Java Platform,如图1.57所示。

图1.57 下载Java JDK
步骤2:进行安装,选择Accept License Agreement单选按钮,选择已经被许可的平台,如图1.58所示。在弹出的对话框中选择对应的类型,这里选用Windows x64,如图1.59所示。下载完成后会在Program Files-Java中看见两个文件夹,如图1.60所示。

图1.58 选择Accept License Agreement

图1.59 选择类型

图1.60 下载后的文件
2. 配置Java环境变量
步骤1:打开第一个文件夹bin,查看appletviewer属性,并对其位置进行复制,如图1.61和图1.62所示。

图1.61 查看appletviewer属性

图1.62 复制appletviewer位置
步骤2:打开高级系统设置添加变量,如图1.63所示。选择环境变量,如图1.64所示。单击“新建”按钮,添加两个变量:path和JAVA_HOME,如图1.65至图1.67所示。

图1.63 高级系统设置

图1.64 选择环境变量

图1.65 新建变量

图1.66 添加path变量

图1.67 添加JAVA_HOME变量
3. Android模拟器(SDK)的安装
步骤1:进入网址https://developer.android.google.cn/studio/index.html选择适合自己的计算机类型的Android SDK,在网页最下端选择SDK进行下载,如图1.68所示。

图1.68 下载Android SDK
步骤2:将下载好的工具解压(这里可以下载到任意磁盘,只要自己记住在哪里就可以),如图1.69所示。接下来找到SDK Manager,将SDK Manager复制到tools文件夹下,打开tools→android并运行,如图1.70所示。

图1.69 解压工具

图1.70 运行tools→android
步骤3:选择相关开发工具,单击Install按钮开始安装Android SDK,如图1.71至图1.73所示。

图1.71 选择相关开发工具(1)

图1.72 选择相关开发工具(2)

图1.73 安装Android SDK
实践案例:Android平台游戏场景发布
案例构思
目前手机的应用非常广泛,几乎每个人都有一部手机,游戏行业当然不会放过这个市场。Unity 3D游戏引擎能够将开发好的游戏直接发布到Android平台上,并且开发了很多游戏,供玩家随时娱乐。本案例主要讲解并测试Unity 3D游戏发布在Android平台的方法。
案例设计
本案例计划将开发完成的Unity 3D游戏发布到Android平台上,实现手机端发布效果,如图1.74所示。

图1.74 在Android平台的发布效果测试
案例实施
步骤1:安装完成后,就可以在Unity 3D中发布Android的APK,打开Unity 3D,找到要发布的项目,如图1.75所示。

图1.75 准备发布的游戏
步骤2:执行File→Build Settings菜单命令,单击Open Download Page按钮,如图1.76所示。
步骤3:执行Edit→Preferences→External tools菜单命令添加环境变量路径,如图1.77和图1.78所示。
步骤4:单击Switch Platform按钮转换平台,如图1.79所示。
步骤5:单击Player Settings按钮,配置相关属性,如图1.80所示。

图1.76 Open Download Page页面

图1.77 添加JDK环境变量

图1.78 添加Android SDK环境变量

图1.79 转换平台

图1.80 播放器设置
步骤6:创建Company Name和Product Name,要保证下方Other Settings中的Package Name与其一致,如图1.81和图1.82所示。

图1.81 属性设置(1)

图1.82 属性设置(2)
步骤7:执行File→Build Settings→Build菜单命令进行测试,导出的文件为APK格式。游戏发布成功后可以看见一个小图标。发布好后,将其直接复制到用户的Android机器中,安装完成后即可运行。