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

相关推荐
阿伟来咯~6 分钟前
记录学习react的一些内容
javascript·学习·react.js
Suckerbin28 分钟前
Hms?: 1渗透测试
学习·安全·网络安全
水豚AI课代表39 分钟前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
聪明的墨菲特i40 分钟前
Python爬虫学习
爬虫·python·学习
Diamond技术流1 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
密码小丑1 小时前
11月4日(内网横向移动(一))
笔记
斑布斑布1 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
鸭鸭梨吖2 小时前
产品经理笔记
笔记·产品经理
Chef_Chen2 小时前
从0开始学习机器学习--Day13--神经网络如何处理复杂非线性函数
神经网络·学习·机器学习
齐 飞2 小时前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb