
Unity3D
文章平均质量分 92
yongh701
这家伙很聪明,什么都没有留下
展开
-
【Unity3D】GIF与序列帧动画的使用
2D游戏实质上就是图层叠图层的过程,在一张巨大的图层中,不停播放动画的过程。因此,序列帧动画和GIF在2D中占据真很重要的地位。如果拿Unity3D制作2D游戏,由于Unity3D不接受GIF动画,所以动画要按照最原始的游戏制作方式,利用序列帧大图完成。在《【Photoshop】合并一系列序列帧图片成序列帧大图》(点击打开链接)中,我曾经提到如何用常用的图片处理软件Photoshop cc将G原创 2017-10-06 09:33:15 · 12438 阅读 · 1 评论 -
【Unity3D】无限的横轴背景
在街机类的横轴游戏Arcade Game,我们需要背景,但又不想这个背景浪费我们太多的美工时间,可是又不想给玩家一种偷工减料,粗制滥造的感觉。这时我们需要一个无限的横轴背景。如下图所示:无限的横轴背景和《【Unity3D】连续滚动的背景》(点击打开链接)的原理差不多,只是这次允许玩家自由操纵游戏主角的移动。因此,我们需要在此的制作上加点东西。一、场景布置还是这个经典的,原创 2017-09-25 09:39:37 · 3097 阅读 · 0 评论 -
【Unity3D】导入FBX模型使用Legacy动画的Scale缩放问题
3dsmax做的含FBX动画模型导入进Unity3D之后总需要对其缩放Scale调整一番,毕竟模型是在3dsmax中做出来的,不可能和Unity3D中的场景完全匹配。我们自然而言地会对模型的Scale属性进行调节,以放大或者缩小从而适应当前场景的大小。于是,问题就来了,在播放动画的时候,部分模型,会让我们惊讶地发现,明明我的Scale调好了,但在动画播放的时候,又回到原来大小了。如下图所示,就原创 2017-09-13 23:22:11 · 7895 阅读 · 0 评论 -
【Unity3D】跟随
跟随在游戏中也很常见,特别在一些RPG游戏里面,他实现起来也不太难,下面就用一个例子来说明这个问题。如下图所示,红球是我们的主角,而点击蓝球NPC1和绿球NPC2之后,蓝球和绿球就自动跟随红球了,玩家则演变成控制一个队列。然后在屏幕的左上角显示当前的队列,玩家点击相应的名字,则取消跟随了,这个球就恢复原来的状态了。同时可以看到,我们的主角红球实现了《【Unity3D】自动寻路》(点击打开链接)原创 2017-08-24 16:37:09 · 3425 阅读 · 1 评论 -
【Unity3D】刚体自动寻路的抖动问题和运动边界、空气墙的制作
《【Unity3D】自动寻路》(点击打开链接)给我们带来很多方便,尤其是3D游戏的主角移动方面,但是这个东西同样也会带来很多问题。如下图所示。这是一个比较失败的自动寻路例子,由于蓝色的球并不是让玩家主控,只是一个NPC,而这个NPC未来又可能像主角一样进行移动,我们无法像白色的立方体如同墙一样,在自动寻路界面给它上一个Navigation Static属性,因此,我们只是给红球和蓝球共同上一个原创 2017-08-23 17:56:37 · 13538 阅读 · 2 评论 -
【Unity3D】UGUI向导式界面和组件复用
如下图:为了达到不设置这么多个输入框InputField和确定、取消按钮的目的,实现组件复用,并且指导用户完成一行行的输入。因此设置了这个所谓的向导式界面。整个界面的布置非常简单,如下图所示。布置好之后,同时将各个组件命名,便于在脚本中控制。至于向导的白色箭头1.png,是一张在Photoshop空白背景下,画的白色箭头。如下图所示,在Rawimage的Texture选原创 2017-08-21 15:02:04 · 1707 阅读 · 1 评论 -
【Unity3D】UGUI组件的监听
组件的监听在各大编程语言中司空见惯,也就是这个组件一旦出现某种情况就执行某段函数。在Unity3D中也不例外,在《【Unity3D】场景切换、UGUI组件事件、开始游戏与关闭游戏》(点击打开链接)与《【Unity3D】对话框、隐藏与显示、拖拽》(点击打开链接)之中,其实已经涉及到UGUI组件监听的大部分知识了,但是都是需要在Editor中经过一系列的设置才能让监听顺利进行。如何让UGUI组件的原创 2017-08-19 22:26:28 · 4811 阅读 · 0 评论 -
【Unity3D】回合制游戏
回合制游戏一直在游戏史,至少是在中国的游戏历史上扮演很重要的角色。从仙剑到梦幻,这类游戏深受玩家喜爱。那么在Unity3D中怎么实现呢?下面用一个比较简单Unity3D的一对一回合制游戏来说明这个问题。其实也不难,关键是理清各个处理关系。如下图所示,绿色代表玩家操控的主角,蓝色代表遇到的敌人,分别赋予大家100HP,然后玩家打敌方一下,敌方就-40HP,玩家被敌方摸一下就-30HP。下面是玩家原创 2017-08-17 23:21:39 · 14771 阅读 · 2 评论 -
【Unity3D】动态文本的滚动条
在《【Unity3D】公告栏与开始界面的布置》(点击打开链接)曾经做了一个不太好的示范,这种UGUI的滚动条布置虽然简单,但只适用于静态文本,对于动态文本的话,还需要一定的设置。如下的例子,是在一个框中,每个0.5s就会多增加一行的动态本文,但是右侧的滚动条却能很好地配合其滚动。这个UGUI应该如下布置。1、首先还是整一个Plane或者Image,这里是Image,然后上Mask和原创 2017-08-16 16:52:27 · 4506 阅读 · 2 评论 -
【iTween】利用协程完成多个动作、iTween的动作序列
在《【iTween】单点移动和旋转》(点击打开链接)和《【iTween】指定路径位移》(点击打开链接)我曾经介绍过iTween的使用,在iTween中同时做移动和旋转的动作是合法的,比如如下的代码:using UnityEngine;using System.Collections;public class NewBehaviourScript : MonoBehaviour{原创 2017-08-15 16:54:20 · 3566 阅读 · 0 评论 -
【Unity3D】协程Coroutine的运用
网上经常有些资料对一个概念讲得极其透彻,但对于我这个简单粗暴高效率的程序猿猴来说,只希望知道你这个东西怎么用。对于协程Coroutine这个东西,在我之前的博客或多或少有用过,但其实都用不好,原因是我没确切了解协程Coroutine到底是什么东西。直到我再次苦于如何打断某段代码的执行,希望回调地执行某段代码的时候,重新审视起Coroutine这个单词。实质是Co合作+routine一系列的事物(也原创 2017-08-15 11:16:56 · 2329 阅读 · 0 评论 -
【Unity3D】3dsmax中带Vray材质的3D模型的导入
相信做3D的人,不可能没听过3dsmax,至少你不是做美工的,也知道白富美的美工MM就是用这东西,给你这个Unity3d写程序的屌丝来输送这东西。其次,相信了解过3dsmax的人,不可能没听过Vray,许许多多的场景,只需要利用Vray就能收到很真实的光影效果。可惜的是,Vray是3dsmax一个插件,这个渲染器由于光影效果过于逼真,渲染一张图常常需要几秒~几分钟,而Unity3d有自己的渲染器,原创 2017-07-07 21:01:36 · 43814 阅读 · 6 评论 -
【Unity3D】分裂平面的跳跃与自动寻路
《【Unity3D】自动寻路》(点击打开链接)中还有很多值得深究的地方,虽然在《【Unity3D】自动寻路的跳跃》(点击打开链接)已经实现在自动寻路中的跳跃,但同时也带来了一个问题,如何在分裂平面中进行跳跃?同时跳跃完毕还是可以自动寻路的?下面继续举一个例子说明这个问题:如图所示,设置两个分裂的Plane,小球Sphere能够在它们之间以跳跃的方式越过。制作过程如下:一、场景布原创 2017-06-21 09:00:38 · 3425 阅读 · 0 评论 -
【Unity3D】自动寻路的跳跃
《【Unity3D】自动寻路》(点击打开链接)万般好,但锁死Y轴这点导致非常蛋疼的一个问题,我需要在自动寻路的过程允许游戏主角进行跳跃。毕竟玩家都说了,在3D游戏里面不让主角跳跃是一个很严重的问题,就像《阿玛拉王国》本来做得非常好,但就是不能跳,导致大打折扣。那么如果在Unity3D自动寻路的过程中进行跳跃呢?下面举一个例子说明这个问题:如图所示,假设图中的小球就是我们的主角,我按左键原创 2017-06-19 10:42:21 · 4083 阅读 · 0 评论 -
【Unity3D】3D模型的自动寻路与Animation连击
在《【Unity3D】3D模型的使用——FBX的使用与Animation设置》(点击打开链接)曾经说明了,在Unity3D中使用3D模型,本文将进一步地说明如何用这个3D模型配合《【Unity3D】自动寻路》(点击打开链接)做出游戏主角的移动效果,同时进一步地实现连击。本文使用的是:http://download.csdn.net/detail/yongh701/9867149中一个英雄模型。原创 2017-06-13 10:48:22 · 3271 阅读 · 0 评论 -
【Fracturing & Destruction】点破小球——Unity3D中达到条件才触发的物体爆裂、炸裂、碎裂效果
在《【Fracturing & Destruction】Unity3D的物体爆裂、炸裂、碎裂效果》(点击打开链接)提到了Unity3D的物体爆裂、炸裂、碎裂效果到底是用哪些组件去制作的,但是只是提到如果制作一个碰撞时的击碎效果,当然这也是这个组件最基本的使用,不过,在实际上,更多情况是需要直接利用代码控制一个物件是否破碎,可以称之为“条件碎裂”。那么在Unity3D中,如何做到达到条件才触发的物体原创 2017-06-11 21:01:40 · 8623 阅读 · 2 评论 -
【Unity3D】3D模型的使用——FBX的使用与Animation设置
FBX的使用与Animation设置是一个很有必要的技能,对于美工MM送过来的3D模型你应该懂得如何将其设置到游戏场景之中使用,不然真的羞死人的,这都不会。毕竟游戏里面许许多多的主角的动作都是一系列已经做好的3D动画,包括行走、攻击动作等,很少人在update()中来写一大堆来实现的。下面列举两个例子,说明FBX的使用与Animation设置,说白了,就是3D模型如何在Unity3D中使用。文原创 2017-06-10 21:18:50 · 107637 阅读 · 7 评论 -
【Unity3D】地形和天空盒子
Unity3D自带地形和天空盒子,可以很轻易就做出3D地形和天空贴图。无须写一行代码。下面举一个例子说明如下图的场景实现:一、地形1、通过【GameObject】->【3D Object】->【Terrain】能添加一个地形并且在Asset中,通过【Import Package】->【Terrain Assets】可以导入Unity3D自带的地形贴图2、在地原创 2017-05-19 20:34:26 · 9897 阅读 · 0 评论 -
【Fracturing & Destruction】Unity3D的物体爆裂、炸裂、碎裂效果
如果要想做到如下图的爆裂、炸裂、碎裂效果特效:自己手写可不容易,因为需要利用《【Unity3D】Mesh》(点击打开链接)将一个物体分解成多个碎片,然后再写一系列的方法。此时可以利用到Unity3D的一个插件Fracturing & Destruction,官网上60美金,但用和谐的我,也给大家上传了一份:http://download.csdn.net/detail/yongh701原创 2017-05-18 16:00:27 · 20373 阅读 · 3 评论 -
【Unity3D】自动寻路
毕竟游戏里面,不能所有物体都要求它按照一条定向的路径移动的,需要给玩家一个操作空间,让玩家点哪,这东西自然而然地去哪里。因此自《【iTween】指定路径位移》(点击打开链接)之后,自动寻路的需求应运而生。不过,Unity3D自带的功能,就能完成这个看起来高大上的功能。下面举一个例子说明这个问题。如下图,摆了4个cube当作墙,然后摆一个球,当作游戏的主角,鼠标点哪走哪,但关键是不会出现穿墙的情原创 2017-05-17 17:24:11 · 10584 阅读 · 0 评论 -
【Unity3D】改变鼠标样式
Unity3D改变鼠标样式很简单,直接就封装好方法,以满足在游戏里面定制自己的鼠标样式的需求。下面举一个例子来说明这个问题。我需要将光标改成如下的形状:注意这张图片是经过处理的png,白色的地方都用photoshop抠成透明了。要在游戏里面实现如下的效果:将a.png导入Unity3D,可以在主摄像机挂载如下的脚本CursorChange.cs:using Unit原创 2017-05-17 16:17:00 · 7096 阅读 · 0 评论 -
【iTween】指定路径位移
上一篇《【iTween】单点移动和旋转》(点击打开链接)介绍了如何使用iTween对Unity3D的物体实施位移、旋转等动画,如果在iTween中需要指定路径位移,建议再导入一个官方的iTweenPath插件,这东西还是在Asset Store有,而且免费,但我这种用和谐版Unity3D的人,还是只能用.unitypackage我也给大家上传了一份:http://download.csdn.net原创 2017-05-16 20:49:11 · 3695 阅读 · 2 评论 -
【iTween】单点移动和旋转
在Unity3D实现移动和选择本身就很容易,一个Transform.Translate/Rotate则可以完成,但问题是在整个过程Unity3D几乎可以说没有动画,或者说表现移动和旋转动画量不够。此时需要用到iTween这个插件让Unity3D中的3D问题的移动和旋转更加炫。iTween本身就是一个免费插件,但是由于我的Unity3D是和谐版的Unity3D,所以不能使用Asset Store原创 2017-05-16 20:05:01 · 3318 阅读 · 0 评论 -
【Unity3D】Mesh
Unity3D如果要用代码绘制不规则形状的立体图形,必须借助Mesh。其实除了Unity3D提供的Cube、Sphere、Capsule、Cylinder、Plane,可以用GameObject.CreatePrimitive(PrimitiveType.XX);来生成以外,其余的3D图形,如果你不是直接导入模型的话,都要用Mesh去构造。Mesh本质上是一堆由三角形组成的物体。下面用Mesh来画原创 2017-05-10 17:00:25 · 5638 阅读 · 1 评论 -
【Unity3D】平面绘图——GL与GUI
在Unity3D中绘制一个平面图形可不容易,可别惯性思维觉得,嗯,这引擎3D的事情都能解决了,2D的不叫事情。其实除去布置UI,在Unity3D中绘制一个2D平面图形是很蛋疼的一件事情。不然的话,也不会有大量的平面图形绘制插件出现。如果不用插件的话,需要利用的GL去绘制平面图形,而在屏幕中动态放置文本则需要用的GUI。GL是Unity3D直接调用底层的OpenGL图形库来进行图形绘制,GUI估原创 2017-05-09 15:48:25 · 16699 阅读 · 2 评论 -
【Unity3D】世界坐标与屏幕坐标
Unity3D由于是在三维世界中编程,而最终的结果是需要反馈到肉眼所示的2D屏幕之上的。这就产生了一种比较需要考虑的问题,尤其在一些涉及屏幕与Unity3D的3D世界交互的情况。网络上对于这方面的文字,大部分罗列了许许多多文字与代码或者API,甚至连什么视口坐标也带上了。其实在于我个人看来,关键是世界坐标与屏幕坐标之间的互转。在Unity3D中一打开就会有一个主照相机Main Camera,根原创 2017-05-08 17:42:02 · 34432 阅读 · 3 评论 -
【Unity3D】导入字体与淡入启动场景
启动场景一般直接简单放个影片,或者高端些则使用淡入效果完成。如下图所示:这使用Unity3D很容易完成,脚本也很简单,就是透明度Alpha变大、字体变大与延迟函数构成的。同时,这里的字体换成微软雅黑了,借此说明Unity3D如何导入字体的。首先,我们从C:\Windows\Fonts文件夹拷贝出自己的喜欢的字体到一个纯英文的路径。微软雅黑拷贝出来有两个文件,msyh.ttf是普原创 2017-05-04 20:17:05 · 7060 阅读 · 0 评论 -
【NGUI】背包
背包系统在各类游戏里面很场景的,甚至各类商城也可以套用这套背包系统。主要涉及一个是建立背包的表格布局问题,一个是建立背包之后的,游戏物品的拖拽问题。比起原生的UGUI,NGUI对于物体的拖拽支持比较好,做背包系统利用NGUI效率比较高。下面介绍如何用NGUI完成一个背包系统。如下的图所示:背包本身能自由拖拽。假设有4个道具,拖入背包能自动贴到背包的格子里面。物品拖出背包,会自动完成原创 2017-05-04 17:10:53 · 2357 阅读 · 3 评论 -
【NGUI】滚动条
本文与《【Unity3D】公告栏与开始界面的布置》(点击打开链接)是姊妹篇,将利用NGUI完成滚动条的创建。NGUI的滚动条是直接可以利用滚动视图创建的,而不是用多行输入框TextBox改出来的。比起原生的UGUI,NGUI的滚动视图的创建也是不难的。做出来还是同样的效果:制作过程如下:1、导入了NGUI之后,在Asset搜索control,拖入一个垂直滚动条预设。再创建一个滚动条原创 2017-05-03 16:33:07 · 2942 阅读 · 1 评论 -
【NGUI】各个组件的应用与数值获取
NGUI是做UI的,自然不能不谈各种UI组件。常见的NGUI的组件有按钮button、输入框InputField、复选框Checkbox、下拉列表PopList、滑块Slider,当然还有在《【NGUI】标签页》(点击打开链接)提及过的单选框Toggle。HTML仅有都能做一大堆事情,我相信NGUI这些控件灵活运用的话足矣让你布置游戏的UI。本文将举一个例子介绍这些NGUI控件的使用,同时说明它们原创 2017-05-03 11:51:26 · 2297 阅读 · 0 评论 -
【NGUI】标签页
NGUI的标签页不用写代码,拖拖控件就能完成,当然,首次使用不熟悉可能要找N久。导入了NGUI之后,先NGUI->Create->2D UI,切到2D界面,你会发现有个超大的Camera图标,在中央,非常不和谐。选择Gizmos,将3D Gizmos调到最小。此Camera则能隐藏掉,可以愉快地创建UI了。之后,创建按钮,你会发现在NGUI中没有创建Button的选项。因为NGUI的按原创 2017-05-02 20:57:34 · 1195 阅读 · 0 评论 -
【Unity3D】设置不打开上次的项目
部分Unity3D可能会在每次开始时候,自动打开上次的项目,这会导致载入非常慢,同时,我们也不需要接着上次的项目接着做。我们更愿意使用新建项目界面:这需要如下设置:【Edit】->【Preferences...】->【General】->【勾选Always Show Project Wizard】即可。原创 2017-05-02 19:18:04 · 4310 阅读 · 1 评论 -
【Unity3D】利用TextAsset读入文件并生成地图
Unity3D可以利用C#的文件流读入文件,但不建议这样做,因为自身就提供了一个TextAsset用于读入数据,尤其是可以将一个关键的csv和txt文件放到Resource文件中,让发布的时候能让其自动打包,不会让用户轻易修改看上去没这么业余。同时比起《【C#】txt的读写》(点击打开链接)的读入方法,利用TextAsset读入数据,比文件流更加简单。下面举一个例子来说明这个问题。有一个这样的原创 2017-05-02 18:04:12 · 5267 阅读 · 2 评论 -
【Unity3D】键盘鼠标控制视角的移动
在3D游戏里面,视角是一个很重要的因素,部分玩家对锁视角嗤之以鼻,因此视角也是游戏制作里面需要努力的方面。其实也不难,换到Unity3D里面是想办法控制摄像机的移动。下面举一个简单的例子说明在Unity3D如何用键盘鼠标控制视角的移动的。如下图所示:就像大部分游戏一样,可以用鼠标滚轮控制视角的远近,键盘的wasd和上下左右控制镜头的位置,而按着鼠标右键则可以控制镜头的旋转。当然你可以根原创 2017-05-02 16:38:03 · 43360 阅读 · 3 评论 -
【Unity3D】表格
游戏里面表格元素也是很关键的一环来的,比如背包、排行榜什么的实际上也是一个表格。Unity3D谈到表格,网上就会推荐各种插件什么的完成,其实用原生的UGUI则能了事。主要是用到布局,而且这个表格还能动态生成,如果配合C#莫说从xml还是excel读数据,从数据库读数据也行。关键是便于维护,那些插件如果他一换规则就呵呵了。下面举一个例子,完成如下的表格,说明如何利用原生的UGUI完成表格:原创 2017-04-27 16:56:07 · 18808 阅读 · 7 评论 -
【NGUI】Helloworld
虽然UGUI出来许久,但NGUI由于历史的缘故源远流长,而且大部分有用的Unity3D插件,都是根据NGUI来编写的,无论网上对其充满种种不屑又或者颇有微辞,它就由于jQuery在网页设计的地位。在各个地方提起Unity3D,就不得不说说NGUI以显示你懂行。NGUI其实也没有那么难,毕竟再怎么它也只是Unity3D一个插件而已。NGUI配置唯一的难点,就是它存在不同的版本对应这各种不同的Un原创 2017-04-26 21:13:49 · 2182 阅读 · 0 评论 -
【Unity3D】BGM
游戏里面的背景音乐(Back Ground Music)一直是玩家谈论的话题,从太阁、大航海等暗耻的游戏,到某三剑,总有几首经典的背景音乐触动你的耳朵……BGM这个词,就算文化水平不高的我,经常看AB站的我都知道什么意思了,总有几个自带BGM的角色……所以嘛,背景音乐虽然不是游戏的核心,但绝对是重要的组成部分。在Unity3D里面,整BGM,其实难度也就和Helloworld差不多。为游戏添加BG原创 2017-04-26 19:21:40 · 3004 阅读 · 0 评论 -
【Unity3D】对话
对话大概是所有游戏里面最常见的,也是最有需要的一个系统了吧?现在某剑和某情怀就靠这个都能做天。Unity3D实现对话有很多种,下面就用最简单原生的UGUI,来实现对话。当然,这个界面简陋啊,不过原理就是这样的。程序展示如下:真正投入使用,将那些字体改改,A和B交给美工MM换成个角色立绘,将那个背面换成当前游戏正在进行的游戏场景的立绘,或者将主摄像机换成自拍独特45度角之类的……就好原创 2017-04-26 11:34:14 · 10856 阅读 · 4 评论 -
【Unity3D】按钮组ToggleGroup的制作,UGUI用户输入的获取,利用持久化数据PlayerPrefs在场景中传值
持久化数据PlayerPrefs其实说白了,就是Android里面的bundle《【Android】多个Activity之间利用bundle传递数值》(点击打开链接),其实说得更直白些,就是一个超级全局变量,这个全局变量贯穿于整个游戏之中,所有的场景都可以对其操作,相当于一个文件似得的。在《【Unity3D】同场景物体传值与Vector》(点击打开链接)我曾经写了Unity3D中,同一个场景的各个原创 2017-04-25 11:23:01 · 16420 阅读 · 0 评论 -
【Unity3D】Unity3D 4.x利用原生UGUI完成下拉列表DropDownList
我本以为UGUI至少是C#控件有的控件它就有,其实上这货所提供的组件少的可怜,如图所示,但是没有枪没有炮我们自己造。比如一个简单的下拉列表DrowDownList,这货到处都有,连那最SB的HTML都有select标签啊!亲!就你UGUI没有!而且网上还以讹传讹,一堆不知道什么版本的原生UGUI的DrowDownList版本都来了,其实完成这东西非常简单,只是要费点功夫而已。最终效果如下图原创 2017-04-25 10:23:04 · 5424 阅读 · 2 评论