Catalog entry that binds a sphere or capsule to named attachment points. 更多...
#include <BoneCollider.h>
Public 成员函数 | |
| Result< void > | validate () const |
| Reject empty ids, non-finite dimensions, or inconsistent shape fields. | |
Public 属性 | |
| std::string | colliderId |
| Stable catalog id (e.g. weapon.blade, hand.L). | |
| std::string | boneName |
| Primary / start attachment name resolved by IAttachmentPointSource. | |
| std::string | endBoneName |
| Optional second attachment for dual-socket capsules. Empty means a single-bone capsule axis along local +Y through the center. | |
| BoneColliderShapeKind | kind = BoneColliderShapeKind::Sphere |
| float | radius = 0.f |
| Non-negative finite collision radius in meters. | |
| float | halfHeight = 0.f |
| Half-length along local +Y for single-bone capsules; ignored otherwise. | |
| AttachmentPoint | localOffset {} |
Local offset on boneName (sphere center or capsule start/center). | |
| AttachmentPoint | endLocalOffset {} |
Local offset on endBoneName for dual-socket capsules. | |
| std::uint32_t | categoryBits = 0xFFFFFFFFu |
| Query category bits applied during sweeps. | |
| std::uint32_t | maskBits = 0xFFFFFFFFu |
| Query mask bits applied during sweeps. | |
| int | ignoredBodyId = -1 |
| Optional body id ignored by sweeps (-1 = none). | |
| int | maxHits = 8 |
| Maximum World3D cast results retained per armed collider per frame. | |
详细描述
Catalog entry that binds a sphere or capsule to named attachment points.
Sphere samples boneName once with localOffset. Capsule either:
- samples the same bone twice with
localOffset ± (0, halfHeight, 0)whenendBoneNameis empty (Physics Asset style), or - samples
boneName/endBoneNamewith their local offsets (weapon-blade / dual-socket sweep style, matching UE5 anim-notify traces).
Filter bits mirror World3D query category/mask; they are applied only for the duration of each sweep and do not mutate persistent world defaults.
在文件 BoneCollider.h 第 32 行定义.
成员函数说明
◆ validate()
| Result< void > eve::physics::trajectory::BoneColliderDefinition::validate | ( | ) | const |
Reject empty ids, non-finite dimensions, or inconsistent shape fields.
- 返回
- Applied when valid; InvalidArgument otherwise.
在文件 BoneCollider.cpp 第 7 行定义.
引用了 boneName, eve::physics::trajectory::Capsule, colliderId, endBoneName, endLocalOffset, eve::Diagnostic::error(), eve::Result< T >::failure(), halfHeight, ignoredBodyId, eve::InvalidArgument, kind, localOffset, maxHits, radius, eve::physics::trajectory::Sphere, eve::Result< T >::success(), eve::AttachmentPoint::x, eve::AttachmentPoint::y , 以及 eve::AttachmentPoint::z.
类成员变量说明
◆ boneName
| std::string eve::physics::trajectory::BoneColliderDefinition::boneName |
Primary / start attachment name resolved by IAttachmentPointSource.
在文件 BoneCollider.h 第 36 行定义.
被这些函数引用 validate().
◆ categoryBits
| std::uint32_t eve::physics::trajectory::BoneColliderDefinition::categoryBits = 0xFFFFFFFFu |
Query category bits applied during sweeps.
在文件 BoneCollider.h 第 52 行定义.
◆ colliderId
| std::string eve::physics::trajectory::BoneColliderDefinition::colliderId |
◆ endBoneName
| std::string eve::physics::trajectory::BoneColliderDefinition::endBoneName |
Optional second attachment for dual-socket capsules. Empty means a single-bone capsule axis along local +Y through the center.
在文件 BoneCollider.h 第 41 行定义.
被这些函数引用 validate().
◆ endLocalOffset
| AttachmentPoint eve::physics::trajectory::BoneColliderDefinition::endLocalOffset {} |
Local offset on endBoneName for dual-socket capsules.
在文件 BoneCollider.h 第 50 行定义.
被这些函数引用 validate().
◆ halfHeight
| float eve::physics::trajectory::BoneColliderDefinition::halfHeight = 0.f |
Half-length along local +Y for single-bone capsules; ignored otherwise.
在文件 BoneCollider.h 第 46 行定义.
被这些函数引用 validate().
◆ ignoredBodyId
| int eve::physics::trajectory::BoneColliderDefinition::ignoredBodyId = -1 |
◆ kind
| BoneColliderShapeKind eve::physics::trajectory::BoneColliderDefinition::kind = BoneColliderShapeKind::Sphere |
在文件 BoneCollider.h 第 42 行定义.
被这些函数引用 validate().
◆ localOffset
| AttachmentPoint eve::physics::trajectory::BoneColliderDefinition::localOffset {} |
Local offset on boneName (sphere center or capsule start/center).
在文件 BoneCollider.h 第 48 行定义.
被这些函数引用 validate().
◆ maskBits
| std::uint32_t eve::physics::trajectory::BoneColliderDefinition::maskBits = 0xFFFFFFFFu |
Query mask bits applied during sweeps.
在文件 BoneCollider.h 第 54 行定义.
◆ maxHits
| int eve::physics::trajectory::BoneColliderDefinition::maxHits = 8 |
Maximum World3D cast results retained per armed collider per frame.
在文件 BoneCollider.h 第 58 行定义.
被这些函数引用 validate().
◆ radius
| float eve::physics::trajectory::BoneColliderDefinition::radius = 0.f |
该结构体的文档由以下文件生成:
- src/modules/physics/trajectory/BoneCollider.h
- src/modules/physics/trajectory/BoneCollider.cpp