#camera #virtual #abstraction #little #position #system

little-camera

little引擎虚拟相机抽象

1 个不稳定版本

0.1.0 2024年3月3日

#47渲染引擎

GPL-3.0-or-later

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