(PS:本文主要起一个抛砖引玉的作用。欢迎同学们积极留言交流,大牛不吝指教![]() 本文一共分为三个部分,第一部分是插件的下载,第二部分是插件的评测,第三部分是插件的学习方法。 插件的下载
下载所有插件
注:所有付费插件下载仅用于学习和交流用途,请在下载后24小时内删除,商业用途请购买正版。(你懂的)
Unity插件本文分以下九个类别介绍,后面跟的是风宇冲的推荐插件:
一 界面制作 推荐:NGUI 二 2D游戏制作 推荐:2D Toolkit 三 可视化编程 推荐:PlayMaker 四 插值插件 推荐:iTween,HOTween 五 路径搜寻 推荐:Simple Path 六 美术及动画制作 推荐:RageSpline,Smooth Moves 七 画面增强 八 摄像机管理 九 资源包 十 其他类
一: 界面设计(UI) -
综述:所有UI插件可以实现的功能和效果最后都是差不多的,区别是最终游戏的运行效率和内存占用量不一样,开发的速度也不一样。 NGUI和EZGUI是属于一类,核心是将UI元件图合并到一张大图(atlase)上,再根据uv去找对应的小图,最后使用2D
camera绘制。 iGUI是另外一种UI插件,它可以说是Unity自带UI的升级版,也就是OnGUI的延伸。了解OnGUI()的同学都知道,它的运行效率是比较低的,没有Drawcall合并,iGUI也一样。中文等字体制作一般是用Glyph Desginer 或者 Bmfont, 这点NGUI和EZGUI是通用的。总体来说, GUI插件的功能还是略微有限, 无论是什么GUI插件想做复杂点的功能就必须得用脚本。学习维护起来还是稍微有点麻烦的,故依然建议一个团队只一个人或几个人专门负责UI。 补充对比:
12: UI部件嵌套 支持 不支持
【NGUI】
![]()
细节功能
运行效率
内存占用
开发速度
掌握时间
跨越平台
文档教程
综合评价
优点:UI合成图(atlas)管理方便,字体RGB压缩,持续更新,支持Flash,支持语言本地化即多语言,支持图像高低清配置。
缺点:卷屏界面(ScrollList)的实现稍微麻烦。
介绍:目前Unity最好用的UI 插件。重点是 NGUI应该会一直更新,跟着Unity的脚步。 NGUI也更方便于管理atlas,至少每个Sprite在atlas中都有名字来管理可以很方便的添加删除共用,并且Sprite的位置大小信息可见也 可适当调整。
使用注意:
(0)ui元件的本地缩放,也就是localscale对应元件的像素尺寸。
(1)ui元件是不能嵌套的,可以用空GameObject,table,panel等容器来装。
(2)任何同一张图集(atlase),控制前后显示顺序用Depth。不同图集用坐标Z值。
当涉及不同图集时,Scene窗口下的显示并不正确,而Game窗口下的显示是正确的,所以此时用Game窗口来调整UI.
(3)记得Camera下的Even Receiver Masek一定要与UI对应,不确定的话就选Everything。
(4)UIRoot的Automatic选项: 勾选:所有UI按像素尺寸显示。(Game窗口小的话显示不全整个界面) 不勾选:填满整个区域。(对屏幕小的电脑尤其有用,可以用小Game区域来制作ui内容)
(5)包含字体的图集加新图进去后,字体经常容易错乱。解决的办法就是在选中该图集后,再点字体图,最后在“Atlas Maker”界面update一下即可。 其他类似的也可以这么做。选该图集下的所有原图,然后对图集update一下,效果即可恢复正常。
如果还不正确,则选Font Maker,然后把txt赋给FontData,图赋给texture,然后"or select"选择字体,之后'replace the font'即可。
(6)UIAnchor的Bottom、Left等定位是根据当前屏幕的实际尺寸决定的,和UIRoot的框不存在对应关系。
UIAnchor可以嵌套,但是定位的效果恒定。
(7)UIPanel可以嵌套,在涉及多图集的UI时,可以用UIPanel的嵌套的实现不同图集的层级关系。注意:单一Panel下的属于某图集的所有元件必须为统一Z值。如果Localz 不统一的话,则取panel下使用该图集的元件中z绝对值最大的z值为图集在该panel的z值。例如有UISprite A的local.z为 -301,UISprite B的local.z为 300,那么该Panel该图集的z值为-301。有UISprite A的local.z为 51,UISprite B的local.z为 -49,那么该Panel该图集的z值为51.
【FastGUI】
![]()
细节功能
运行效率
内存占用
开发速度
掌握时间
跨越平台
文档教程
综合评价
NGUI插件的补充,必须先在工程里导入FastGUI。主要用途为对Photoshop的支持,可以利用Photo的分层快速制作NGUI的UI部件,直接在Unity里使用psd即可。
细节功能 ★★★
运行效率 ★★★★
内存占用 ★★★★
开发速度 ★★★★★
掌握时间 ★★★★
跨越平台 ★★★
文档教程 ★★★★★
综合评价 ★★★★
比较经典的UI插件,目前已经基本不更新了。
优点:Unity的元老级UI插件,方便实现快速开发
缺点:已基本不更新,UI合成图不能单图调整。
使用中注意的几点:
1:如果是Prefab中有EZGUI的东西的话,每次修改完最好Apply一下,然后点击Build Atlases
2:如果贴图合成图(atlase)都默认在Sprite Atlases文件夹下,如果图错乱的话,直接删除贴图重新点击Build Atlases生成贴图合成图即可。
3:位于scrolllist 下的一切物体必须为 EZGUI的组件 , 否则下拉的时候会不被切图。 scroll item 显示不完整 4:假如 点pixel perfect后 仍不显示尺寸则 点击运行则尺寸恢复正常 5:Panel只 build atlas 精度不够: 6:如果是移动平台开发切记EZ GUI组件选项不能钩 pixel perfect,因为其有auto resize会使在iphone 尺寸错误。 7:EZ脚本里很多有用函数,其默认为protected,建议将有用函数改成public,方便调用。
细节功能
运行效率
内存占用
开发速度
掌握时间
跨越平台
文档教程
综合评价
优点:快速开发,可视化
缺点: 效率低
iGUI是所有UI制作插件里最牛的可视化工具了。它的口号是 WSYIWYG(What you see is what you get),翻译成中文就是 所见即所得。其UI的实现核心是和Unity自带UI也就是OnGUI()是一样的。所以导致了做到后期一整套UI可能会有几十甚至上百的Drawcall。
二:2D游戏制作 -
Toolkit 综述:核心都是 2d精灵(Spritte)以及帧动画的管理和使用。个人觉得2D Toolkit 比Ex2d好些,更像是制作商业2D游戏的软件。
【2D Toolkit 】
![]() 细节功能
运行效率
内存占用
开发速度
掌握时间
跨越平台
文档教程
综合评价
优点:专业,靠谱
缺点:精细的碰撞实现较麻烦
你想做2D游戏?没错,就是它了!笔者也做过一些2D游戏,棋牌的飞行的RPG的都有,2D Toolkit还是很靠谱的。缺点是碰撞检测要么是简单的多边形(三角形四边形神马的)之间碰撞,或者是简单多边形和复杂多边形之间。复杂多边形和复杂多边形之间的碰撞是不支持的。而且复杂多边形的碰撞体需要自己去画。想做出类似像素碰撞检测的效果也是可以的,沿着图形本身的边缘去画,如果你不嫌麻烦的话。
【Ex2d】
![]()
笔者接触了一点,看了其官方提供的示例,感觉比较娱乐。不多评价了。
三:可视化编程(Visual Scripting)
综述:可视化编程在商业游戏开发里可以辅助编程开发而不是替代编程。PlayMaker可以用来做状态管理。uScript可以用来做简单游戏的开发。
【PlayMaker】
![]()
可视化程度★★★★☆
细节功能
运行效率
开发速度
掌握时间
跨越平台
文档教程
综合评价
优点:状态管理
缺点:实现其宣扬的无编程做游戏不靠谱,多状态功能难管理
Asset Store上面很火的插件,官方说可实现无编程制作完整的游戏。这个个人感觉,你要做个类似俄罗斯方块或者弹弹球之类的小游戏是可以的,但是完全不编程制作商业级的游戏真心不靠谱。举个例子,游戏要赚钱你要嵌入广告sdk或者是IAP等付费sdk,那么你就得写脚本去实现。 不过PlayMaker也还是有可取的地方,其核心在于 将例如站立行走死亡等等状态通过状态机简称FSM(finite state machine)来管理。简单来说一个物体就是一个FSM,一个状态对应一个state。游戏过程中能在物体上方实时显示该物体的状态。并且有很方便的图表管理。缺点在于:所有功能必须对应状态。有很多共同状态都需要的功能用Playmaker做会极其麻烦,比方说,你有一个人物,有5个状态,还有行走攻击等控制输入,每个状态都要控制输入的话,同样的代码你就要有5份,很麻烦。而正常代码的话只需要简单的一段代码几个状态的与运算就可以了。
可视化程度★★★★★
细节功能
运行效率
开发速度
掌握时间
跨越平台
文档教程
综合评价
优点:流程清晰
缺点:功能不够细致
如其宣传的,uScript模仿了UDK和CE3的开发形式,注重逻辑流程,所见即所得,逻辑性直观紧凑。但是模块还不够全面功能不细致,例如你可以给材质赋贴图,但是要改变材质颜色就找不到对应功能了,类似情况挺多的。
![]()
四:插值插件 (Tween tool)- 【iTween】
![]() 实用性
简易度
综合评价
优点:免费,通用,实用
缺点:不够稳定,不能返回改变目标tweener
介绍:免费的经典tween插件。Tween,包括位移,缩放,颜色变换等。NGUI,EZGUI,PlayMaker等很多插件都使用它来实现tween部分。缺点是tween的过程中,如果物体被销毁等情况,容易产生不可预制的错误。
【iTweenPath】 可视化
实用性 简易度
综合评价
优点:免费,路径清楚,实用
介绍:iTween的补充插件,主要是可视化的绘制路径,然后在iTween里使用生成的路径。可以用于TD地图怪物的路径移动。
使用方法:(1)导入插件后 (2)随便任何一个物体,把iTweenPath拖上去 (3)inspector里设置路径点数量 (4)在选中该物体的前提下,在Scene View里拖拽各个点绘制路径 (5)给路径起名例如 'xyz' (6)代码里使用即可,例如iTween.MoveTo(obj, iTween.Hash("path",iTweenPath.GetPath("xyz"),"time",10f)); 实用性
简易度
综合评价
优点:免费,管理比iTween更方便,使用范围更广
缺点:可视化补充件HOTween Edtior作用position时不能像iTweenPath那样显示路径。 介绍:类似iTween的
tween插件,功能更为强大。目标类型不再仅仅为position,color等固定类型,任何你在脚本里定义的public, non-static的 numeric 即 color/vector/int/float/double/string 变量都可以作为目标。并且调用函数后会返回tweener,如果储存tweener可以随时 监测/停止本次tween。 使用方法:(1)导入插件 序列tween使用方法: 可视化
实用性 简易度
综合评价
优点:高效,快捷
缺点:插值作用于position时,无路径显示。 使用方法: (1)选中目标物体 (2)Component->HOTween->HOTweenComponent (8) 关闭'AutoDestroy'和‘Autoplay ’ (9) 脚本加
五: 路径搜寻(Path Finding)-
综述:路径搜寻主要用于怪物的AI行走,以及人物点击移动。这两个路径算法核心思想都是:先将地图划分成方格区域(像棋盘一样),然后根据方格内是否有障碍物对方格进行赋值,最后生成 单位位置 与 目标位置间的格子路径。想具体学习的童鞋可以百度 A star等算法。
掌握时间
文档教程
综合评价
官方介绍说支持500+agent,即支持500个单位同时寻路,下方提供的对应插件中带有展示Demo。
【A* Pathfinding Project】
![]() 运行效率
掌握时间
文档教程
综合评价
使用标准的A star算法,下方提供的对应插件中带有展示Demo。
六:美术及动画制作 -
Moves
【Smooth Moves】
![]() 实用性
简易度
掌握时间
文档教程
综合评价
介绍:神马?你们团队没有做动画的人?那么就用它吧!2D骨骼动画制作插件,不支持Flash。骨骼动画文件可以复用。比帧动画省空间占用。 优点:动画文件复用,省空间
缺点:
使用简介:
一:制作Atlase (1)Project栏下创建Smooth Moves Texture Atlase Data (2)选中atlase
二: 制作Animation
(8)选择任意同行的黑块,右键选择Duplicate First Key Frame (9)执行 6-7 (10)然后设置pivot,rotation等信息(11)搞定了!点击play看效果吧! 【RageSpline】
![]() 实用性
简易度
综合评价 ★★★★☆
介绍:矢量绘图工具,矢量的好处大家应该都知道,就是不会因为放大而损失质量。 适用于矢量风格的2D游戏以及2D UI的制作。程序会了这个美术就要失业了!
使用方法: (1)新建一个空的GameObject (2)贴上RageSpline脚本,然后基本形状就出来了 (3)调整形状,具体是 鼠标双击=创建节点 N=圆滑和锋利的边角模式切换
K=削薄边缘 L= 增厚边缘 delete=删除节点 (4)调整边缘颜色outline color 以及填充颜色 Fill Color,大功告成! 使用注意:
如果要加碰撞的话,就要在脚本面板里把'Physics'勾选成Boxed,之后运行时会自动在该物体之下生成平板状的Box Collider将该物体包裹。
![]() ![]()
【Mega-Fiers】
![]() 实用性
简易度
综合评价 ★★★★★
介绍:模型变形工具,简单实用,可以用于3D字体的弯曲效果等等。
使用方法:非常简单, (1)选中要变形的物体,(2)上方菜单Component->Modifiers->Modify Object (3)添加任何预制变形,例如弯曲则是 Component->Modifiers->Bend (4)之后在Inspector里调对应数值即可。
七:画面增强 -
Shader Editor
【Bitmap2Material】
![]()
细节功能
运行效率
掌握时间
文档教程
综合评价
优点:方便,实用。
缺点:尚未发现。价格过高
![]()
使用方法:将包里的Bitmap2Material.sbsar拖进unity工程,然后直接将你的原图拖到下方例图的'Input'上去,它会自动生成法线贴图灰度图等效果图,效果还是不错的。并且支持将随便的一张图制作成Tile图,可以无缝拼接的哦。之后就自己在Insprector里微调吧!
![]() ![]()
【UniSky】
实用性
简易度
效果 兼容性
综合评价 ★★★
优点:云与日月层叠效果逼真,有云起云散
缺点:缺少下雪等特效,有紫色斑点等BUG。 介绍:24小时实时 【Strumpy Shader Editor】 ![]() 可视化
简易度
综合评价 ★★★★★
优点:实用,免费 介绍:渲染器Shader的可视化编辑器,可视化的界面和PlayMaker,uScript用起来差不多。顶点渲染,像素渲染和光照模型渲染三种模式都支持。使用前最好对 三种类型Shader的代码写法有所了解,再使用该工具能起到事半功倍的效果。 注意:(1)每次改动完需要点Update Graph更新预览。 (2)删除连线:鼠标移动至线上,点击右键
八:摄像机管理 - 风宇冲推荐 Security Camera
【Security Camera】 ![]() 实用性
简易度
综合评价 ★★★★★
优点:简单,实用
介绍:摄像机管理插。Unity里管理多相机很麻烦,Camera Preview不实用,来回启用禁用也繁琐。Security 【Ultimate FPS Camera】
![]() 介绍:FPS摄像机的控制插件,没什么好说的。工程里导入插件后直接按里面的文档做就行了。
九:资源包类(Models & Particles)
综述:这个就不用多说了,好多有用的资源啊,太省事了!
【Nature Pack】 介绍:大自然的树,花,草等模型 【Ruin city】 介绍:一个被破坏的城市的模型 【CartoonSnow】 介绍:卡通雪效果 十:其他类
【uniSWF】
![]() 优点:支持元件经典动画(Classic Tween),无需转换成序列帧
缺点:不支持图元(Shape)形变,转换成序列帧
介绍:在unity里使用flash的元件(主要是MovieClip)来制作UI什么的,对有Flash开发经验或者Flash资源的可能比较有用。
【ORK】(Okashi 【Tower Defense
ToolKit】 ![]() 介绍:不评价了,理由前文有提到过, 仅提供下载。 还有下面一些主流插件没有找到,欢迎补充。 【Mixamo】无下载
介绍: 模型动画插件,500美刀,伤不起啊。不过Unity4的动画系统已经改进很多。所以这个插件不用也罢。
【Audio Toolkit】无下载
介绍:音频管理插件,可以提高音效质量。32.5美刀
【FX Maker】
介绍:粒子系统库。100美刀
【Easy Water】
介绍:水面模型。7.5美刀
【Easy Touch】
介绍:触屏控制插件。20美刀
【MakeYourLevel】
介绍: 环境模型库。 22.5美刀
插件的学习: 学插件有如大侠学武功。先练内功根基,再练上乘武功。内功根基是指 线性代数,计算机图形学,编程基础,Unity基本API等等。基础不要求同学们要有多精通,至少基本的原理和使用要懂。上乘武功是指各种插件。如果内功 根基不扎实而强修秘籍的话,也许会像天龙八部里的鸠摩智一样走火入魔。在游戏开发里,通常表现为卡在一个地方,模模糊糊的怎么都过不去,各种纠结。假如你 插件的辨别:游戏开发如大侠比武,比的是游戏,武功(插件)不同,实力当然也不同。 好的武功能把你的特性发挥的淋漓尽致,PK有如行云流水。差的武功会让你瞬间被秒杀,无缘Grossing榜。好的插件能很好的和你的项目本身配合,达到 提高开发效率的目的。不好的插件你研究它得花费大量时间又还得花时间,又还得花时间修改调试,很有可能反而会降低效率。所以分辨插件的优劣很重要。我总结 插件的选择: 上乘武功需要专精,令狐冲专精剑法,独孤九剑笑傲江湖,郭靖专精掌法,降龙十八掌威震武林。你不可能把天下所有武功集于一身。Unity开发也是,不可能 所有插件你都精通,只能是选取一些对你用处比较大的插件重点学习使用。所以插件的选择就比较重要了、一般来说比较实用的是单个功能块的插件,比如做UI选
NGUI, 插值控制用iTween, 2D游戏用2D Toolkit等等。而综合类插件就不建议实用了。例如做塔防类游戏的 Tower Defense ToolKit, 做RPG游戏的Okashi RPG Kit,这类插件是专门为做一类游戏而生,集成了很多很多功能,但是每个功能又做不到很专业,所以假如你要用,还得自己改,而这类插件一般定制的调整空间 比较小,目前来说还达不到专业的级别。所以如果你做很专业领域的游戏,比如赛车,有个start kit能节省很多时间,毕竟一辆车有几十上百个参数,通常没有必要自己做物理模型。其他一般的游戏比如塔防,闯关什么的就没必要找个类似start kit的东西了。
2D 横屏动作游戏 :2D Toolkit + NGUI
3D 第一人称射击 :NGUI + Simple Path +
Camera + Stumpy Shader Editor 独立开发2D游戏:(1)Photoshop/Illustrator等外部绘图软件
Smooth Moves + (2)RageSpline +
简易非商业开发:iGUI + iTween
塔防游戏: iTween/ Simple Path + NGUI
|
|