Physics Simulation - Hit Event的触发机制

个人学习笔记归档;

有时在使用Hit Event作为击中判断的时候,会有短时间内重复判定的情况,即使两个物理体都看上去静止了;

原因是OnHit / Hit Event 是在两个物理体(刚体)之间发生碰撞接触、并且产生了速度变化(冲量)时由物理引擎(Chaos)触发的,换句话说,只要当物理引擎检测到"接触 + 速度变化"时,就会触发一次Hit;

那么,在两者接触时,一帧内可能还有微小的抖动导致仍然触发了Hit事件,所以假如在相关逻辑中写入了逻辑,就会重复判断;一般来说,比如Bullet这样的对象,会在触发Hit后马上销毁以避免此情况;

另外,在一个BP中,Class会有OnHit,每个可产生相关事件的组件也会有自己的OnHit等事件,Class的OnHit是对自己所有组件的相关事件的一个汇总,可以在这些地方写入不同的逻辑(比如击中不同部位等)来达成各种功能;


相关推荐
风酥糖12 小时前
Godot游戏练习01-第24节-多人游戏暂停菜单,游戏优化
游戏·游戏引擎·godot
YakSue13 小时前
AI教我UE渲染-学习笔记(6):启用深度缓冲
unreal engine
YakSue18 小时前
AI教我UE渲染-学习笔记(7):PS输出到多个RT
unreal engine
SCLchuck1 天前
Godot 4 2D 物理引擎位置初始化踩坑:add_child() 和 position 到底谁先? (错误位置触发物理事件)
游戏引擎·godot·游戏开发·物理引擎
adogai1 天前
unity mcp接入 实现一句话生成游戏!
游戏·unity·游戏引擎
mxwin1 天前
Unity Shader 逐像素光照 vs 逐顶点光照性能与画质的权衡策略
unity·游戏引擎·shader·着色器
CDN3601 天前
游戏盾导致 Unity/UE 引擎崩溃的主要原因排查?
游戏·unity·游戏引擎
mxwin1 天前
Unity URP 全局光照 (GI) 完全指南 Lightmap 采样与实时 GI(光照探针、反射探针)的 Shader 集成
unity·游戏引擎·shader·着色器
mxwin2 天前
Unity URP 溶解效果基于噪声纹理与 clip 函数实现物体渐隐渐显
unity·游戏引擎·shader
mxwin2 天前
Unity URP 下的 Early-Z / Depth Prepass 解决复杂片元着色器造成的 Overdraw 问题
unity·游戏引擎·着色器