渲染器

网格渲染器

MeshRenderer 是网格渲染器组件, 使用网格对象(如立方体)作为几何体轮廓的数据源。当一个实体挂载了网格渲染组件,只需设置它的 meshmaterial 即可渲染物体。

使用

在编辑器 层级面板 中,你可以快速创建一个挂载了长方体网格渲染器的节点( 层级面板 -> 右键 -> 3D Object -> Cuboid )。

image-20231007153753006

当然,也可以为场景中已有的节点挂载上网格渲染器,并设置任意网格材质。( 选中节点 -> 检查器面板 -> Add Component -> Mesh Renderer )。

image-20231007153753006

对应在脚本中使用如下所示:

const cubeEntity = rootEntity.createChild("cube");
const cube = cubeEntity.addComponent(MeshRenderer);
cube.mesh = PrimitiveMesh.createCuboid(engine, 2, 2, 2);
cube.setMaterial(new BlinnPhongMaterial(engine));

属性

在编辑器中,可以很方便地设置网格渲染器的属性。

image-20231007153753006
设置解释
material待渲染物体的材质信息
mesh待渲染物体的网格信息
receiveShadows是否接收阴影
castShadows是否投射阴影
priority渲染器的渲染优先级,值越小渲染优先级越高,默认为 0

相比于基础的渲染器,网格渲染器还可设置是否支持顶点色(顶点色数据包含在网格的顶点信息中)。

属性解释
enableVertexColor是否支持顶点色
const meshRenderer = entity.getComponent(MeshRenderer);
// 启用顶点色
meshRenderer.enableVertexColor = true;

方法

网格渲染器并没有新增其他方法,但需要注意的是,很多情况下网格渲染器的网格内包含若干子网格,若希望每个子网格都对应不同的材质,可以在设置的时候就指定相应的网格索引,否则默认使用相同的材质。

最后更新于 七月 11, 2024

这篇文档对您有帮助吗?

On this page