unity学习笔记13

一、常用物理关节

Unity中的物理关节(Physics Joints)是用于在游戏中模拟和控制物体之间的连接。物理关节允许你在对象之间应用各种约束,例如旋转、移动或固定连接,以模拟真实世界中的物理交互。

物理关节类型:

1.Fixed Joint(固定关节): 固定关节将两个物体连接在一起,使它们不能相对移动。这种关节通常用于创建可靠的连接,如门或机械臂。

2.Hinge Joint(铰链关节): 铰链关节允许物体在一个轴周围旋转。这种关节类似于门的铰链,允许对象绕一个点旋转。

3.Spring Joint(弹簧关节): 弹簧关节允许对象之间的相对运动,并在这种相对运动中引入弹簧效果。可以使用弹簧关节模拟弹簧振动或其他弹性连接。

4.Character Joint(角色关节): 角色关节允许在物体上应用限制和驱动,以模拟角色动作。这在模拟人物关节,如膝盖或肩膀,非常有用。

5.Configurable Joint(可配置关节): 可配置关节是一种灵活的关节,可以配置为模拟各种不同类型的连接,包括球关节、铰链关节等。

6.Slider Joint(滑动关节): 滑动关节允许两个物体沿一个轴相对移动。这对于创建滑动门或抽屉等效果非常有用。

7.Distance Joint(距离关节): 距离关节限制两个物体之间的距离。这可以用于模拟绳索、弹簧等。

8.Wheel Joint(车轮关节): 车轮关节是一种特殊类型的关节,专门用于模拟车辆的轮子运动。

示例:铰链关节

现在给物体加一个Hinge Joint(铰链关节),让其达到开关门的效果。

图中的灰色的箭头就是铰链的方向,物体是绕着铰链方向旋转的。

要达到门的开关效果就要改变箭头的位置,让其在左边并朝向上方。修改如下属性:

Anchor(锚点)属性:这决定了Hinge Joint连接的两个物体相对于彼此的位置。

如果你将Anchor属性设置为(0, 0, 0),那么连接的两个物体的中心将完全重合。

Axis属性定义了物体围绕其旋转的轴。轴是一个单位向量,指示旋转的方向。

例如,如果Axis属性设置为(0, 1, 0),物体将绕Y轴旋转。

修改好之后效果如下:

当物体去撞门,那么门就会绕着铰链旋转

注意事项:

当在使用Hinge Joint时,确保连接的两个物体都有刚体组件,因为物理关节需要作用于刚体

示例:弹簧关节

给两个物体加上刚体,给上面的物体的刚体组件开启 是运动学的选项,这样运行游戏时只有下面的物体向下掉。

现在要给这个两个物体之间加上弹簧关节,为上面的物体加上 Spring Joint 组件,然后将下面的物体拖动到已连接实体位置

运行游戏后下面的物体他就不会掉落到地面上,而是有弹簧连接的效果

二、物理材质

在Unity中,物理材质(Physics Material)是一种用于控制碰撞和摩擦的资源。物理材质通常应用于 Collider 组件,以调整对象之间的物理交互。

作用:

摩擦控制: 物理材质用于调整碰撞体之间的表面摩擦力。通过设置摩擦力和滑动摩擦力,可以模拟不同表面之间的摩擦效果,如冰面或沙地。

弹性和弹力: 弹性和弹力是物理材质中的两个重要属性。它们控制碰撞体在碰撞时的反弹效果,使得物体在碰撞后能够反弹、弹跳或吸收能量。

摩擦力的变化: 物理材质还可以根据相对速度的大小来调整摩擦力,使物体在不同速度下表现出不同的摩擦效果。

创建方式:

在Unity中,可以通过选择Assets -> Create -> Physic Material来创建一个物理材质。

在创建物理材质后,你可以在窗口中设置摩擦力(Friction)和弹力(Bounciness)等属性。摩擦力定义了物体在表面上滑动的难度,而弹力定义了碰撞时的反弹效果。

应用到Collider: 将物理材质应用到对象的Collider组件上。选择对象,然后将物理材质拖放到Collider组件的材质属性上。

相关推荐
じ☆冷颜〃3 小时前
分布式系统中网络技术的演进与异构融合架构(HFNA)
笔记·python·物联网·设计模式·架构·云计算
郭涤生6 小时前
第十章_信号_《UNIX环境高级编程(第三版)》_笔记
服务器·笔记·unix
QT 小鲜肉6 小时前
【Linux命令大全】001.文件管理之which命令(实操篇)
linux·运维·服务器·前端·chrome·笔记
小小星球之旅6 小时前
CompletableFuture学习
java·开发语言·学习
盐焗西兰花6 小时前
鸿蒙学习实战之路-ArkTS循环渲染_ForEach使用指南
学习·华为·harmonyos
巧克力味的桃子7 小时前
单链表 - 有序插入并输出学习笔记
笔记·学习
智者知已应修善业7 小时前
【求等差数列个数/无序获取最大最小次大次小】2024-3-8
c语言·c++·经验分享·笔记·算法
坚持学习前端日记8 小时前
软件开发完整流程详解
学习·程序人生·职场和发展·创业创新
Wokoo78 小时前
开发者AI大模型学习与接入指南
java·人工智能·学习·架构
小猪佩奇TONY8 小时前
OpenCL 学习(3)---- OpenCL 第一个程序
学习