在标准 PBR 着色器中是否有一种内置的方法来分层纹理? [英] Is there a built-in way to layer textures within the standard PBR shader?

查看:19
本文介绍了在标准 PBR 着色器中是否有一种内置的方法来分层纹理?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要一个类似于这个问题,在 Aframe 中,在单个模型上有分层的可交换纹理:

I want to have an effect similar to this question, in Aframe, to have layered swappable textures on a single model:

我想知道是否有我在 Threejs 中遗漏的标准流程,以便我可以继续使用标准着色器;还是我必须分叉它并在自定义着色器中自己添加多纹理功能?

I am wondering if there is a standard process I have missed in Threejs so that I can continue to use the standard shader; or do I have to fork it and add the multi-texture capability myself in a custom shader?

谢谢!

推荐答案

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

You want to layer materials or textures using 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

three.js r.91

这篇关于在标准 PBR 着色器中是否有一种内置的方法来分层纹理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