1个稳定版本
1.0.0 | 2024年7月21日 |
---|
#1916 在 游戏开发
每月 144次下载
用于 reactor_core
170KB
4.5K SLoC
reactor_camera
Bevy的相机系统,深受Love2D插件STALKER-X的启发。
功能
此插件的主要功能是CameraBundle2D
和CameraStyle。
CameraStyle
定义了三种相机样式
- 精确
- 死区
- 屏幕内
精确
具有此样式的相机将精确跟随其CameraTarget
。 CameraLerp
和CameraLead
没有效果。
死区
具有此样式的相机将保持静止,除非CameraTarget
离开定义的Deadzone
。
一旦目标离开死区,相机将根据CameraLerp
的值(2.0 - 10.0的值效果最佳)对齐到目标。
如果CameraLead
的值大于1.0,则相机将尝试将目标定位在目标运动前方等于提供的X和Y值的几个世界单位处。
Deadzone
以世界单位定义,不受投影缩放的影响。换句话说,如果您放大相机,Deadzone
的值将不会改变。
屏幕内
具有此样式的相机将保持静止,除非CameraTarget
离开可见屏幕区域。
一旦目标离开当前屏幕,相机将根据CameraLerp
的值(2.0 - 10.0的值效果最佳)对齐到下一个屏幕的中心。
CameraLead
没有效果。
屏幕大小基于当前可见屏幕大小,因此考虑了bevy的OrthographicProjection
的各种选项,包括Scale
和ScalingMode
。
用法
将crate添加到您的Cargo.toml
,将CameraPlugin
添加到您的应用程序中,并将CameraBundle2D
添加到您的相机中。
注意:此插件严重依赖于reactor_spatial。如果您不使用reactor_spatial作为您的游戏空间系统,则此相机系统将无法工作。
依赖关系
~38–75MB
~1.5M SLoC