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