3d

Implements 3D character controllers, camera rigs, animation state machines, and navigation in ignifx games.

Updated Sep 5, 2026
One-click install
npx skills add https://github.com/astrum-forge/ignifx --skill 3d-astrum-forge
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: 3d
Source: https://github.com/astrum-forge/ignifx/tree/main/packages/3d/skills/3d
Command: npx skills add https://github.com/astrum-forge/ignifx --skill 3d-astrum-forge

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building 3D gameplay in ignifx requires wiring together physics, input, animation, and pathfinding by hand. This Skill provides the operational knowledge to add third-person and first-person character controllers, follow cameras with wall collision, Animator state machines with blend trees, and navmesh-driven agents using @ignifx/3d. ## Core Features & Use Cases - Character controllers and camera rigs: Configure ThirdPersonController, FirstPersonController, and ThirdPersonCamera with correct update-phase behavior, input actions, and pointer-lock handling. - Animation state machines: Author .animator.json documents with parameters, transitions, blend trees, and animation events driven by controller state. - Navigation and presentation: Bake NavMeshSurface navmeshes, drive NavMeshAgent companions, and add LodGroup and Billboard components. - Use Case: You are building a third-person game and need a hero that walks, jumps, and sprints with an orbit camera that avoids walls, plus an NPC companion that pathfinds to the player — this Skill gives you the exact component setup, recipes, and gotchas. ## Quick Start Ask the AI to create a third-person character with a follow camera and a baked navmesh in an ignifx project using @ignifx/3d.

Frequently Asked Questions about 3d

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a third-person character controller in ignifx?▼

Add a CharacterController from @ignifx/physics and a ThirdPersonController from @ignifx/3d to the same entity, then register physics(), input(), and threeD() extensions. The controller reads Move, Jump, and Sprint input actions by default, and the action names are rebindable fields.

How do I set up an Animator state machine in ignifx?▼

Attach an Animator component with a .animator.json asset defining parameters, states, transitions, and blend trees. Drive parameters from a Script using setFloat, setBool, and setTrigger, and listen for animation events through animator.onEvent.

Does @ignifx/3d work in headless mode without a GPU?▼

Yes, almost everything runs under createApp({ headless: true }): the state machine, transitions, animation events, controllers, and navigation all function. Only the skeletal pose output requires a GPU.

Why does my navmesh pathfinding return empty paths in ignifx?▼

Recast navigation loads as WebAssembly asynchronously, so no navmesh is baked on the first frame and findPath returns empty. Await surface.bake() or connect to surface.onBaked before querying; queries never throw.

Why is mouse look not working in my first-person ignifx game?▼

FirstPersonController defaults lockPointerOnClick to true, so mouse input is ignored until the player clicks the canvas and the browser grants pointer lock. Set lockPointerOnClick to false for drag-to-look, or drive a gamepad stick in headless tests.

Can two animated characters share one glb model in ignifx?▼

No. Babylon Lite binds an animation group to one manager, so a second Animator on the same glb is refused and instances would share one pose. Load a second copy of the glb under a different asset address for each animated character.