2

javascript と three.js ライブラリを使用して球体を作成できます。ただし、球の上にオーバーレイしたい画像があり、そうすると、球は黒い球に変わり、その上に画像が投影されません。これが私がそれをどのように実装したかです: var renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement);

  // camera
  var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 1000);
  camera.position.z = 500;

  // scene
  var scene = new THREE.Scene();

  // sphere
  // the first argument of THREE.SphereGeometry is the radius, the second argument is
  // the segmentsWidth, and the third argument is the segmentsHeight.  Increasing the 
  // segmentsWidth and segmentsHeight will yield a more perfect circle, but will degrade
  // rendering performance
  var texture = THREE.ImageUtils.loadTexture('beach.jpg', {}, function() {
  renderer.render(scene, camera);
  });

  texture.needsUpdate = true;
//  texture.wrapS = texture.wrapT = THREE.ClampToEdgeWrapping;
//  texture.repeat.set( 125, 125 );
//  texture.offset.set( 15, 15 );
 // texture.needsUpdate = true;
  var material = new THREE.MeshBasicMaterial({map: texture});
  var sphere = new THREE.Mesh(new THREE.SphereGeometry(150, 100, 100), material);      
  //mesh = new THREE.Mesh(sphere, material);
  //scene.add(mesh);
 // var sphere = new THREE.Mesh(new THREE.SphereGeometry(150, 100, 100), new THREE.MeshNormalMaterial());
 // sphere.overdraw = true;
  scene.add(sphere);


  renderer.render(scene, camera);

私はすべてを試しましたが、画像が球の上にうまくオーバーレイされません.three.jsを使用してこれを行うにはどうすればよいですか? 私の "beach.jpg" ファイルは、index.html と同じディレクトリにあります。

お時間をいただきありがとうございます。

4

1 に答える 1