我已经创建了建筑物的草图模型,并将其导出到.dae
纹理文件中.我想使用three.js在浏览器中显示它,但是我收到错误THREE.MultiMaterial has been removed. Use an Array instead
.我怎么解决这个问题?
在新版本的three.js中,你必须使用简单的数组和(items)materilas而不是multimaterials.这是一个例子:
var geometry = new THREE.BoxBufferGeometry( 1, 1, 1 );
var materials = [
new THREE.MeshDepthMaterial(),
new THREE.MeshNormalMaterial(),
new THREE.MeshBasicMaterial( { wireframe: true } ),
new THREE.MeshLambertMaterial( { color: 0xff0000 } ),
new THREE.MeshPhongMaterial( { color: 0x0000ff } ),
new THREE.MeshStandardMaterial( { color: 0x00ff00 } ),
];
var mesh = new THREE.Mesh( geometry, materials );
Run Code Online (Sandbox Code Playgroud)
同样重要!访问看起来像:
if ( Array.isArray( object.material ) ) {
for ( var m = 0; m < object.material.length; m++ ) {
object.material[ m ].color.set( 0xffffff );
}
} else {
object.material.color.set( 0xffffff );
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4766 次 |
最近记录: |