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