A camera in the pack, and whose hand is on it
The camera now rides in a cradle on the backpack, and taking it out turned into four passes about which hand, and which collider, the game thought I was reaching for. The fix was to make the pack grabbable only by its carry bar.
In short: The camera now rides in a cradle on the backpack, and taking it out turned into four passes about which hand, and which collider, the game thought I was reaching for. The fix was to make the pack grabbable only by its carry bar.
The last entry here ended with the pack's next pieces: the camera in its cradle, then weapons on the carrier. The cradle is built and worn. The carrier isn't.
The camera in its cradle
The camera now starts every session parked in a cradle on the pack's saddle, and rides with it. While I'm wearing the pack the camera can't be grabbed at all, so reaching back over my shoulder always takes the pack. Once the pack is off, held in one hand or floating where I let it go, the other hand draws the camera. Letting go of it near the cradle parks it again, with the same tap in the controller the sword's sheath gives.
Before I saw any of it, Claude checked which way the lens faced by posing the real camera mesh on Astra's slot the way the game does, not by reading the model's axes. Turned 180 degrees, its lowest vertex sits at 0.261 m, one millimeter above Astra's seat, and nothing is inside the pack. Unturned, 2,134 of its vertices were inside the pack and the lens pointed backward. That test was watched failing with the turn removed.
Passes 27 and 28
Pass 27 (113 s): I drew the camera four times and parked it four times, and took it "easily" with the left hand. Putting it back was "only slight difficulty. The haptics really help out here, although the area could be a bit more generous." The cradle's catch went from 0.15 m to 0.20 m, the size of the hip pocket. I also asked for a released pack to straighten itself so it opens level, and it does now.
Pass 28 (170 s) said the level pack held ("Yes, and opens level") and the wider cradle was "easier to put back, absolutely." Once, let go at "a ridiculous angle", it landed facing away, so now it turns its opening side toward me when it lands.
The log also showed five missed grips on the worn pack, 25 to 34 cm from the handle. My words at the time were "it seemed like an area I should have been able to grab it." The grab zone and its tap went from 0.15 m to 0.25 m. I turned down 0.30, because that would reach to within 11 cm of my eye. Each miss now logs which direction it missed in, so the next change can move the zone instead of just growing it.
Astra's review: three bugs
Before merging, Astra reviewed the branch read-only and found three real bugs that no test could see. A drawn camera went dynamic under my hand, and the hip holster's draw had had the same flaw since 5 September. The holster could move the camera into the cradle's reach before the cradle decided, so both claimed it. And one of two hands letting go was enough to park it. The camera now owns its own grab state, counting hands by their interaction-SDK identifier, and the holster and the cradle listen to it instead of to raw grab events. Four new tests, each watched failing for its own reason.
Pass 29: the whole bag was a handle
Pass 29 (142 s) went worse in one place. Taking the camera from a pack I was holding got the bag instead about half the time. "I had to have my controller very much directly pointed at the camera." What I asked for was that only the handle bar on top should take the pack.
There were two causes, and neither was the grab zone. In Meta's interaction SDK, a grab volume is every collider under the prop's Rigidbody, collected once at start-up. The pack's core box sat under that Rigidbody, so the whole bag was a handle, whatever sphere we drew around the bar. The second cause was the log's two lines of floating pack taken by LTouch (focus on the Camera). My other hand took a held pack through the other grab family, near grab versus distance grab, because the SDK's one-hand limit counts per family.
The fix split the pack in two. The grabbable part is now only the carry bar: Astra's grip box, 120 × 38 × 38 mm, padded 4 cm a side. The core became a separate body that blocks things and is nobody's handle. Worn, the 0.25 m zone stays. And one filter, asked by all four grab families, lets only the hand already holding the pack take it. The tokens on the mission table use that filter too now.
Pass 30: "Solidly only wanted the handle"
Pass 30 (95 s) answered every question. The camera came from a held pack 6 times out of 6, and was parked 16 to 20 cm from the cradle each time. My second hand was refused. The bag's side and front didn't take a floating pack ("Solidly only wanted the handle"). A distance grab "really went straight for the handle and brought it right to my hand." Reaching back while worn: "It's great now." The log had no second-hand line and no missed grips.
What I'm keeping: when a grab goes to the wrong thing, check what the SDK counts as the thing before tuning any radius. The sphere was never the problem. The collider underneath it was.
Still open
- Weapons on the pack's carrier aren't built.
- The 4 cm pad around the bar is a guess that one pass didn't contradict.
- Astra has delivered a screen for the back of the camera and a field journal for the hub. Both have been checked, and neither is in the game.
- Photographing still does nothing to gameplay.
PhotoLoghas a damage bonus and a spawn bonus, and nothing reads either.