载入中...
搜索中...
未找到
BoneCollider.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
10#include "common/Result.h"
11
12#include <cstdint>
13#include <string>
14
16
18enum class BoneColliderShapeKind : std::uint8_t { Sphere, Capsule };
19
34 std::string colliderId;
36 std::string boneName;
41 std::string endBoneName;
42 BoneColliderShapeKind kind = BoneColliderShapeKind::Sphere;
44 float radius = 0.f;
46 float halfHeight = 0.f;
50 AttachmentPoint endLocalOffset{};
52 std::uint32_t categoryBits = 0xFFFFFFFFu;
54 std::uint32_t maskBits = 0xFFFFFFFFu;
56 int ignoredBodyId = -1;
58 int maxHits = 8;
59
64 [[nodiscard]] Result<void> validate() const;
65};
66
67} // namespace eve::physics::trajectory
std::uint64_t localOffset
#define EVENGINE_API_DOMAINS
Definition Export.h:110
TokenKind kind
float radius
float halfHeight
Move-only, checked operation results for the common layer.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
BoneColliderShapeKind
Primitive used for one bone-bound collision proxy.
Plain world-space point shared by animation consumers without a math-library dependency.
Catalog entry that binds a sphere or capsule to named attachment points.
std::string endBoneName
Optional second attachment for dual-socket capsules. Empty means a single-bone capsule axis along loc...
std::string colliderId
Stable catalog id (e.g. weapon.blade, hand.L).
std::string boneName
Primary / start attachment name resolved by IAttachmentPointSource.