#pixel-perfect #pixel #bevy #graphics #game

bevy_smooth_pixel_camera

Bevy的平滑像素完美摄像头

6个版本

0.3.0 2024年2月17日
0.2.2 2024年1月31日
0.1.1 2023年11月10日

#908 in 游戏开发

MIT/Apache

36KB
492

bevy_smooth_pixel_camera

crates.io docs.rs

Bevy插件,添加简单平滑像素摄像头。

平滑功能基于这个来自aarthificial的视频,它很好地解释了其工作原理:https://youtu.be/jguyR4yJb1M

这种方法允许摄像头平滑移动,同时保留低分辨率渲染的像素完美效果。

使用方法

  1. bevy_smooth_pixel_cameracrate添加到您的项目中。

    cargo add bevy_smooth_pixel_camera
    
  2. 添加PixelCameraPlugin并将ImagePlugin设置为default_nearest

    use bevy::prelude::*;
    use bevy_smooth_pixel_camera::prelude::*;
    
    App::new().add_plugins((
        DefaultPlugins.set(ImagePlugin::default_nearest()),
        PixelCameraPlugin
    )).run();
    
  3. 将像素完美摄像头添加到您的场景中。

    use bevy::prelude::*;
    use bevy_smooth_pixel_camera::prelude::*;
    
    fn setup(mut commands: Commands) {
        commands.spawn((
            Camera2dBundle::default(),
            PixelCamera::from_size(ViewportSize::PixelFixed(4))
        ));
    }
    
  4. 这就完成了!请确保通过PixelCamera.subpixel_pos属性而不是Transform组件来移动摄像头。

Bevy兼容性

bevy bevy_smooth_pixel_camera
主程序 主程序
0.13.* / 最新版本 0.3.0 / 最新版本
0.12.* 0.1.0 - 0.2.1

依赖

~34–71MB
~1M SLoC