前言
自Unity Technologies于今年3月4宣布:备受期待的次时代多平台引擎开发工具——Unity 5正式发布!这是Unity迄今为止最强大的版本,含有大量的图形改进和扩展的编辑器功能集,让开发者具备跨越21个平台创造出色、创新游戏的潜力。此外,Unity还发布了Unity Cloud Build,这使得开发者能够通过云计算更有效率地进行游戏和应用的开发。而现在关于unity5的中文资料比较少,经本人历时4个月精心研究,特放出全面介绍unity5的中文手册,该手册将详细讲述unity5中的新特性以及编辑器知识,以及unity常用的插件、SpeedTree、World Machine、程序材质(substance designer、substance play和bitmap2material)和详细的ShaderLab的使用方法,相信你通过此教材将能基本掌握这款新次世代游戏引擎,做出你自己心目中的精彩游戏~~
目录
3D模块篇
第一章Unity5界面介绍
1.1工具栏
1.2菜单栏
1.3项目(Project)视图
1.4层级(Hierarchy)视图
1.5检视(Inspector)视图
1.6游戏(Game)视图
1.7场景(Scene)视图
1.8分析器(Profiler)视图
1.9遮挡剔除(OcclusionCulling)视图
1.10帧调试(Frame Debugger)视图
1.11动画控制器(Animator)视图
1.12动画(Animation)视图
1.13光照(Lighting)视图
1.14导航网格(Navigation)视图
1.15输出(Console)视图
首先工具栏最左边的是变换工具,依次是选择、移动、旋转、缩放和UI位置定位。该变换工具是针对Scene场景视图进行编辑操作的。
工具栏左边第二个是Gizmo工具,首先Center是选择中心的意思,选择的是多个物体的共同中心点,而Pivot是轴心中心,选择的是当前选中物体的自身轴心点。想要切换他们很容易,比如想要从Center切换到Pivot,只需要点击Center这个按钮即可。切换Pivot至Center方法相同。而Local是使用物体的自身坐标,Global是使用物体在世界上的坐标。有关三维坐标的问题,请读者自行查找相关资料。切换坐标按钮的方法如Center切换Pivot一样。
工具栏最后是层下拉菜单,控制层中物体的显示、隐藏以及解锁和加锁,还有可以编辑层。
其次后面是播放工具,播放工具中左边开始是预览游戏的按钮,当按下此按钮后游戏场景在Game视图(有关Game视图的内容将会在后面介绍)进行预览。播放工具中间是暂停按钮,按下此按钮后将暂停当前游戏预览时的内容,当再次按下,那么从刚才暂停前的预览内容开始。最后播放工具的按钮是逐帧播放,可以在游戏预览开始进行一帧一帧的播放,方便查看游戏中存在的问题,这对于游戏优化是很有帮助的功能。
再其次后面是自定义布局菜单,通过下拉菜单中的内容切换您满意界面布局,当然您也可以自行创建并保存您自己所布局的界面。工具栏最后是Account菜单,此菜单主要是登录注销unity账户和升级unity pro版本的用途。
File菜单,该菜单的主要用途是场景的创建、保存以及最终的发布输出。
(1)New Scene(创建场景),对应的快捷键是ctrl+n。
(2)Open Scene(打开场景),对应的快捷键是ctrl+o。
(3)Save Scene(保存场景),对应的快捷键是ctrl+s。
(4)Save Scene as…(另存为场景),对应的快捷键是ctrl+shift+s。
(5)New Project…(新建工程项目)。
(6)Open Project…(打开工程项目)。
(7)Save Project…(保存工程项目)。
(8)Build Setting…(发布设置),对应的快捷键是ctrl+shift+b。
(9)Build & Run(发布并运行),对应的快捷键是ctrl +b。
(10)Build in Cloud…(发布到云端),此项是Unity5版本的新功
能,通过此功能可以方便的解决脚本分享以及方便修改的问题,这会在以后章节中详细介绍。
(11)Exit(退出unity软件)。
Edit菜单,该菜单的主要是针对对场景的编辑和设定等操作。
(1)Undo Selection Change(撤销操作),快捷键是ctrl+z。
(2)Redo Selection Change(与撤销相反的操作),快捷键为ctrl+y。
(3)Cut(剪切),快捷键为ctrl+x。
(4)Copy(复制),快捷键为ctrl+c。
(5)Pase(粘贴),快捷键为ctrl+v。
(6)Duplicate(复制并粘贴),快捷键为ctrl+d。
(7)Delete(删除),快捷键为shift+delete。
(8)Frame Selected(居中并最大化当前选择的物体),快捷键为f。
(9)Lock View to Select(锁定当前选择物体的视图,当选择所要
操作的物体后,按下此按钮,物体的移动将会带动场景视图的移
动),快捷键shift+f。
(10)Find(按名称查找Hierarchy(层级)视图中对应名称的物体),
快捷键为ctrl+f。
(11)Select All(选择全部物体),快捷键为ctrl+a。
(12)Preferences…(偏好设置)
General(综合设置)
Auto Refresh:自动更新,也就是当编辑器中的资源发生变化时,该项将会自动进行刷新。
Load Previous Project on Startup:在启动unity时是否显示项目向导。
Compress Assets On Import:导入资源至unity中是否进行压缩。
Disable Editor Analytics(Pro版本功能):是否自动把信息发送到unity中。
Show Asset Store search hits:显示资源商店中的免费级收费的数量。
Verify Saving Assets:unity退出时是否提示保存正在编辑的资源。
Editor Skin(Pro版本功能):界面皮肤更换。
Enable Alpha Numeric Sorting:切换层次视图的排序,将此项打勾,
在层次视图中会出现如下图上的按钮,按下这个生成的按钮将会进行变换
排序(默认排序)或字母大小进行排序。
External Tools(外部工具)
External Script Editor:外部脚本编辑器,通过此项可以切换您所擅用的脚本的编辑器,unity支持2种编辑器,一种是默认的ModoDevelop编辑器,还有一种是微软开发的Visual Studio集成环境编辑器。MonoDevelop Solution Properties:unity应该将MonoDevelop写入至解决方案文件(.sln)中。
Editor Attaching:unity是否允许调用外部编辑器进行调试。
Image Application:unity打开图片文件的默认应用程序。
Revision Control Diff/Merge(Pro版本功能):unity是否解决与资源服务器文件中的差异。
Android SDK Location:设置安卓SDK的存放路径,在unity5中安卓SDK必须为5.1以上,否则发布运行游戏会出现错误。
JDK Location:java的jdk存放路径,在unity5中jdk版本最好是1.8以上,否则发布安卓类游戏会报错。
Color(颜色选项),该项主要设置unity编辑器的界面颜色风格,这里不详细介绍。
Keys(自定义快捷键),通过此项可以自定义每个功能的快捷键,这里不详细介绍。
GICache(GI实时全局光照缓存),此项是unity5版本更新后的新功能。
Maximum Cache Size (Gb):最大缓存大小,当缓存文件超过此大小,unity将会清理掉不常用的缓存文件。Custom Cache Location:自定义缓存位置,供所有项目共享此缓存路径。
Cache compression:是否压缩缓存文件,以减少缓存大小。
Clean Cache:清除所有缓存。
Cache Size:当前实际的缓存大小。
Cache Location:当前的缓存路径。
Cache Server(Pro版本功能),此项为缓存服务器选项,这里不详细
介绍。
(13)Module…,此项是查看unity目前支持的设备型号。
(14)Play(播放),此项功能请参照前面的内容。
(15)Pause(暂停),此项功能请参照前面的内容。
(16)Step(单帧播放),此项功能请参照前面的内容。
(17)Sign in…(登录),用于登录unity帐号。
(18)Sign out(登出),用于注销unity帐号。
(19)Selection(选择),用于载入和存储层次面板中选择的物体。
(20)Project Settings(工程设置),对工程进行相应的设置
Input输入,该项主要是用于设置键盘上的按键通过脚本进行交互。
相关内容将会在API章详细讲解。
Tags标签,该项主要是管理标签下的物体,这个是非常有用的,一般我们可以使用FindGameObjectWithTag这个方法获取标签下的单个物体,或者FindGameObjectsWithTag方法获取标签下的多个物体存储至数组中。
Audio音频设置,可以根据需要自行设置。
Time时间设置,可以根据需要自行设置。
Paly播放器设置,根据需要可以自行设定。
Physics物理选项,根据需要自行设定。
Physics2D物理选项,根据需要自行设定。
Quality质量选项,更改此项可以改变画面的质量需求。
Network网络选项,如需要自行设定。
编辑选项,根据需要自行设定。
脚本选项,根据需要自行设定。
在unity5版本前会有一个Render Setting的渲染设置,到了
unity5中已经集合至Lighting中。
(21)Network Emulation(网络模拟),用户根据需要可以设置所
需要的网络传输方式。
(22)Graphics Emulation(图形模拟),用户根据需要选择相应的
着色器。
(23)Snap settings(对齐方式),选择用户需要的对齐方式。
Assets资源菜单,主要管理游戏中的各种资源。除了在Assets菜单
可以创建资源外,在Porject面板中右击也是可以的。
(1)Create(创建资源),可以创建的资源为Folder(文件夹)、C#脚本、javascript脚本、shader文件(后面的shaderlab章节将会详细讲解)、ComputeShader、Prefab(预设),这个是非常有用的,可被重复使用的物体通过使用预设可以较少系统的占用量这对于游戏优化来说是最好不过的了。Audio Mixer(混音器),该内容将会在后面详细讲解。Material(材质),通过材质可以让物体显示出贴图等的效果。Lens Flare(耀斑),该项主要是模拟太阳光的光晕效果。Render Texture(渲染纹理),该项可以实现纹理在运行时创建并更新的功能。LightmapParameters(灯光贴图参数)该项用于Lighiting窗口中设置全局以及赋予单个物体,该内容在实时全局光照(GI)章将讲到。
Animator
Controller(动画控制器),用于控制角色动画的运行逻辑,这将会在动画章讲到。Animation(动画编辑器),这也会在动画章讲到。AnimatorOverride Controller(动画重写控制器),通过使用这个可以在Animator Override Controller面板中自定义动画片段至控制器中,在动画章将会讲解。AvatarMask(身体遮罩),通过使用这个可以控制角色的角色部位是开启还是禁止。PhysicMaterial(物理材质)用于设置物体之间的摩擦力、阻力等。Physic2D
Material(物理材质)用于设置2D物体之间的摩擦力、阻力等。GUI Skin(GUI高级设置),通过该资源可以设置GUI的默认字体等。Custom Font(自定义字体),该资源可以供unity4.6版本及之后的UGUI使用,关于UGUI的知识将会在UGUI章节中详细讲诉。ShaderVariant(shader管理器),用户自定义的shader可以放在该资源下,以便于管理。Legacy文件下的Cubemap(天空盒),需要指定6个Textures图片组成一个天空盒,当然使用Material的Shader下“skybox/6 sided”也是可行的,而且unity5版本的天空盒放入的位置已经不是Render Setting下了,而是Lighting窗口下了,还有unity5中自带了一个天空盒为Procedural,打开unity5的时候的默认的就是这个天空盒。
(2)Show in Explorer
按下此按钮,将会打开资源文件对应的文件目录。
(3)Open
打开资源文件。
(4)Delete
删除资源。
(5)Import New Asset…
导入新的资源。
(6)Import Package…
导入资源包。
(7)Custom Package…
导入自定义资源包,鼠标移动至Import Package上即显示。在
unity5中将不再提供系统自带的资源包,如需使用,请至unity
官网下载。
(8)Export Package…
将资源打成资源包。
(9)Find References In Scene
在场景中查找资源文件夹中对应的文件资源对象。
(10)Select Dependemcles
查找与选择的游戏对象相关联的文件资源。
GameObject游戏对象/物体菜单,可以在此菜单下创建游戏中常用的
游戏对象,当然也可以在层次视图中右击创建。
(1)Create Empty
创建空的游戏对象。
(2)Create Empty Child
创建带父子关系的空游戏物体。
(3)3D Object
创建3D的物体,能创建的物体有以下11种
【1】Cube,unity自带的立方体物体。
【2】Sphere,unity自带的圆体。
【3】Capsule,unity自带的胶囊体。
【4】Cylinder,unity自带的圆柱体。
【5】Plane,unity自带的平面物体。
【6】Quad,unity自带的四边形物体。
【7】Ragdoll…,布娃娃系统。
【8】Terrain,地形系统。
【9】Tree,创建树,关于unity的树生成有很多不足之处,在
后面的SpeedTree章节中我们将会使用SpeedTree来作
为游戏场景的树。
【10】Wind Zone,风系统。
【11】3D Text,3D文字。
(4)2D Object
Sprite,2D精灵。
(5)Light
【1】Directional Light平行灯。
【2】Point Light点灯光。
【3】Spotlight锥形灯。
【4】Area Light区域光。
【5】Reflection Probe反射探头(此项为unity5版本更新后
的新内容,将会在实时全局光照(GI)章中详细做说明)。
【6】Light Probe Group灯光探针组。
(6)Audio
【1】Audio Source音频源,用于播放音频片段。
【2】Audio Reverb Zone音频混合区。
(7)UI,从内容是unity4.6版本更新的内容。此UI为UGUI,相比
以前老版本的GUI来说,能做出更多绚丽的UI特效。此内容将
会在UGUI章详细讲解。
【1】Panel,UI分组。
【2】Button,UI按钮。
【3】Text,UI文本。
【4】Image,UI图片。
【5】Raw Image,UI纹理。
【6】Slider,UI滑动条。
【7】Scrollbar,UI滚动条。
【8】Toggle,UI触发器。
【9】InputField,UI文本框。
【10】Canvas,UI画布。
【11】EventSystem,UI发送事件。
(8)Particle System粒子系统,本内容将会在粒子章讲解。
(9)Camera摄像机,我们在游戏中所看到的画面其实都是由摄像机
照射到的视野所显示出来的。