• 等级
  • 7126384 访问
  • 1808 原创
  • 63 转发
  • 24 排名
  • 2189 评论
  • 380 获赞

游戏制作之路(43)固定关节

前面学习了铰链关节,它可以用来模拟像门的方式转动。这次将要来学习另一个关节是固定关节(Fixed Joint),这个关节主要用来让物体与物体之间临时的连接,或者让物体暂时固定。比如像一个羽毛粘在小鸟上,当风一吹,这根羽毛就要飞走,因为羽毛受到了风力,如果没有风力,它是不会飞出去的。   下面通过一个理想电梯例子来说明这个关节的作用。在前面的例子上,添加下面的物体,如下图: 在这里添加两个...

2019-01-22 14:33:13

游戏制作之路(42)铰链关节

前面学习了物理材质的作用,可以看到那个球在桌面弹跳起来,如果这个球撞击到门会怎么样呢?像日常生活里,如果一个足球碰到活动的门,肯定会打开门。如果让你在unity里模拟门这个现象又怎么样来实现呢?带着这个问题,下面就来实现这个动作,这个例子里要使用关节(joint)组件,这里实现门的关键是使用铰链关节(hinge joint)。   在前面的例子之上,再来增加一个门,如下图: 按这样大小、...

2019-01-22 12:02:07

游戏制作之路(41)物理材质对象

在前面学习过重力的现象,这是大自然界里存在的常见的物理现象,接着下来学习一个物理属性,比如打乒乓球时,发现这个乒乓球在台面弹跳起来,这个事实说明了乒乓球具有弹性,那么我们在unity里怎么样来模拟这种具有弹性的现象呢?其实要实现这个功能,需要使用物理材质的属性,下面就来通过一个例子来学习这个功能。   先来创建两个cube对象,把这两个对象当作地面木板,再创建一个球体,让这个球从上面滚下来,然...

2019-01-20 17:10:03

游戏制作之路(39)加载人形的动画4

在前面只是实现不同动画之间进行无条件地转换执行,其实在游戏里,经常要切换动画执行的,比如让一个角色行走时播放的动画是行走的动画,如果角色要跳起来,播放的动画是跳动的动画,如果角色转身时,应该播放转身的动画。现在所有的动画都放到动画编辑器里了,如果想要动画在状态之间有条件地进行切换,就需要增加切换条件参数,这样才可以在脚本里设置触发条件。怎么样来添加触发切换状态的条件呢?下面就来解决这个问题。先要在...

2019-01-10 15:39:23

游戏制作之路(39)加载人形的动画3

前面学习了一个动作的状态,只是一个空闲状态,现在来再添加多一个状态,这样就可以进行两个状态之间的切换了。因此继续从下载的资源目录里导入一个新动作,如下图: 这次可以从菜单Assets上选择,然后选择B处的子菜单,就可以打开导入资源的目录窗口,如下图: 在这里选择标准的跳动动画的文件,文件名称为Standing_Jump.anim,成功之后就会在资源的窗口下面看到如下图: 在这里看...

2019-01-08 15:31:46

游戏制作之路(39)加载人形的动画2

由于没有动画控制器,这个动画可以运行,也可以查看到动画出现在游戏里了,但是这个角色并没有动起来,因为它没有动起来的路线或方式。因此下面就来学习添加动画的控制器,如下图: 在Assets下面的空白处点击右键,弹出右键菜单,然后在B处选择子项菜单C,就可以创建一个动画控制器出来,接着把它命名为Test,如下图: 接着双击Test控制器,就可以打开动画控制器编辑界面,如下图: 打开动画...

2019-01-07 14:51:27

游戏制作之路(39)加载人形的动画1

前面学习了怎么样加载旧的动画,是非常简单的,一看就学会了,但本次要来学习人形(Humanoid)的动画,就有点复杂,要做好心理准备。不过,人形的动画是最常使用的,因为游戏里看到最多的还是两条腿的动物,比如人、机器人等。因此学习人形动画也是最基本的技能,否则你很难做出角色动作出来。   我们都知道巧妇难以无米之炊,因而在学习人形动画之前,必须让美工做好一些基本的动画部件,比如模型、基础动画、贴图...

2019-01-04 20:24:14

游戏制作之路(38)加载旧的动画

