Unity3d实现鼠标打飞碟(Hit UFO)游戏(力学版)
1、改进飞碟(Hit UFO)游戏:
- 游戏内容要求:
- 按 adapter模式 设计图修改飞碟游戏
- 使它同时支持物理运动与运动学(变换)运动
运行效果:
这一版与上一版的操作类似,但是多了一些改进,上一版请参考https://www.cnblogs.com/woodx/p/13910518.html
改进
1,增加了关卡模式,round1有五架飞碟,round2有六架飞碟,以此类推,随着关卡的升高,飞碟的速度也会增加
2,飞碟变成了刚体,飞碟之间可能发生碰撞导致飞行轨迹发生变化、飞碟倾斜等等时间的发生,而且当从较高处的飞碟掉落击中较低处的飞碟时,低处的飞碟也可能被击落(并且获得较高的分数)。
代码细节变化:
由于刚体的运行轨迹,用力来操控的话,运行轨迹十分难以确定
所以为了保持代码的重用性,我在飞碟到达每个目的点后,对飞碟取消了力和速度的办法
obj.GetComponent<Rigidbody>().isKinematic = true;
作用:在Unity中,isKinematic结合Gravity使用,能使物体瞬间在有无动力效果中切换
当飞碟处于闲置状态时,也将飞碟的isKinematic设置为True
把它放在摄像头的后面
最重要的改动在CCMoveToAction.cs
判断位置由原来判断准确位置,变成了判断z轴位置,当飞碟被击落的时候,判断y轴位置,从而判断坠落完毕
加上了碰撞函数,在UFOcontroller.cs中
当碰撞飞碟之间,相对速度大于100时,可以判断为被坠落飞碟击中,然后下降。
还有就是在First Controller.cs Update中,改动了产生飞碟的函数
飞碟数量根据分数而定,如果分数每增加一千分,会增加一个飞碟
具体代码请参考我的gitee
https://gitee.com/woodx9/unity-3D-homework/tree/master/HItUFO(force%20version)
谢谢观看
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」