1 个不稳定版本
0.1.0 | 2024年3月3日 |
---|
#47 在 渲染引擎 中
13KB
232 行
Little引擎相机抽象
引入了新的位置类型:WorldPosition
,它包含以f64值表示的坐标。这使得little-bevy能够模拟广阔的空间,精确到整个太阳系的毫米级。
如何使用
little-camera
的主要产品是 VirtualCameraBundle
,它定义了空间中的虚拟相机,并带有额外的设置(缩放、光圈大小、曝光时间和ISO)。一个 VirtualCamera
可以标记为 Active
,这将切换渲染相机到该位置和设置。
little-camera
提供了一个实用函数 init_base_camera()
,用于生成一个正确标记的2D相机。或者,您可以生成自己的相机,只要它带有 LittleCamera
组件。
translate
模块对于将不同的位置系统相互转换至关重要。
-
从光标位置和屏幕位置转换的点可以转换为渲染坐标,用于指示渲染,以及世界坐标,用于碰撞检测。
-
世界空间中的点可以转换为渲染坐标,以便将它们放置在基础相机正确的位置。
未来想法
-
集成相机共享功能,允许玩家或不同会话共享相机视图。拥有表示相机位置和设置的模板也允许脚本化的相机转换和场景。
-
WorldPositionStack
,它允许一系列可能的WorldPosition
,成为另一层WorldPosition
的新基础标量值。这样就可以模拟大量空间。
依赖项
~50–87MB
~1.5M SLoC