1、碰撞组件基本属性
碰撞组件的属性如图
- 属性简要介绍:
- Simulation Generates Hit Events:是否对碰撞事件进行通知
- Phys Material Override:指定该Mesh的物理材质
- Generate Overlap Events:是否对重叠事件进行通知
- Collision Presets:碰撞预设
- Collision Enabled:
- No Collision:无碰撞
- Query Only(No Physics Collision):仅响应踪迹碰撞,无物理碰撞
- Physics Only(No Query Collision):仅响应物理碰撞,无踪迹碰撞
- Collision Enabled(Physics and Query):同时响应物理碰撞和踪迹碰撞
- Collision Enabled:
- Object Type:表示当前Mesh的对象类型(用于区别场景的Mesh类型,以便进行不同的碰撞响应)
- Collision Responses:碰撞响应设置
- Trace Responses:踪迹响应
- Trace Channel Setting:踪迹响应的相关设置,通常用于射线的碰撞检测。假若现在有一束对Visibility通道进行检测的射线穿过该物体时,如该Mesh的Visibility选择为Block,将会触发碰撞事件,如该Mesh的Visibility选择为Ignore,那么将不会触发碰撞事件。
- Object Responses: 对象响应
- Object Type Setting:对象相应的相关设置,可用于射线检测,不同Mesh之间的物理交互等。假若现在有两个Cube(Object Type均为WorldStatic)迎面相撞,那么当Cube1和Cube2的对象响应下的WorldStatic均设置为Block时,两个Cube会相互阻挡对方。否则将会互相穿过对方。
- Trace Responses:踪迹响应
- Use CCD:是否针对该对象应用连续碰撞检测,增加检测的准确度。
- Always Create Plysics State:是否总是创建物理状态(它的碰撞属性、质量、休眠等)。设置为真时可减少计算对象的物理状态的性能消耗来提高游戏性能。
- Multi Body Overlap:如果此值为true,如重叠的物理刚体为多刚体组件,则此组件将对每个重叠的物理刚体将生成单独的重叠。设想一下骨架物理资源,具有其独立的碰撞形状。启用该项后,角色的手将生成 自己 的重叠事件。从而对所报告的内容及特定情况下应该怎么做有更多的控制。
- Check Async Scene On Move:如果该项设置为 真 ,那么组件将在两个物理场景(同步和异步)中都查找碰撞。异步场景主要由可破坏网格物体的破碎块使用。
- Trace Complex On Move:如果该项设置为 真, 扫过该组件的对象将在运动时跟踪复杂碰撞。复杂碰撞简而言之就是基于每个面的碰撞,而简单碰撞则是您的球体、胶囊体、盒体及生成的凸面体形状。
- Return Material on Move:设置该项为 真 将返回物理材质到 Hit Info(碰撞信息) 中。
2、物理碰撞、重叠与包围盒
- 有如图所示两个物理Mesh: Cube、Terrain
2.1碰撞
- 设置cube相关组件属性
- 启用Cube的物理模拟,使用重力。这样Cube将会受到重力而掉落。
- 将Collision Enabled设置为Collision Enabled
- 给Cube设置一个对象类型PhysicsBody(根据抽象逻辑设置)
- 将对象响应类型(Object Type)的WorldStatic(Terrain的对象类型)设置为Block
- 设置Terrain相关组件属性
- 将Collision Enabled设置为Collision Enabled
- 给Terrain设置一个对象类型WorldStatic
- 将对象响应类型的PhysicsBody(Cube的对象类型)设置为Block
- 运行游戏