06:Demo之四处找死(一)_场景和主角
最后更新于:2022-04-01 14:37:36
终于把一些基本的东西介绍完了,我不想再介绍无聊的菜单和快捷键了,这些东西大家自己在折腾的过程中慢慢熟悉就好。
有什么不懂的就问度娘,不喜欢度娘的,可以找谷歌。
这次,我们来开始一个很简单的Demo,我突然想到一个游戏,又或者只能叫做Demo。
一个人物,可以四处走动,地图上有很多暗雷,踩到之后会随机产生一些效果(比如加血、掉血、增加防御、小若失去吐槽能力等等)。
人物身上当然得有一些UI,这些UI会跟随着人物一起走动。
虽然是个小Demo,但,入门所需的各种操作应该都涉及到了,包括:人物走动(不含动画)、[触发器](http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=d5d39a021acceeda&k=%B4%A5%B7%A2%C6%F7&k0=%B4%A5%B7%A2%C6%F7&kdi0=0&luki=7&n=10&p=baidu&q=25013069_cpr&rb=0&rs=1&seller_id=1&sid=daeecc1a29ad3d5&ssp2=1&stid=0&t=tpclicked3_hc&td=1682305&tu=u1682305&u=http%3A%2F%2Fwww%2Ebenmutou%2Ecom%2Farchives%2F2110&urlid=0)、UI、代码里创建和修改物体。
好,我们开始吧。(小若:等等,失去吐槽能力又是什么鬼?)
> 笨木头花心贡献,啥?花心?不,是用心。
> 转载请注明,原文地址:[http://www.benmutou.com/archives/2110](http://www.benmutou.com/archives/2110)
> 文章来源:[笨木头与游戏开发](http://www.benmutou.com/blog/)
### 1.场景,摄像机定位
先创建一个项目,我命名为【Unity_benmutou_006】,你们随意。
然后创建一个场景:【Hierarchy】->【右键】->【3D Object】->【Terrain】
地形大小设置为【200X200】就可以了,如果大家忘了怎么创建地形、怎么设置地形大小,请回顾这篇教程:[http://www.benmutou.com/archives/2063](http://www.benmutou.com/archives/2063)
还记得我们常用的快捷键【QWERT】吗?上一篇刚讲过的,我不想重复了。
现在发挥你的所有能力,把新建的场景移动到编辑器的中间,比如:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-06_575541ae0da09.jpg)
试试现在运行游戏,能不能看到我们的场景?(小若:我感觉我看到你妹妹了)
是的,大家是看不到场景的,但是也不能用粗口骂我…
重要的操作来了,让场景出现在[摄像头](http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=d5d39a021acceeda&k=%C9%E3%CF%F1%CD%B7&k0=%C9%E3%CF%F1%CD%B7&kdi0=0&luki=4&n=10&p=baidu&q=25013069_cpr&rb=0&rs=1&seller_id=1&sid=daeecc1a29ad3d5&ssp2=1&stid=0&t=tpclicked3_hc&td=1682305&tu=u1682305&u=http%3A%2F%2Fwww%2Ebenmutou%2Ecom%2Farchives%2F2110&urlid=0)的中间:
单击选中【Main Camera】物体(在Hierarchy窗口);
依次点击菜单【GameObject】->【Align With View】;
再次运行游戏,就能看到我们的场景了。
这个功能是用来把物体[定位](http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=d5d39a021acceeda&k=%B6%A8%CE%BB&k0=%B6%A8%CE%BB&kdi0=0&luki=8&n=10&p=baidu&q=25013069_cpr&rb=0&rs=1&seller_id=1&sid=daeecc1a29ad3d5&ssp2=1&stid=0&t=tpclicked3_hc&td=1682305&tu=u1682305&u=http%3A%2F%2Fwww%2Ebenmutou%2Ecom%2Farchives%2F2110&urlid=0)到当前视图位置的,所以,选中摄像机,然后定位,摄像机就会跑到当前[编辑器](http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=d5d39a021acceeda&k=%B1%E0%BC%AD%C6%F7&k0=%B1%E0%BC%AD%C6%F7&kdi0=0&luki=5&n=10&p=baidu&q=25013069_cpr&rb=0&rs=1&seller_id=1&sid=daeecc1a29ad3d5&ssp2=1&stid=0&t=tpclicked3_hc&td=1682305&tu=u1682305&u=http%3A%2F%2Fwww%2Ebenmutou%2Ecom%2Farchives%2F2110&urlid=0)所看到的地方。
于是,场景就能出现在[摄像机](http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=d5d39a021acceeda&k=%C9%E3%CF%F1%BB%FA&k0=%C9%E3%CF%F1%BB%FA&kdi0=0&luki=10&n=10&p=baidu&q=25013069_cpr&rb=0&rs=1&seller_id=1&sid=daeecc1a29ad3d5&ssp2=1&stid=0&t=tpclicked3_hc&td=1682305&tu=u1682305&u=http%3A%2F%2Fwww%2Ebenmutou%2Ecom%2Farchives%2F2110&urlid=0)的范围内,而摄像机决定了我们运行[游戏](http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=d5d39a021acceeda&k=%D3%CE%CF%B7&k0=%D3%CE%CF%B7&kdi0=0&luki=9&n=10&p=baidu&q=25013069_cpr&rb=0&rs=1&seller_id=1&sid=daeecc1a29ad3d5&ssp2=1&stid=0&t=tpclicked3_hc&td=1682305&tu=u1682305&u=http%3A%2F%2Fwww%2Ebenmutou%2Ecom%2Farchives%2F2110&urlid=0)时能看到的东西,于是运行游戏才能看到场景。
这里的解释可能不太准确,但,目前这么理解是很帅的。(小若:我感觉和帅是完全没有关系咯)
OK,按下[键盘](http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=d5d39a021acceeda&k=%BC%FC%C5%CC&k0=%BC%FC%C5%CC&kdi0=0&luki=2&n=10&p=baidu&q=25013069_cpr&rb=0&rs=1&seller_id=1&sid=daeecc1a29ad3d5&ssp2=1&stid=0&t=tpclicked3_hc&td=1682305&tu=u1682305&u=http%3A%2F%2Fwww%2Ebenmutou%2Ecom%2Farchives%2F2110&urlid=0)的Ctrl+S,保存一下场景,保存到项目的Assets目录下,命名为[game](http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=d5d39a021acceeda&k=game&k0=game&kdi0=0&luki=6&n=10&p=baidu&q=25013069_cpr&rb=0&rs=1&seller_id=1&sid=daeecc1a29ad3d5&ssp2=1&stid=0&t=tpclicked3_hc&td=1682305&tu=u1682305&u=http%3A%2F%2Fwww%2Ebenmutou%2Ecom%2Farchives%2F2110&urlid=0)。
### 2.“人物”
接下来当然是要创建我们的主角了,我们这次不用Cube了,我们换一个帅一点的。
在【Hierarchy】上点击右键,依次点击【3D Object】->【Cube】,这样我们就创建了一个立方体了,它将作为我们的主角人物。
(小若:果然是帅了好多…啊个屁啊!还是Cube啊,你是要作死吗?作死吗?)
这时候,双击Cube,会发现Cube并不在场景里,而是自己孤零零地在某个角落。
没关系,我们把它放到场景里,因为操作比较繁琐,所以我用gif图来展示:
![u006_1.gif](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-06_575541ae26958.gif)
先是把Cube移动到场景(Terrian)下,然后把Cube的位置(Transform)重置,这样Cube就会出现在场景的最角落。(小若:还是角落啊!)
虽然还是角落,但起码是场景的角落,而不是世界的角落。
OK,现在,再次双击Cube,找到它,然后把Cube移动到场景的适当位置,如:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-06_575541ae475b9.jpg)
因为场景比较大,Cube比较小,大家可能会看不清它在哪…(小若:我知道,我们是瞎的)
我们可以把Cube放大一些,在Transform属性里有一个Scale属性,很明显,把x、y什么的设置成5吧。
(Z:明明就只有X、Y、Z,你就不能一次过说出来吗?为什么偏偏要忽略我!不就是一共三个字母吗?全写出来,很难吗?很难吗!?)
OK,人物也搞定了。
不,等等,顺便把这个Cube重命名吧,在Hierarchy上选中Cube,然后按F2,就可以重命名了。
就叫做…“ BugPlayer”吧。(小若:能再随意一点不)
### 3.创建主角脚本
既然是主角,肯定是可以由[玩家](http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=d5d39a021acceeda&k=%CD%E6%BC%D2&k0=%CD%E6%BC%D2&kdi0=0&luki=3&n=10&p=baidu&q=25013069_cpr&rb=0&rs=1&seller_id=1&sid=daeecc1a29ad3d5&ssp2=1&stid=0&t=tpclicked3_hc&td=1682305&tu=u1682305&u=http%3A%2F%2Fwww%2Ebenmutou%2Ecom%2Farchives%2F2110&urlid=0)来控制的,要想控制我们的Cube,不,现在叫做BugPlayer。
想要控制BugPlayer,就要有一个脚本来处理这些逻辑。
那么,在【Project】窗口上右键,依次点击【Create】->【C# Script】,然后把脚本命名为“BugPlayerLogic”。
最后,把脚本拖到BugPlayer身上,怎么拖?如果你忘记了,请自己瞎猜(小若:瞎猜你mei啊)
或者回头看看我之前写的教程。
好吧,还是偷偷告诉你们好了:
![u006_2.gif](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-06_575541ae6668d.gif)
由于是Demo,我就不考虑目录的编排了,全部挤在一起就好了。
接下来,要打开新建的脚本文件了,打开的方式有两种:
a.直接在Project窗口下双击脚本文件
b.在BugPlayer的属性里,双击脚本左边的小图标:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-06_575541ae80929.png)
如果你有听我说的,安装了VS2015(社区版,是免费的),那么,就会自动启动VS,打开当前Unity项目的[解决方案](http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=18&is_app=0&jk=d5d39a021acceeda&k=%BD%E2%BE%F6%B7%BD%B0%B8&k0=%BD%E2%BE%F6%B7%BD%B0%B8&kdi0=0&luki=1&n=10&p=baidu&q=25013069_cpr&rb=0&rs=1&seller_id=1&sid=daeecc1a29ad3d5&ssp2=1&stid=0&t=tpclicked3_hc&td=1682305&tu=u1682305&u=http%3A%2F%2Fwww%2Ebenmutou%2Ecom%2Farchives%2F2110&urlid=0),顺便打开你双击的那个脚本文件。
打开后,你会看到里面只有一个Start和Update函数,先不用管它。
### 4.待续
好了,下一篇我们再接着做,接下来做什么好呢?我想想..(小若:特么的你不是先想好了再写教程的吗?!)
我们就,让BugPlayer移动起来吧。
**本篇源码:**[**Unity_benmutou_006.7z**](http://www.benmutou.com/wp-content/uploads/2015/11/Unity_benmutou_006.7z)