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组件的材质属性上。

相关推荐
eybk5 小时前
Pytorch+Mumu模拟器+萤石摄像头实现对小孩学习的监控
学习
6.945 小时前
Scala学习记录 递归调用 练习
开发语言·学习·scala
Aileen_0v05 小时前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
守护者1706 小时前
JAVA学习-练习试用Java实现“使用Arrays.toString方法将数组转换为字符串并打印出来”
java·学习
学会沉淀。7 小时前
Docker学习
java·开发语言·学习
Rinai_R7 小时前
计算机组成原理的学习笔记(7)-- 存储器·其二 容量扩展/多模块存储系统/外存/Cache/虚拟存储器
笔记·物联网·学习
吃着火锅x唱着歌7 小时前
PHP7内核剖析 学习笔记 第四章 内存管理(1)
android·笔记·学习
ragnwang7 小时前
C++ Eigen常见的高级用法 [学习笔记]
c++·笔记·学习
胡西风_foxww8 小时前
【es6复习笔记】rest参数(7)
前端·笔记·es6·参数·rest