Fix NPCs walking backwards
Avatars called Godot's look_at(), which points the node's -Z axis at the target, but the rig's face (eyes/brows/mouth/focus disc, and the Blender successor) is on +Z. Every walking NPC therefore faced away from its movement direction. - add the pure yaw_towards(direction) helper (+Z forward) and use it in both movement paths and the reaction face-turn - fix the head-turn offset to the same +Z convention (basis.z) - test +Z/+X/-Z/arbitrary directions; recapture targeting screenshot - TODO bug item moved to DONE, MEMORY records the convention Headless 209/209.
This commit is contained in:
1 parent
a7daae8a14
commit
0eb17e3bb4
6 files changed
+53
-9
No files matched your search
@@ -20,6 +20,12 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o
|
||||
- Shift length is the scenario's `shift_duration_s` (900 s in all three venues). Tests and the screenshot tool override elapsed time; they do not change the default.
|
||||
- RNG: NPC reactions and event scheduling are seedable for deterministic tests.
|
||||
|
||||
- **NPC facing (fixed after v0.5.0):** the avatar's visual front is **+Z** (procedural eyes
|
||||
and the Blender model's face). Godot `look_at()` aims **-Z**, which made every NPC walk
|
||||
backwards. Use `NpcAvatar.yaw_towards(dir)` and set `rotation.y`; do not call `look_at()` on
|
||||
avatars. Head-turn offsets use `+basis.z` for the same reason. Covered by
|
||||
`test_yaw_faces_the_movement_direction`.
|
||||
|
||||
## Handoff (read this first)
|
||||
|
||||
- **Phase 2 — AI texturing (this agent, DONE 2026-11-01).** Phase 1 assets were
|
||||
|
||||
Reference in new issue
Block a user