您现在的位置是:首页 >技术杂谈 >【Unity入门】23.简单物理系统网站首页技术杂谈

【Unity入门】23.简单物理系统

Lampard猿奋 2023-07-08 20:00:03
简介【Unity入门】23.简单物理系统

【Unity入门】简单物理系统

    大家好,我是Lampard~~

    欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 

 

(一)重力系统

(1)Rigidbody组件

    Unity里面有提供符合我们常规认知的物理系统组件Physics,我们可以利用这些组件实现一些物理效果,比如今天我们就打算实现一下物体的重力效果就可以使用其中的Rigidbody组件

Rigidbody 组件是 Unity 中的一个物理组件,用于模拟游戏对象的物理行为。当一个游戏对象包含 Rigidbody 组件时,它就可以受到重力、碰撞、力、扭矩等物理效果的作用,比如可以被弹射、抛掷、推动等。

Rigidbody 组件有几个常用的属性和方法,包括:

- mass:游戏对象的质量。

- velocity:游戏对象的速度。

- angularVelocity:游戏对象的角速度。

- AddForce:给游戏对象施加一个力等

    话不多说,我们随便整一个篮球挂上这个组件试试效果

    首先我们在场景中创建了一个篮球和一片草地,我们看到这个篮球就会想到唱跳Rap....啊对不起,到错片场了

    总之就是很不科学,一个篮球居然在天上,然后我们帮它加上Rigidbody组件试试

    很好,现在篮球就能自由落体了 

(2)碰撞体

    目前的效果是可以直直的下落了,但是我们还需要让篮球在接触到草地的时候停下才更符合逻辑

    如果是代码写的话,我们可以去判断这两个物体的距离,但是unity的物理系统提供了更方便的碰撞检测机制,就是提供各种的Collider组件去检测碰撞需求

Unity 中有以下几种 Collider 组件:

1. Box Collider(盒子碰撞器):一个基于矩形的碰撞体,用于模拟长方体或立方体物体的碰撞。

2. Sphere Collider(球形碰撞器):一个基于球形的碰撞体,用于模拟球体物体的碰撞。

3. Capsule Collider(胶囊碰撞器):一个基于胶囊形状的碰撞体,用于模拟某些具有胶囊形状的物体的碰撞,比如人物角色。

4. Mesh Collider(网格碰撞器):一个基于游戏对象模型的碰撞体,用于模拟复杂的几何形状的物体的碰撞,比如地形、建筑等。

5. Terrain Collider(地形碰撞器):一个基于 Unity 地形的碰撞体,用于模拟地形的碰撞。

6. Wheel Collider(车轮碰撞器):一个专门针对车辆的碰撞体,用于模拟车辆的轮子与地面的碰撞。

7. Character Controller(角色控制器):一个专门为人物角色设计的碰撞体,用于模拟人物角色的移动和碰撞。

    这些 Collider 组件可以根据游戏对象的形状和需求进行选择和使用,我们现在只需要给草地加上Box Collider立方体形状的碰撞体和给篮球加上Sphere Collider球形碰撞器就可以了

     然后看看效果,确实就可以检测到碰撞了

 

好啦今天就到这里,谢谢各位感谢阅读!!!
点赞,关注!!!

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。