Unityの进化四十六亿重奏
一颗星球的生命诞生之初起跑,将会见证无数文明的兴亡衰落,物种的诞生与灭亡,在数不尽的天灾地变之下,没有什么是永恒不变的,只有不停的改变自身,在逆境之中不停进化,才能成就完美的胜利。 故事,将从一个小小的程序开始……
又开了个新坑~~(开坑一时爽 填坑火葬场)~~,Javaweb 是有极限的 我选择走Unity ! 也算圆我一开始学编程的初心吧。之前的Web方面的文章估计不会更新了(虽然也半年没更了) 后续的话为了毕设 会更一些SpringBoot 和 VUE 的文章 直到我毕设结束,目前想法是做个个人网站 把三年大专的所作所学给扔上去。
开这个坑目的还是见证自己的技术的进化,以时间为尺,过往为书,若干年后再看到这些估计会很感慨吧。
这次绝对一直更下去!
第一章 · 最初的细胞 (Roll_Ball)
怎么下载Unity 安装Unity 使用Unity 我就不再赘述了,网站上一抓一大把
这个实例的介绍就是 在一个场景中 玩家控制的球体去撞代表积分的小方块 撞击后小方块消失 积分积一分 待积分到一定数目时 玩家胜利.
1.初始化游戏环境
? ![](https://img-blog.csdnimg.cn/img_convert/42a5c152bfd8b0fa32622a4c39e12a55.png)
![](https://img-blog.csdnimg.cn/img_convert/b223066d4d062f9893f24292ebdb3ed2.png)
? ![](https://img-blog.csdnimg.cn/img_convert/78b285634db3a27aab163b82c79822fa.png)
在Project中创建 Materials(材质文件夹) 右键新建材质 选取你喜欢的颜色 拖动到物体上 即可实现变色
![](https://img-blog.csdnimg.cn/img_convert/302edbf55a19302e6062064d761f79bc.png)
创建积分预制体
(1).将预制体复制一份放到场景里, 这个过程为实例化。 (2).预制体的实例化不是普通的复制。预制体实例化后产生的新的游戏对象依然保持着与预制体的关联, 也就是对预制体进行添加组件、修改属性等操作, 预制体实例化后的游戏对象都会发生相应的改变。
![](https://img-blog.csdnimg.cn/img_convert/41faa96e3a34bcfe61245b0765b03c29.png)
2.控制小球的移动
-
移动一个物体 首先这个物体能和底面接触,因此需要给小球加上一个刚体组件(Rigdbody) ![](https://img-blog.csdnimg.cn/img_convert/5f74ead7d954240f88abb1b29b1fa5bc.png) -
其次我们就要通过代码 给小球移动的力,创建PlayerMove代码 把代码拖动到你要控制的物体组件上。 ![](https://img-blog.csdnimg.cn/img_convert/b5ead0f831838ae696b96c0a595ae359.png) 编写代码 ![](https://img-blog.csdnimg.cn/img_convert/99b74c47b1b223b6f1afaf9ef7e7524c.png)
3.相机跟随
经过上面两步 小球应该能成功移动了,但我们摄像机还是固定的 因此我们要把摄像机能够跟随小球移动 使我们的视野上小球是始终保持居中的
-
先摆好相机的位置,让小球在你的视线内 ![](https://img-blog.csdnimg.cn/img_convert/65be771325964f4e0162e0cc81a1cd55.png) -
编写 follow player 代码 ![](https://img-blog.csdnimg.cn/img_convert/4f98d511dd725bb74bedc4779b67d514.png)
4.显示文本
这个游戏我们至少需要两个文本 一个是积分的文本 一个是胜利的文本
在游戏目录中右键新建Canvas 建立两个 Text 文本
![](https://img-blog.csdnimg.cn/img_convert/a1e068e7db135509a0a1b0f345859df9.png)
文字可以是你喜欢的文字
![](https://img-blog.csdnimg.cn/img_convert/e3523308813a07863cb6954907141e75.png)
注意游戏胜利的文字 我们需要进行隐藏 把左上角的勾选框 勾掉即可
![](https://img-blog.csdnimg.cn/img_convert/4d515f328cdde544fe96de8e54814a88.png)
5.积分检测
Unity给我们提供了三种检测方式 碰撞检测 射线检测 还有这次项目需要的 触发检测
因为我们需要小球碰到积分就让积分模型直接消失 因此我们选择触发检测进行检测,碰撞检测的话 小球和积分碰撞的那一刻 小球会因为刚体的原因会顿一下,这样的话不美观.
-
在之前小球移动的脚本中 编写如下代码 ![](https://img-blog.csdnimg.cn/img_convert/c73fc7c064233cc444e38231252a4214.png)
OnTrigger函数有三种 代表三种状态 刚接触(Enter) 接触中(stay) 退出(exit) 这里我们使用首次接触触发
![](https://img-blog.csdnimg.cn/img_convert/0812cc73bec8eddbf0675710010b9892.png)
相信你也注意到了这个判断条件 other.gameObject.name 是获取触碰到的物体的名字
other.tag 是获取到触碰到物体的标签,在这里我们使用标签触发,因为要触发的物体是同一类型物体
-
新建标签 ![](https://img-blog.csdnimg.cn/img_convert/58a77c6f7d452c5c366cbb8248cd0a6d.png) -
把积分文本和胜利文本拖入即可 ![](https://img-blog.csdnimg.cn/img_convert/065bd8f5096d317d43499022e155340c.png)
6.打包并运行
? 好了,相信你已经操控小球成功运行了![](https://tenkinoko1.oss-cn-shenzhen.aliyuncs.com/点赞の然.jpg)
我们来进行最后一步操作 把你制作的游戏打包发布在Windows平台上 让你能从windows直接启动!
![](https://img-blog.csdnimg.cn/img_convert/1ef1b201f018e90b07d6116a79332e6f.png)
|