1.Unity2D类银河恶魔城学习开发
素材链接:通过网盘分享的文件:Graphics.zip链接: https://pan.baidu.com/s/1IG_mNYm8-VquwqTiV42-RQ?pwd=tsw4 提取码: tsw4。
素材链接:通过网盘分享的文件:Graphics.zip
链接: https://pan.baidu.com/s/1IG_mNYm8-VquwqTiV42-RQ?pwd=tsw4 提取码: tsw4
一、素材的使用
1.下载素材,由于素材已经切割好精灵图片,可直接使用。
如图:

2.将图片重命名为Animator,并为其创建空父物体命名为Player
思路是做到逻辑与动画分开,Player添加逻辑,Animator控制动画。
如图:
修改CapsuleCollider2D的大小符合Animator的大小即可。

给Player添加RigidBody2D刚体组件,并设置如图参数

创建一个方块并添加碰撞体,可以实现与角色碰撞的效果。

二、解释RigidBody2D组件
1. Body Type(刚体类型)
- Static(静态):静态刚体不受力的影响,也不会移动,通常用于场景中的固定物体,如地面、墙壁等。静态刚体可以与其他刚体发生碰撞,但自身不会产生运动响应。
- Kinematic(运动学):运动学刚体不受物理力的影响,但可以通过脚本控制其运动。例如,你可以通过代码设置其位置、旋转或速度。常用于需要精确控制运动的物体,如电梯、移动平台等。
- Dynamic(动态):动态刚体受物理力的影响,会受到重力、碰撞力等的作用而运动。这是最常用的刚体类型,用于模拟具有物理行为的物体,如角色、掉落的物品等。
2. Material(物理材质)
用于定义刚体与其他物体碰撞时的物理属性,如摩擦力和弹力。你可以创建自定义的物理材质,并将其分配给刚体。
- Friction(摩擦力):控制物体在表面上滑动的难易程度。值为 0 表示无摩擦,物体可以自由滑动;值越大,物体越难滑动。
- Bounciness(弹力):控制物体碰撞后的反弹程度。值为 0 表示无反弹,物体碰撞后停止;值为 1 表示完全弹性碰撞,物体以相同的速度反弹。
3. Gravity Scale(重力缩放)
用于调整刚体受重力影响的程度。默认值为 1,表示刚体受到正常的重力作用。设置为 0 时,刚体不受重力影响;设置为大于 1 的值,刚体受到的重力会增强;设置为小于 1 的值,刚体受到的重力会减弱。
4. Linear Drag(线性阻力)
模拟物体在运动过程中受到的空气阻力或其他阻力。值越大,物体在运动时受到的阻力越大,速度衰减得越快。例如,一个较大的线性阻力值可以使物体在停止施加力后迅速停止运动。
5. Angular Drag(角阻力)
类似于线性阻力,但作用于物体的旋转运动。它控制物体在旋转时受到的阻力,值越大,物体的旋转速度衰减得越快。
6. Constraints(约束)
用于限制刚体的某些运动自由度。你可以选择锁定刚体在某个轴上的位置或旋转,使其无法在该轴上移动或旋转。
- Freeze Position(冻结位置):可以分别锁定刚体在 X、Y 轴上的位置,使其无法在这些轴上移动。
- Freeze Rotation(冻结旋转):可以锁定刚体的旋转,使其无法绕 Z 轴旋转。
7. Sleeping Mode(睡眠模式)
用于优化性能,当刚体处于静止状态时,系统可以将其置于睡眠模式,减少不必要的物理计算。
- Start Awake(开始时唤醒):刚体在游戏开始时处于唤醒状态,会进行物理计算。
- Start Asleep(开始时睡眠):刚体在游戏开始时处于睡眠状态,直到受到外力作用才会唤醒。
- Never Sleep(从不睡眠):刚体始终处于唤醒状态,无论是否静止,都会进行物理计算。
8. Collision Detection(碰撞检测)
用于设置刚体的碰撞检测模式,不同的模式在性能和精度上有所不同。
- Discrete(离散):默认模式,适用于大多数情况。它在每帧之间检测碰撞,可能会出现物体穿过其他物体的情况,尤其是在高速运动时。
- Continuous(连续):使用更精确的碰撞检测算法,能够避免物体在高速运动时穿过其他物体的问题,但会消耗更多的性能。
9. Simulated(模拟)
一个布尔值,用于控制刚体是否参与物理模拟。当设置为 false 时,刚体将不会受到物理力的作用,也不会参与碰撞检测。常用于需要临时禁用刚体物理行为的情况。
10. Use Full Kinematic Contacts(使用完整运动学接触)
仅在刚体类型为 Kinematic 时可用。当启用此选项时,运动学刚体可以与其他刚体发生碰撞,并触发碰撞事件。否则,运动学刚体只会与静态刚体发生碰撞。
11. Interpolate(插值)
用于平滑刚体的运动,减少因帧率波动而导致的运动抖动。
- None(无):不进行插值处理,刚体的运动可能会出现抖动。
- Interpolate(插值):根据上一帧和当前帧的位置进行插值,使刚体的运动更加平滑。
- Extrapolate(外推):根据当前帧和预测的下一帧位置进行外推,使刚体的运动更加平滑,但可能会引入一些误差。
12. Collision Events(碰撞事件)
用于控制刚体是否触发碰撞事件。你可以选择仅在碰撞开始、碰撞持续或碰撞结束时触发事件,以便在脚本中处理相应的逻辑。
- Collision Start(碰撞开始):当刚体与其他物体开始碰撞时触发事件。
- Collision Stay(碰撞持续):当刚体与其他物体持续碰撞时触发事件。
- Collision End(碰撞结束):当刚体与其他物体结束碰撞时触发事件。
更多推荐


所有评论(0)