游戏之所以迷人,是因为它让人看到很多真实的动作,以及各种各样精彩的动画。在一个游戏里没有动画效果,是不可想象的,就像手机没有信号一样,但是很多动画并不是在unity3d里制作的,而是在3DS max、Maya和Blender等专业的3D动画软件制作出来的。因此游戏开发人员要懂得怎么样加载和使用导出来的动画,就成为必备的技能。这里就来学习怎么样加载unity3d旧的动画,它是通过加载fbx文件来实现...

2019-01-03 18:15:21

游戏制作之路(37)显示统计星星的个数

在前面已经实现从开始菜单到进入游戏,也实现了从游戏主循环退出到开始菜单,但是在玩这个游戏时,点击一下就产生一个星星,那么怎么样才能像别的游戏那样实现计分,比如计算有多少个星星,并把它显示在游戏界面上面。这次就来解决这个问题,要想在游戏界面上显示星星的个数,那么就得先在界面上创建一个label,接着问题又来了,怎么样创建这个label呢?   要创建这个label,如下图打开StarGame.c...

2019-01-02 15:10:07

游戏制作之路(36)退出游戏循环返回开始菜单

在前面已经学习了从游戏开始菜单进入游戏主循环,当玩家玩累了,想退出游戏,或者想重新开始游戏,应该怎么样实现呢?下面就来解决这个问题。   首先要在游戏主循环的界面上创建一个退出的按钮,这样玩家才可以随时退出游戏。按前面方法,在StarGame.cs脚本里添加一个OnGUI()函数,如下:     void OnGUI()     {   } 然后在脚本里添加一个退出按钮的样式变量,如...

2019-01-01 15:49:49

游戏制作之路(35)从开始菜单切换到游戏循环

前面学习了怎么样制作游戏运行之后的游戏菜单,这个都是游戏最基本的功能,标配的,学完菜单之后,就心里想着怎么样切换到游戏循环里了吧?也就是把菜单怎么样隐藏掉,根据用户的选择显示不同的游戏循环,比如选择“开始”菜单就进行游戏主循环,选择“退出”就退出游戏,选择“参数”就进入参数配置的设置界面。   下面就来学习这个方面的内容,首先来看一下前一节的内容,“退出”菜单的内容,如下:         ...

2018-12-27 16:23:15

细节决定人生

一个人从一生出来,就注定不注重细节的,你看看刚出世时的小孩就以最大的音量来哭着,才不管大家喜欢不喜欢,因而人具有的细节能力都是后天培养出来的,比如上学,父母身教,读书等。细节有多重要呢?其实是可以决定一生的。其实细节也有另外一个名称“蝴蝶效应”,现在我与大家分享《小说课》里的一个故事,真正地体验一下细节的重要性。 美国著名的气象学家爱德华.洛伦兹有一次利用电脑程序预测下一刻的气象数据,在输入温度...

2018-12-27 09:34:01

游戏制作之路(34)游戏开始菜单的实现

前面学习了怎么创建星星的预制件,也学习了怎么样创建UI按钮,那么这次我们就来学习创建游戏的开始菜单,一般情况之下,运行游戏之后,都会出现游戏菜单,比如选择主角、人物名称,又或者配置游戏的参数等,还有一个最主要的功能就是离开游戏,因为无论玩多久游戏,玩家总要吃饭、睡觉,总需要有一个温柔的方式退出游戏。   接着下来就是在创建星星的例子里添加开始菜单,如下图: 在创建星星的例子里添加三个按钮...

2018-12-26 15:55:01

游戏制作之路(33)创建星星的预制件

前面已经学习了一个制作预制件的例子,就是制作子弹的,这次再次来制作一个星星的预制件,因为在后面的小游戏里要使用到它。预制件的作用,就是一个模板,它可以生成无数个游戏对象,比如天上的星星有很多,如果一个一个地拖着创建,非常费劲,但使用代码来生成一千个,或一万个都是很容易的事情。 为了制作预制件之前,先要把这个星星创建了来,在这里使用Image对象来表示星星,如下图这样创建: 从上图可以看到,...

2018-12-25 15:55:29

从小说里学会长大

