PhysicsNode QML 类型
物理场景中所有对象的基类型。 更多信息...
导入语句 | import QtQuick3D.Physics |
自 | Qt 6.4 |
继承 | |
由以下类型继承 |
属性
- collisionShapes : list<CollisionShape>
- filterGroup : int
- filterIgnoreGroups : int
- receiveContactReports : bool
- receiveTriggerReports : bool
- sendContactReports : bool
- sendTriggerReports : bool
信号
- bodyContact(PhysicsNode *body, list<vector3D> positions, list<vector3D> impulses, list<vector3D> normals)
- enteredTriggerBody(TriggerBody *body)
- exitedTriggerBody(TriggerBody *body)
详细说明
PhysicsNode 是所有参与物理模拟对象的基类型。这些对象在三维空间中具有位置和几何形状。
属性文档
collisionShapes : list<CollisionShape> |
此属性包含碰撞形状的列表。与其他物体交互时,这些形状将组合并作为单个刚体进行操作。
另请参阅形状和身体概述文档。
filterGroup : int |
filterIgnoreGroups : int |
此属性确定此物体应该筛选出与哪些组的碰撞。
注意: 此数字作为位掩码解释,意味着如果设置了位 i
,则会对编号为 i
的 filterGroup 进行过滤。例如,要过滤编号为 1
、3
和 4
的组,则设置此值为 0b11010
。
另请参阅: PhysicsNode::filterGroup。
receiveContactReports : bool |
此属性确定该物体在与其他物体发生碰撞时是否将接收碰撞报告。如果启用,则表示与已将 bodyContact 设置为 true 的物体发生碰撞时,将发出 bodyContact 信号。
receiveTriggerReports : bool |
此属性确定该物体在进入或离开触发物体时是否会接收报告。
sendContactReports : bool |
此属性确定该物体在与其他物体发生碰撞时是否会发送碰撞报告。
sendTriggerReports : bool |
此属性确定该物体在进入或离开触发物体时是否会发送报告。
信号文档
bodyContact(PhysicsNode *body, list<vector3D> positions, list<vector3D> impulses, list<vector3D> normals) |
当动态物体与其他任一物体发生碰撞时,将发出此信号。此物体中的 receiveContactReports 和碰撞物体中的 sendContactReports 均需要设置为 true。参数 body、positions、impulses 和 normals 包含碰撞物体的其他信息、位置、作用力和法线,它们在相同索引处对应每个接触点。
注意: 相应的处理器为 onBodyContact
。
另请参阅: CharacterController::shapeHit、PhysicsWorld::reportKinematicKinematicCollisions 和 PhysicsWorld::reportStaticKinematicCollisions。
enteredTriggerBody(TriggerBody *body) |
当该物体进入指定的触发 body 时,将发出此信号。
注意: 仅当 receiveTriggerReports 为 true
时发出。
注意: 相应的处理器为 onEnteredTriggerBody
。
另请参阅: receiveTriggerReports 和 exitedTriggerBody。
exitedTriggerBody(TriggerBody *body) |
当该物体退出指定的触发 body 时,将发出此信号。
注意: 仅当 receiveTriggerReports 为 true
时发出。
注意: 相应的处理器为 onExitedTriggerBody
。
另请参阅: receiveTriggerReports 和 enteredTriggerBody。
© 2024 Qt公司有限公司。本文件中包含的文档贡献均为各自的版权所有。本提供的文档是根据自由软件基金会发布的、由自由软件基金会发布的 GNU自由文档许可证版本1.3 条款授权的。Qt及其相关标志是芬兰及世界其他国家的Qt公司有限公司的商标。所有其他商标均为各自所有者的财产。