我必须做什么来创建一个网格的bevy与以下顶点:
let mut vertices : Vec<[f32; 3]> = Vec::new();
vertices.push([0.0, 0.0, 0.0]);
vertices.push([1.0, 2.0, 1.0]);
vertices.push([2.0, 0.0, 0.0]);
然后我想像这样生成一个MeshBundle
commands
.spawn(MeshBundle {
mesh: mesh,
transform: Transform::from_translation(Vec3::new(0.0, 0.0, 0.0)),
..Default::default()
});
2条答案
按热度按时间hfyxw5xn1#
此答案已针对最新的
bevy = "0.9.1"
更新,并使用默认着色器。下面的代码演示如何:
1.定义
bevy::render::pipeline::PrimitiveTopology::TriangleList
的折点位置1.为顶点指定 * 顶点法线 * 和 *UV坐标
1.使用我们定义的3个顶点创建三角形
它是基于bevy中内置的形状,可以在这里找到。
你必须根据你的使用情况定义你自己的 * 位置 , 紫外线 * 和 * 法线 *。有些着色器不需要所有这些网格属性。
5t7ly7z52#
@frankenapps答案已针对
bevy = 0.7
更新