是否有内置的方法在标准PBR着色器中分层纹理?

时间:2018-04-07 01:24:50

标签: three.js

我希望在Aframe中具有与this question类似的效果,以在单个模型上具有分层可交换纹理:

我想知道我是否在Threejs中遗漏了一个标准流程,以便继续使用标准着色器;或者我是否必须自行分叉并在自定义着色器中添加多纹理功能?

谢谢!

1 个答案:

答案 0 :(得分:5)

您想使用three.js对材质或纹理进行分层。

以下是支持的模式:

var geometry = new THREE.BoxBufferGeometry( 10, 10, 10 );
geometry.clearGroups();
geometry.addGroup( 0, Infinity, 0 );
geometry.addGroup( 0, Infinity, 1 );
geometry.addGroup( 0, Infinity, 2 );
geometry.addGroup( 0, Infinity, 3 );

var materials = [ material0, material1, material2, material3 ];

// mesh
mesh = new THREE.Mesh( geometry, materials );
scene.add( mesh );

小提琴:http://jsfiddle.net/o6atcaeg/

three.js r.91