渲染器

渲染器总览

渲染器是负责显示图形的组件,他会依据不同的数据源展示对应的渲染效果。通过在节点上挂载渲染器,并设置对应的渲染数据,可以展现出各种复杂的三维场景。

渲染器类型

在 Galacean 中,内置了以下几种渲染器:

通过渲染排序可以更深入地了解各种渲染器在引擎内的渲染顺序。

属性

Renderer 在 Galacean 中是所有渲染器的基类,他包含了如下属性:

属性解释
receiveShadows是否接收阴影
castShadows是否投射阴影
priority渲染器的渲染优先级,值越小渲染优先级越高,默认为 0
shaderData渲染依赖的数据,包含一些常量和宏开关
materialCount渲染器包含的材质总数
bounds渲染器世界包围盒
isCulled渲染器在当前帧是否渲染

您可以从任意派生自 Renderer 的渲染器内获取到这些属性。

const renderer = cubeEntity.getComponent(Renderer);
renderer.castShadows = true;
renderer.receiveShadows = true;
renderer.priority = 1;
console.log("shaderData", renderer.shaderData);
console.log("materialCount", renderer.materialCount);
console.log("bounds", renderer.bounds);
console.log("isCulled", renderer.isCulled);

方法

Renderer 渲染器基类主要提供设置与获取材质相关的方法,需要注意的是,一个渲染器内可能包含多个材质,因此下列方法更像是在操作材质数组的增删改查

方法解释
setMaterial设置数组中某个材质
getMaterial获取数组中某个材质
getMaterials获取材质数组
getInstanceMaterial获取数组中某个材质的副本
getInstanceMaterials获取材质数组的副本

这篇文档对您有帮助吗?