0

Three.js r62

いくつかのメッシュを含む .obj ファイルのシーンがあります。 https://dl.dropboxusercontent.com/u/8913924/terrain/index.html

「地形」オブジェクトにテクスチャを適用しようとしました。結果は、目に見えない/透明なテクスチャです。

(テクスチャがシーン内の他のオブジェクトに適用されている場合 - すべて問題ないようです)

上記のデモを確認してください

注: .mtl ファイルは空です。

テクスチャをアップロードして、シーンのすべてのオブジェクトに適用します。

/* prepare the texture */
var texture = THREE.ImageUtils.loadTexture( 'crate.gif' );
texture.needsUpdate = true;

このテクスチャを地形と他のすべてのオブジェクトに適用します。

if ( ('string' == typeof o.type) && ( 'terrain' == o.type)){
 /*work with terrain*/          
 //object.children[i].material = object.children[i].material.clone();
 object.children[i] = new THREE.Mesh (object.children[i].geometry.clone(), object.children[i].material.clone());
 object.children[i].material.color.setHex(0xffffff);
 object.children[i].material.map = texture;
 object.children[i].material.ownMaterial = true;
 //console.log('terrain colored');
} else  {
      /*work with all other objects*/
  object.children[i].material = object.children[i].material.clone();
  object.children[i].material.ownMaterial = true;
  object.children[i].material.map = texture;                    
}
4

0 に答える 0