diff --git a/AGRARIAN_DEVELOPMENT_ROADMAP.md b/AGRARIAN_DEVELOPMENT_ROADMAP.md index a9c515d..7c3c074 100644 --- a/AGRARIAN_DEVELOPMENT_ROADMAP.md +++ b/AGRARIAN_DEVELOPMENT_ROADMAP.md @@ -368,7 +368,8 @@ Target deliverable: A small group can join a server, spawn into one biome, gathe - [x] Create base player character class. - [x] Create player controller. - [x] Create camera setup. -- [ ] Decide first-person, third-person, or hybrid camera. +- [x] Decide first-person, third-person, or hybrid camera. Decision: hybrid camera with third person as default and optional first-person toggle. +- [ ] Implement first/third-person camera toggle. - [x] Implement movement. - [ ] Implement sprinting. - [ ] Define real-world baseline walking speed. @@ -1443,4 +1444,4 @@ Earliest incomplete foundation items: Immediate next item: -- [ ] Decide first-person, third-person, or hybrid camera. +- [ ] Implement first/third-person camera toggle. diff --git a/Docs/CameraPerspectiveDecision.md b/Docs/CameraPerspectiveDecision.md new file mode 100644 index 0000000..afc1f6c --- /dev/null +++ b/Docs/CameraPerspectiveDecision.md @@ -0,0 +1,54 @@ +# Camera Perspective Decision + +## Decision + +Agrarian will use a hybrid camera model: + +- default view: third person; +- optional view: first person; +- player can switch from third person to first person and back during play. + +Third person is the baseline because Agrarian needs strong body, clothing, +weather, injury, carried-load, tool-use, shelter-building, and environmental +awareness. First person is still valuable for immersion, close inspection, +interior spaces, aiming future tools/weapons, and players who prefer that view. + +## MVP Direction + +The current character already uses a third-person orbit camera with a spring +arm. That remains the default MVP camera. + +The first implementation pass should add a local player camera toggle that: + +- switches to a first-person camera position; +- hides or adjusts the local player mesh if it blocks the view; +- returns cleanly to the third-person spring-arm view; +- keeps movement and interaction behavior consistent; +- does not affect server authority or replicated gameplay state. + +## Rules + +- Camera perspective is a local presentation choice, not authoritative gameplay + state. +- Third person remains the tested default for investor/demo builds until the + first-person view is comfortable. +- First person should not provide a gameplay exploit, such as seeing through + walls, shelter pieces, terrain, or the player mesh. +- Building, gathering, crafting, fire use, shelter use, and future combat/tool + interactions must remain usable in both views before first person is treated + as production-ready. +- Any camera toggle input should use the existing Enhanced Input system and + follow the `IA_` asset naming convention. + +## Follow-Up Implementation + +Add a roadmap item for implementing the first/third-person camera toggle. That +work should include: + +- input action and mapping; +- camera mode state on the local character; +- first-person camera offset/tuning; +- third-person return behavior; +- local mesh visibility handling; +- interaction trace validation in both modes; +- smoke test or manual test notes.