这个游戏引擎大名鼎鼎,容易学,能很快弄出很多好玩的游戏。Unity3D有个好处,是兼容往下的版本。这一点起码比起隔壁的Cocos2dx好多了,Cocos2dx现在都不知道更到什么版本了,3.x只能用VS2012以上的版本玩就算了,还和2.x的语法与配置大相径庭;另外,大家熟悉的SSH三大框架现在更到面目全非,各位玩JAVAEE的都懂……Unity3D其实也和SSH一样,不是版本越新越好,虽然现在Unity3D已经出到5.x了,但4.x才是资料最多,版本最稳定,关键是使用者最多的版本。网上流传着一句话,至少让Unity3d出到当前系列的完整版才用,不然各种坑爹bug弄死你。Unity3d 4.x照样有5.x的各种常用功能,没必要最新的。
一、Unity3D 4.x下载、安装、配置
0、安装之前,最好自己先装好VS2010。我用的是cn_visual_studio_2010_ultimate_x86_dvd_532347.iso,大家自己找下,毕竟Unity3D的脚本,基本上是用C#来写的。
1、其实Unity3D的下载还是有点复杂的,不过国外网站都这样,和Ubuntu的下载差不多,不是说我是抱残守缺,但新版本我不能说用就用,你给我加了许多特效那就不好了,另外,在线安装是什么意思?你不知道我们这里的网络装个.Net Framework、Android SDK都蛋疼的要死,甚至DirectX和Nvidia显卡驱动必须先拔网线的吗?
所以一般步骤,进入Unity3D的官网:https://unity3d.com/,如下图操作,选择Older versions of Unity获取旧有版本的JDK,这样就不用下载一个下载器。
2、找到我们的Unity4.x版本的最后一般,直接下载Unity编辑器即可。这个版本比起坑爹的5.x,需要注册,又没有离线模式好多了。
3、下载之后的安装是无脑的下一步的安装,不过有几个位置需要注意下。
完整安装是肯定的,毫无疑问。难道以后用到,你还慢慢重装一次,别这么傻。
然后安装位置这里,安装路径是带Unity\Editor的,不仅仅只有Unity这个根目录的,是的,你没有看错,这里\Editor请不要强迫症去掉,因为你以后这个Unity根目录可能要装些其它支持组件什么的。
还有就是装完就不要让它直接运行了,我们还要搞些事情。
4、还需要UniPatcher_v2017.4.exe这种工具弄一下Unity3D,我已经给大家上传了一份:http://download.csdn.net/detail/yongh701/9810237。毕竟Unity3D是类似visual studio一样是要给钱的,作为一个初学者,在我朝这样的土壤里面,先上车后付费大家都懂了吧~
点击Browse选择,刚才你在安装Unity3D\Editor那个目录!
然后点击PATCH,等一下就好,等到弹出对话框,提示成功和谐Unity3D,就可以关闭这个工具,直接打开桌面上的Unity3D。
如下图,选择Create New Project,设置好工程所在的路径,点击“Create”开始开发。
二、Unity3D的Helloworld
Unity3D的Helloworld分为两种,一种是纯拖界面的Helloworld、另一种是脚本的Helloworld。
1、纯拖界面的Helloworld
这也是传说中UGUI的内容。自从Unity 3D 4.6之后开始支持。类似C#开发窗体那样拖个Label标签的意思。下面是具体步骤。
(1)如图,选择GameObject->UI->Canvas设置一个“帆布”,其实就是一张画纸,我们上来先做2D。不要以为2D不叫事,现在任何大作的开始菜单、选项菜单,不还还是2D吗?
(2)之后我们切到Unity3D的2D开发界面,如图。
(3)我们再于Canvas之上(保证现在Hierarchy界面选择的是Canvas而不是其它)添加一个Text。
(4)在属性界面设置字号,你有兴趣还可以改改颜色什么的,利用矩形工具设置大小,利用移动工具将其移到Canvas的中央。
(5)点击上方的播放按钮查看最后的效果。
2、Unity3D脚本的Helloworld
这里的意思是,我们通过编写脚本(程序)来创建一个组件。
1、新建工程之后,在Project窗口选择【Assets】,然后按右键选择【Create】→【C# Script】创建一个新的C#脚本,将脚本命名为Script,其实这个名字也是随便改的,如图所示。
之后在VS2010写下如下的一段代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Script : MonoBehaviour
{
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
}
void OnGUI()
{
//改变字体大小
GUI.skin.label.fontSize = 120;
//定位显示(左边距x, 上边距y, 宽, 高)
GUI.Label(new Rect(10, 50, 900, 120), "Hello World!");
}
}
默认函数Start可以理解为初始化函数,Update函数为触发函数,每一帧动作时被执行,OnGUI函数用于绘制UI界面。
3、之后我们要将这个脚本附着到主摄像机里面,也就是让摄像机执行这个脚本。
4、之后可以直接点击上方的运行预览下效果。
三、Unity3D工程的发布
1、至此,Unity3D的Helloworld开发完毕了,但玩家需要拿到的一个exe,而不是这些,那么如何发布呢?需要将前面的劳动成果保存一下。在菜单栏选择【File】→【Save Scene As】将当前关卡保存在Asset目录内,命名为Hello World。可以看到,我们一共创建了两个文件:一个是脚本文件;另一个是关卡文件,如图所示。
2、在菜单栏选择【File】→【Build Settings】打开Build Settings窗口,选择【Add Open Scenes】将当前关卡添加到Scenes In Build下面的框中(也可以直接将关卡文件拖入框中),还可以在Build Settings窗口选择【PlayerSettings】,进行更多设置。如图所示。在Build Settings窗口选择【Build】,然后选择保存路径即可将程序编译成独立运行的标准Windows程序。
3、双击刚才发布的Helloworld.exe,进行一些基本的游戏设计之后,则可以看到如下的效果。这Helloworld简直好玩。
其实纵观整个过程,初始接触Unity3D感觉就像以前在Flash写ActionScript,这里面的场景概念,还有摄像机、光照场景分明就是当年的Flash的2D舞台换成了3dsmax,只是Unity3D用了更多人熟悉的C#来写脚本。所以嘛,Unity3D现在的香火会这样鼎盛,其实还是传承了Flash的一些东西。比起用C++来写语言,无可视化界面的Cocos2dx在这方面不得不说是她的优势所在!