ITADN
rust-adventure/bevy-examples
rust-adventure/bevy-examples · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Bevy 示例

该仓库收录了使用 Bevy 游戏引擎编写的精选示例。 它们被分为三个子文件夹:

  • concepts
  • examples
  • libs

概念

这些概念示例展示了 ECS API 以及组件钩子、观察者、关联关系和米映射等设计方法。

示例

包含多种演示,通常与着色器相关。

candy-cane

这是一个着色器示例,演示了如何使用 ShaderStorageBuffer 将不同数量的配置传递给材质,从而渲染出拐杖糖条纹效果。

candy canes

立方波

cube wave animation

一种使用顶点着色器来调整一系列立方体位置的自定义材质。

dissolve-sphere-standard-material-extensions

dissolve

一种利用自定义预处理着色器实现的溶解效果。

edge-detection-custom-phase

edge detection

轮廓效果可以通过多种方式实现,而使用索贝尔滤波器等工具进行边缘检测的数据来源,可以来自深度预处理结果、法线数据,或是其他任何地方。 该演示利用自定义的渲染阶段以及艺术家自定义的顶点颜色来控制轮廓的出现位置。 该自定义阶段会通过 Bevy 的网格数据管线将顶点数据渲染成图像,该图像随后会被用作后期处理效果中索贝尔滤波器的数据源。

fresnel-effect

fresnel

菲涅尔效应是一种与观察角度相关的现象。 本演示展示了菲涅尔效应的整体效果,以及将其拆解为各个组成部分的情况。

还有一段相关视频,使用Bevy 0.8]来讲解这一效应,虽然该版本已经相当老旧,但其原理依然适用,而且此处的代码库中的代码也已更新至 Bevy 的最新版本。

libs

可重用的 crate,其中一些是公开的,有些则用于示例中。

bevy_shader_utils

shader utils

一个工具包,为 wgpu 着色器提供一系列噪声函数及其他实用工具。 所提供的噪声函数包括:Perlin、Simplex、Voronoi 以及纯净网格。

blockout

一种三平面遮罩材质,它利用世界空间坐标通过网格为网格模型贴图,其中 1 个立方体对应 1 个世界单位。

bevy_prepass_debug

在示例中用于显示深度、法线及运动向量预处理信息的模块,当示例使用这些功能时便会启用。