0

テクスチャを設定してみました。しかし、それはうまくいきません。この場合、どのようにテクスチャを設定する必要がありますか?

これがコードです http://jsfiddle.net/9VgTt/

ヒントをいただければ幸いですみんなありがとう

4

1 に答える 1

3

バッファは事前に割り当てる必要があるため、最初に、より複雑なマテリアルをレンダリングする必要があります。

これを行うには、次のようなことを行うことができます。

window.mesh = new THREE.Mesh(
  new THREE.SphereGeometry( 10, 20, 30 ),
  new THREE.MeshLambertMaterial({
    map: THREE.ImageUtils.loadTexture('/img/logo.png')})
);
scene.add( mesh );
 
// render once
renderer.render( scene, camera );

// remove map
window.mesh.material.map = null;
window.mesh.material.needsUpdate = true;

これがあまりにもハックだと思う場合、別の解決策は、最初にダミーの透明または無地のマップテクスチャを用意することです。

この問題の詳細については、three.js wiki(https://github.com/mrdoob/three.js/wiki/Updates)を参照してください。

更新されたフィドルは次のとおりです:http://jsfiddle.net/9VgTt/14/

于 2012-08-16T19:18:10.663 に答える