14个版本 (4个稳定版本)
1.1.2 | 2024年7月20日 |
---|---|
1.1.1 | 2024年7月9日 |
0.5.0 | 2024年6月24日 |
0.4.0 | 2024年6月19日 |
0.3.7 | 2024年5月30日 |
#1740 in 游戏开发
每月403次下载
在 rantz_suite 中使用
170KB
4.5K SLoC
Rantz Camera2D
使用 rantz_spatial2d 的 Bevy 游戏引擎的相机系统。深受 Love2D
插件 STALKER-X 启发。
特性
此插件的主要特性是 CameraBundle2D
和 CameraStyle
。
CameraStyle
定义了三种相机样式
- 精确
- 死区
- 屏幕到屏幕
精确
具有此样式的相机将精确地跟随其 CameraTarget
。 CameraLerp
和 CameraLead
无效。
死区
具有此样式的相机将保持静止,除非 CameraTarget
离开定义的 Deadzone
。
一旦目标离开死区,相机将根据 CameraLerp
的值(2.0 - 10.0 的值效果最佳)向目标lerp。
如果 CameraLead
的值大于1.0,则相机将尝试将目标定位在目标运动前的世界单位数等于提供的X和Y值。
Deadzone
以世界单位定义,不受投影缩放的影响。换句话说,如果您放大相机,Deadzone
的值不会改变。
屏幕到屏幕
具有此样式的相机将保持静止,除非 CameraTarget
离开可见屏幕区域。
一旦目标离开当前屏幕,相机将根据 CameraLerp
的值(2.0 - 10.0 的值效果最佳)lerp到下一个屏幕的中心。
CameraLead
无效。
屏幕大小基于当前可见屏幕大小,因此考虑了bevy的 OrthographicProjection
的各种选项,包括 Scale
和 ScalingMode
。
用法
将crate添加到您的Cargo.toml
,将CameraPlugin2D
添加到您的应用程序中,并将CameraBundle2D
添加到您的相机中。
注意:此插件严重依赖于rantz_spatial2d。如果您没有为您的游戏空间系统使用rantz_spatial2d,则此相机系统将无法正常工作。
依赖项
~39–75MB
~1.5M SLoC