#camera #bevy #gamedev #screen #style #system #stalker-x

reactor_camera

受Love2D相机插件STALKER-X启发的Bevy 2D相机插件。

1个稳定版本

1.0.0 2024年7月21日

#1916游戏开发

Download history 133/week @ 2024-07-20 11/week @ 2024-07-27

每月 144次下载
用于 reactor_core

MIT/Apache

170KB
4.5K SLoC

reactor_camera

Bevy的相机系统,深受Love2D插件STALKER-X的启发。

功能

此插件的主要功能是CameraBundle2DCameraStyle

CameraStyle

定义了三种相机样式

  • 精确
  • 死区
  • 屏幕内

精确

具有此样式的相机将精确跟随其CameraTargetCameraLerpCameraLead没有效果。

死区

具有此样式的相机将保持静止,除非CameraTarget离开定义的Deadzone

一旦目标离开死区,相机将根据CameraLerp的值(2.0 - 10.0的值效果最佳)对齐到目标。

如果CameraLead的值大于1.0,则相机将尝试将目标定位在目标运动前方等于提供的X和Y值的几个世界单位处。

Deadzone以世界单位定义,不受投影缩放的影响。换句话说,如果您放大相机,Deadzone的值将不会改变。

屏幕内

具有此样式的相机将保持静止,除非CameraTarget离开可见屏幕区域。

一旦目标离开当前屏幕,相机将根据CameraLerp的值(2.0 - 10.0的值效果最佳)对齐到下一个屏幕的中心。

CameraLead没有效果。

屏幕大小基于当前可见屏幕大小,因此考虑了bevy的OrthographicProjection的各种选项,包括ScaleScalingMode

用法

将crate添加到您的Cargo.toml,将CameraPlugin添加到您的应用程序中,并将CameraBundle2D添加到您的相机中。

注意:此插件严重依赖于reactor_spatial。如果您不使用reactor_spatial作为您的游戏空间系统,则此相机系统将无法工作。

依赖关系

~38–75MB
~1.5M SLoC