
Bevy Camera Systems
Bevy ECS skill for cameras.
Install
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill bevy-camera-systems -g -a claude-code -y- Repository
- thedivergentai/Game-Dev-Agentic-Skills917
- Category
- Engineering
- Updated
- 19d ago
- License
- LGPL-3.0
- Context cost
- Mediumabout 2,190 tokens
- Runs scripts
- No, instructions only
What it does
Bevy ECS skill for cameras. Keywords: Bevy, Camera, Camera2d, Camera3d, Transform.
Bevy camera systems
When to use
Load this when a view must render 2D or 3D. Camera, Camera2d, Camera3d, and the two_passes example are the sources for the names below. The library pin is 0.20.
ECS shape
- Components:
Camerais the viewpoint (projection and render target). ACamerawith no render graph errors at runtime.Camera2denables the 2D graph and requiresCamera,Projection, andFrustum.Camera3denables the main 3D graph and requiresCameraandProjection. 3D space is right-handed: X right, Y up, Z back, so forward is -Z. - Spawn: the example uses
commands.spawn((Camera3d::default(), Transform::from_xyz(...).looking_at(Vec3::ZERO, Vec3::Y))). A second camera setsCamera { order: 1, clear_color: ClearColorConfig::None, ..default() }so it draws on top without clearing. - Query: systems may take
(&Camera, &GlobalTransform)withWith<Camera2d>.Camera::viewport_to_world_2dmaps a viewport position to a 2D world position for an orthographic camera along Z. - Schedule: spawn on
Startup. Follow, split viewports, and trauma offset are your components onUpdate.
fn spawn_cameras(mut commands: Commands) {
commands.spawn((
Camera3d::default(),
Transform::from_xyz(0.0, 6.0, 10.0).looking_at(Vec3::ZERO, Vec3::Y),
));
commands.spawn((
Camera2d,
Camera {
order: 1,
clear_color: ClearColorConfig::None,
..default()
},
));
}
#[derive(Component)]
struct FollowTarget;
#[derive(Component)]
struct FollowCam {
offset: Vec3,
stiffness: f32,
}
