15个不稳定版本 (5个破坏性更新)

0.6.0 2024年7月22日
0.5.0 2024年2月25日
0.4.3 2024年2月25日
0.4.2 2023年6月1日
0.1.4 2021年11月14日

#157 in 游戏开发

Download history 84/week @ 2024-05-05 110/week @ 2024-05-12 79/week @ 2024-05-19 88/week @ 2024-05-26 164/week @ 2024-06-02 114/week @ 2024-06-09 88/week @ 2024-06-16 96/week @ 2024-06-23 54/week @ 2024-06-30 82/week @ 2024-07-07 66/week @ 2024-07-14 182/week @ 2024-07-21 190/week @ 2024-07-28 75/week @ 2024-08-04 41/week @ 2024-08-11 37/week @ 2024-08-18

每月356次下载
2 crates 中使用

MIT/Apache

32KB
765

🎥 dolly

Crates.io Docs

通过组合简单的构建块创建平滑的相机:第一人称、追逐、轨道、注视,等等!

使用 dolly 制作的相机装置与引擎无关,仅提供相机定位。视场和剪切平面等光学和渲染参数可以在此基础上构建,但不属于此包的范围。

虽然相机在游戏开发中是一个复杂的话题,但此包仅提供基本功能,旨在小型游戏和工具。

示例

orbit camera example

let mut camera: CameraRig = CameraRig::builder()
    .with(YawPitch::new().yaw_degrees(45.0).pitch_degrees(-30.0))
    .with(Smooth::new_rotation(1.5))
    .with(Arm::new(Vec3::Z * 4.0))
    .build();

// ...

let camera_driver = camera.driver_mut::<YawPitch>();
if keyboard.was_just_pressed(VirtualKeyCode::Z) {
    camera_driver.rotate_yaw_pitch(-90.0, 0.0);
}
if keyboard.was_just_pressed(VirtualKeyCode::X) {
    camera_driver.rotate_yaw_pitch(90.0, 0.0);
}

camera.update(time_delta_seconds);

依赖项

~3.5MB
~104K SLoC