The immortal fox

The Prompt: "The Immortal Fox" 3D Logic ChallengeGoal: Build a React-based 3D exploration game using Three.js and GLTFLoader where a character grows and gains "Absolute Immunity" through specific item collection milestones.Core Environment & Character:World: A vast grassy plane with a dense forest of low-poly trees and exponential fog for depth.Character: Load a 3D rigged Fox model. Implement WASD controls with a dynamic 3rd-person follow camera that adjusts its height and distance based on the fox's current scale.Animations: The fox should play its "walk/run" animation, with the timeScale mapped to its actual movement velocity. The animation must stop when the fox is idle.Gameplay Logic & State Machine:Red Mushroom Phase: Spawn 5 red mushrooms. Each collection increments a counter. At 5 mushrooms, the fox scales up by 20x (Giant Mode).The Nemesis: Purple mushrooms act as enemies. They "hunt" the fox by slowly moving toward its current position.Penalty: If a purple mushroom touches a non-immune fox, the fox loses 1 red mushroom and scales back down immediately.The Golden Milestone (The "One-Time" Rule):The moment the counter hits 5/5, a single Golden Mushroom spawns in the distance.This Golden Mushroom is a unique entity. Once it is collected, it must NEVER spawn again for the duration of the session.Absolute Immunity:Bumping into the Golden Mushroom grants "Immunity."Display a high-contrast white speech bubble above the fox's head that reads "IMMUNITY" using a Canvas texture.Permanent Transformation: Once immune, the fox is locked at 20x scale forever. Purple mushrooms can no longer reduce the mushroom count or shrink the fox. They are simply destroyed on contact.Visual Polish:UI: Use a minimalist, high-end "Axis" style configurator UI with thin tracking, uppercase labels, and a dot-matrix style collection tracker.Controls: Implement smooth mouse-drag rotation for the camera (Yaw and Pitch) with eased interpolation for a professional "Configurator" feel. Load fox from https://github.khronos.org/glTF-Sample-Viewer-Release/

Try it yourself