这段时间还是在读《小说课》,在这里看到一个关于成长的故事,还是特别有意思,不但可以学习到长大是什么,也学会到小说的写技巧:倒叙来写故事的方式。 因此感觉到非常特别,值得分享如下: 余华的《十八岁出门远行》。 小说开头,背着红色背包的少年在山区公路寻找旅店,找着找着,突然见到一辆载满苹果的汽车。少年上前攀谈,并顺利坐上了车,然而车子没多久就抛锚了,但司机却一副毫不在意的样子。 这时前方来了五...

2018-12-25 13:41:22

游戏制作之路(32)创建自定义的界面样式管理

前面学习了使用GUIStyle来自定义按钮,就可以显示各种各样的按钮了,但是采用这种方式有时候不方便管理整个程序,或者不同游戏之间的按钮。比如你定义了一套公司的游戏风格的界面,想在不同的游戏之间进行使用,这时一个一个地拷贝代码,再去设置属性,是否感觉很傻,对了,还有一个更聪明的办法,就是把所有按钮、文本、滚动条都放到一起管理,这样就很方便在不同项目之间进行共享了,这时就需要使用到GUISkin类,...

2018-12-24 15:22:51

游戏制作之路(31)创建自定义的按钮

在前面学习了怎么样创建按钮,也学习了显示纯文本,不过这些都是使用缺省的模式来显示的,但是游戏开发人员常常使用自定义的按钮比较多,因为它显示多样化,同样可以进行换图美化,也可以符合使用者的个性定义化。因此,这次来学习使用GUIStyle组件来定义按钮的样式。 比如创建如下图的按钮: 这个按钮背景是使用一个蓝色图片,当鼠标在这个按钮上面时,就会显示如下: 这时,就是unity3d根据按钮的...

2018-12-24 14:41:55

游戏制作之路(30)用代码显示文本

前面学习了怎么样使用GUI.Button()函数来显示按钮,接着下来继续学习使用代码来显示文本。 其实有了前面的知识,再来学习显示纯文本显示,就是非常容易的事情。用Rect定义一个区域,让文本在这个区域里进行显示即可。如下面的代码: using System.Collections; using System.Collections.Generic; using UnityEngine; p...

2018-12-24 14:03:19

游戏制作之路(29)创建按钮显示

前面学习了怎么样创建文本显示,这样就可以把程序内部一些状态告诉玩家,比如角色的生命值,经验值,金钱等等,这样做还是不够的,因为游戏是交互的,还需要获取玩家的输入,常常使用按钮来获取玩家的输入,这样就可以得到用户的输入反馈,从而达到互动的目标。比如游戏刚开始时,需要用户点击菜单开始游戏,或者退出游戏等等。又或者让用户输入自己的名称,以便这个游戏适用不同用户在同一台电脑上进行。这些按钮的实现都可以在脚...

2018-12-19 15:14:36

游戏制作之路(28)创建界面文本显示

游戏就是用来与人进行交互的,因此必须有界面,而界面上一般有文本显示,或者输入,这些都是游戏本身与玩家进行交互的方式。最简单的文本显示,就是玩家打开游戏之后显示的开始菜单。这一次,我们就来学习怎么样创建一个界面文本显示。 首先创建一个工程,然后在这个工程里添加一个UI的Text,如下操作: 通过上面按ABC的操作,就可以得到一个GUI的TEXT显示,如图: 如果位置显示不对,你可以手动...

2018-12-18 16:09:58

博客专家

caimouse

我的名称是蔡军生,网名是caimouse,广西北流 人,毕业于西北工业大学。 现在主要从事网上培训、新能源的电池测试系统以及自动化生产系统开发、销售和提供解决方案。 将来主要方向是讲解更多新涌现的技术课程,写更多通俗易懂的文章,开发功能完善的新能源的电池测试系统。 我能熟悉地运用的编程语言有:汇编语言、C语言、C++语言、Python语言、JavaScript语言。 从事过嵌入式系统开发,即时通讯系统开发与设计,银行信用卡系统开发,网络视频会议系统开发,电池测试系统和自动化生产开发。 1993年开始学习计算机编程,学习Basic编程; 2000年从事软件开发与管理至今。 ...展开 收起
关注
  • 电子·微电子
  • 中国 广东省 深圳市
奖章
  • 博客专家
  • 持之以恒
  • 1024超级勋章