载入中...
搜索中...
未找到
ClimbingAnchorAuthoring.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
11
12#include <cstdint>
13#include <string>
14#include <vector>
15
16namespace eve::climbing {
17
20 float handSpacing = 0.42f;
21 float hangingFeetDrop = 1.45f;
22 float ladderMountOffset = 0.45f;
23 std::uint32_t occupancySlots = 1;
24};
25
28 std::string id;
29 std::vector<Vec3> points;
30 Vec3 localNormal{0.f, 0.f, -1.f};
32 std::vector<Vec3> localNormals;
33 bool closed = false;
34 std::vector<std::string> tags;
35};
36
39 std::string id;
41 Vec3 localUp{0.f, 1.f, 0.f};
42 Vec3 localNormal{0.f, 0.f, -1.f};
43 float rungSpacing = 0.3f;
44 float width = 0.5f;
45 std::uint32_t rungCount = 6;
46 std::vector<std::string> tags;
47};
48
52 static constexpr std::string_view SchemaId = "evengine.climbing-anchor-bake-request";
54 static constexpr std::int64_t SchemaVersion = 1;
55
56 std::string graphId;
59 std::vector<ClimbingLedgeBakeSource> ledges;
60 std::vector<ClimbingLadderBakeSource> ladders;
61};
62
68 const eve::Value& value);
69
76
89
97
100 std::string graphId;
101 std::string buildSettingsHash;
102 std::vector<ClimbingAnchorOverlayNode> nodes;
103 std::vector<ClimbingAnchorOverlayEdge> edges;
104};
105
113
121
122} // namespace eve::climbing
double value
Versioned body-local climbing topology, dynamic resolution, and deterministic occupancy.
#define EVENGINE_API_DOMAINS
Definition Export.h:110
const GltfImportRequest & request
std::map< std::string, std::vector< std::string > > graph
Definition Package.cpp:59
Move-only operation result carrying either a value or Status.
Definition Result.h:155
The canonical owning dynamic value used by data-facing protocols.
Definition Value.h:31
eve::Result< ClimbingAnchorBakeResult > bakeClimbingAnchorGraph(const ClimbingAnchorBakeRequest &request)
Bakes deterministic ledge and ladder topology from owning semantic geometry samples.
eve::Result< eve::Value > encodeClimbingAnchorBakeRequest(const ClimbingAnchorBakeRequest &request)
Encodes an owning bake request for editor/script transport.
ClimbingAnchorEdgeKind
Allowed authored transition between two explicit anchors.
ClimbingAnchorKind
Authored semantic of one explicit climbing anchor.
eve::Result< ClimbingAnchorAuthoringOverlay > inspectClimbingAnchorGraphAuthoring(const ClimbingAnchorGraphDefinition &graph)
Builds a validated owning snapshot for an editor or debug-draw adapter.
eve::Result< ClimbingAnchorBakeRequest > decodeClimbingAnchorBakeRequest(const eve::Value &value)
Decodes all known bake request fields without publishing a graph.
Bounded owning editor snapshot; consumers may render it without retaining graph pointers.
std::vector< ClimbingAnchorOverlayEdge > edges
std::vector< ClimbingAnchorOverlayNode > nodes
Complete owning input transaction for deterministic anchor-graph baking.
std::vector< ClimbingLedgeBakeSource > ledges
static constexpr std::string_view SchemaId
Canonical schema id for editor-to-baker transactions.
std::vector< ClimbingLadderBakeSource > ladders
Measured bake result used by tools and build telemetry.
Settings whose canonical values participate in the baked graph build hash.
Versioned graph asset; topology is authoritative while collision remains owned by Physics.
One renderer-neutral directed edge primitive in a body-local editor overlay.
One renderer-neutral node primitive in a body-local editor overlay.
Body-local ladder description supplied by an editor geometry extractor.
Ordered body-local ledge samples supplied by an editor geometry extractor.
std::vector< Vec3 > localNormals
Optional per-point wall normals; empty uses localNormal for every sample.
Small owning world-space vector used at climbing module boundaries.