ワンクリックで
stemstudio-camera
// Camera type, perspective, and configuration for Studio 3D. Use for camera type selection, FOV, clipping planes, and genre-appropriate camera setup.
// Camera type, perspective, and configuration for Studio 3D. Use for camera type selection, FOV, clipping planes, and genre-appropriate camera setup.
| name | stemstudio-camera |
| description | Camera type, perspective, and configuration for Studio 3D. Use for camera type selection, FOV, clipping planes, and genre-appropriate camera setup. |
Use this skill for camera configuration and genre-appropriate camera setup.
Read current camera settings before changing:
python scripts/get_editor_settings.py --category camera
The default scene camera is always named DefaultCamera. Use this name as --target unless the user has renamed it.
The default camera object name is "DefaultCamera". If you are unsure, verify with:
python ~/.claude/skills/stemstudio-scene/scripts/get_scene_objects.py --filter "DefaultCamera"
# If not found (user renamed the camera), retry without --filter and look for isCamera: true
python ~/.claude/skills/stemstudio-scene/scripts/get_scene_objects.py
Look for an object with isCamera: true in the result. Use that object's name as the --target for all camera commands.
python scripts/set_camera_settings.py --target "DefaultCamera" --cameraType THIRD_PERSON --fov 60
python scripts/set_camera_settings.py --target "DefaultCamera" --cameraType FIRST_PERSON --headHeight 1.7
python scripts/set_camera_settings.py --target "DefaultCamera" --cameraType TOP_DOWN --defaultDistance 20
python scripts/set_camera_settings.py --target "DefaultCamera" --cameraType SIDE_SCROLLER --axis Z
Camera types: THIRD_PERSON, FIRST_PERSON, TOP_DOWN, SIDE_SCROLLER.
python scripts/set_camera_settings.py --target "DefaultCamera" --defaultDistance 8 --minDistance 3 --maxDistance 15
python scripts/set_camera_settings.py --target "DefaultCamera" --near 0.1 --far 1000
The camera is driven by the character controller behavior attached to the player object. The character behavior controls which object the camera follows and passes runtime options (animations, movement speeds, look speed) to the camera each frame.
The playable object must carry the object tag Player. When creating or repairing a player-controlled character, add the tag before depending on follow-camera behavior:
python ~/.claude/skills/stemstudio-objects/scripts/modify_object.py "Player" --tag Player
To modify the camera perspective (type, FOV, distances): use set_camera_settings targeting DefaultCamera.
To modify how the character moves and what the camera follows: use set_behavior_config targeting the character object with the character behavior. set_behavior_config requires a --behaviorId — never use a behavior name as a substitute. First inspect the player object and find the attached behavior's ID in its behavior data:
python ~/.claude/skills/stemstudio-scene/scripts/get_object.py --target "Player"
# Note the behaviorId of the 'character' behavior from the output
Then update its config:
python ~/.claude/skills/stemstudio-behaviors/scripts/set_behavior_config.py --target "Player" --behaviorId "BEHAVIOR_ID" --attributesData '{"lookSpeed":0.5}'
Key attributes:
lookSpeed — camera rotation sensitivity (0–1)walkSpeed, runSpeed — movement speeds that affect camera follow feelDo not try to detach or replace the character behavior to fix camera issues — modify its config instead.
Three.js right-handed: +X right, +Y up, -Z forward. The camera's local forward is -Z, so camera.getWorldDirection(v) returns the vector the camera is looking toward (already negated for you). When writing custom follow rigs, place the camera at target + offset where offset.z > 0 puts it behind the target. lookAt(x, y, z) takes a world-space point — no axis flip needed. See ~/.claude/stemstudio-docs/architecture.md "Coordinate Convention".
| Genre | Camera Type | Key Settings |
|---|---|---|
| Platformer | SIDE_SCROLLER | axis='Z', defaultDistance=15 |
| Racing | THIRD_PERSON | defaultDistance=10, fov=70 |
| FPS/Shooter | FIRST_PERSON | headHeight=1.7, fov=75 |
| Puzzle | TOP_DOWN | defaultDistance=20, fov=45 |
| RPG/Adventure | THIRD_PERSON | defaultDistance=8, fov=60 |
Use this skill for:
Do not use this skill for:
stemstudio-atmosphere)stemstudio-project-settings)stemstudio-objects)After camera changes:
python scripts/get_editor_settings.py --category camera
"PlayerCamera" as target — the correct default name is "DefaultCamera"Player before using character or camera-follow behaviorset_behavior_config instead~/.claude/stemstudio-docs/editor-settings.md~/.claude/stemstudio-docs/commands-reference.mdstemstudio-behaviors for modifying character controller attributes (lookSpeed, walkSpeed, etc.)stemstudio-scene for listing scene objects and finding the camera by namestemstudio-atmosphere for lighting and mood that complements camerastemstudio-project-settings for rendering qualitystemstudio-game-design for full game setup including cameraAsset search (local and external), asset metadata lookup, model import, and 3D model generation for Studio 3D. Use for finding, inspecting, downloading, and placing 3D models in the scene.
Scene lighting, light object properties, fog, background, tone mapping, and post-processing for Studio 3D. Use for mood, atmosphere, shadows, and visual environment setup.
Add sound effects and audio to 3D scenes in Studio 3D game engine. Use when the user asks to add sounds, music, audio feedback, or sound effects to objects or events. Covers the genericSound behavior for event-triggered audio, audio resource management, and common patterns like ambient sound, collision SFX, UI click sounds, and background music. Examples include "add a sound when the coin is collected", "play background music", "add footstep sounds to the character", or "make the button click sound".
Behavior discovery, creation, update, attach/detach, and configuration in Studio 3D. Use for built-in behavior reuse first, then custom behavior authoring only when needed.
Master routing skill for StemStudio ACP work. Use for broad or ambiguous requests such as "make a game", "build a scene", "improve this", or any task that needs skill selection, scene inspection, staged execution, and clean scene hierarchy.
EventBus guidance for behavior-to-behavior messaging in Studio 3D. Use when behaviors need decoupled communication, topic design, or event lifecycle cleanup.