0

2.9 ビューア ファイルを使用して、イメージ テクスチャを含むマテリアルを使用する方法についてサポートが必要です。three.js のリビジョン 71 を使用していることがわかります。

カスタムシェイプを作成しました。頂点からの正方形

画像テクスチャ素材を使いたい

var shininess = 50, specular = 0x333333, bumpScale = 1, shading = THREE.SmoothShading;
var imgTexture = THREE.ImageUtils.loadTexture( "textures/UV_Grid_Sm.jpg" );
            imgTexture.wrapS = imgTexture.wrapT = THREE.RepeatWrapping;
            imgTexture.anisotropy = 16;
var material = new THREE.MeshLambertMaterial( { map: imgTexture, color: 0xffffff, shading: shading } );
viewer.impl.matman().addMaterial("FloorMaterial", material, true);

...

// Convert Array to Vector Array and World Space
var vectorWorldArray = convertFloatArrayToVectorWorldArray(viewer,
        matrixWorld, floatArray);
var shape = new THREE.Shape(vectorWorldArray);
var geometry = new THREE.ShapeGeometry(shape);
 geometry.faces.push( new THREE.Face3( 0, 1, 2 ) );
 geometry.faces.push( new THREE.Face3( 2, 3, 0 ) );
geometry.computeFaceNormals();
var mesh = new THREE.Mesh(geometry, material);
var scene = viewer.impl.scene;
// mesh.translateZ( 10 );
scene.add(mesh);

テクスチャはすべて黒として表示されます

Chrome で表示される唯一のもの (バージョン 52.0.2743.116 m) [.Offscreen-For-WebGL-0B70AB98]RENDER 警告: ユニット 0 にバインドされたテクスチャはありません

テクスチャが存在することを知っています

画像テクスチャ素材を追加する簡単で正しい方法はありますか?

4

1 に答える 1

0

ランバートには、ビューアに付属しているもの以外のライトが必要なようです

BasicMaterial の使用に切り替えて、テクスチャが表示されるようになりました。

var material = new THREE.MeshBasicMaterial( { map: imgTexture, color: 0xffffff, shading: shading } );
于 2016-08-16T01:53:55.487 に答える