1

回転ボックスを作ってみましたが、ちゃんと動いています。次に、マテリアル コードを linebasicmaterial でワイヤフレーム マテリアルに変更します。three.js のドキュメントを読み、例に従います。しかし、何も表示されません。真っ白なだけ。デフォルトは白だったので、すでに16進数の色を変更しています。

これはjsフィドルの例ですhttp://jsfiddle.net/wick3dsono/tXgcD/

  // revolutions per second
  var angularSpeed = 0.2; 
  var lastTime = 0;

  // this function is executed on each animation frame
  function animate(){
    // update
    var time = (new Date()).getTime();
    var timeDiff = time - lastTime;
    var angleChange = angularSpeed * timeDiff * 2 * Math.PI / 1000;
    cube.rotation.y += angleChange;
    lastTime = time;

    // render
    renderer.render(scene, camera);

    // request new frame
    requestAnimationFrame(function(){
        animate();
    });
  }

  // renderer
  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();

  // material
  var mat = new THREE.LineaBasicMaterial({color: 0x00aeef});

  // primary cube (little one)
  var cube = new THREE.Mesh(new THREE.CubeGeometry(200, 200, 200), mat);
  cube.overdraw = true;
  cube.rotation.x = Math.PI * 0.1;
  scene.add(cube);

  // secondary cube (big one)
  //var cube_big = new THREE.Mesh(new THREE.CubeGeometry(200,200,200), mat);
  //cube_big.overdraw = true;
  //cube_big.rotation.x = Math.PI * 0.1;
  //scene.add(cube_big);

  // add subtle ambient lighting
  var ambientLight = new THREE.AmbientLight(0xbbbbbb);
  scene.add(ambientLight);

  // directional lighting
  var directionalLight = new THREE.DirectionalLight(0xffffff);
  directionalLight.position.set(1, 1, 1).normalize();
  scene.add(directionalLight);

  // start animation
  animate();

とにかく、私は js fiddle も初めてなので、js fiddle にコードを配置したときに間違いがあったのかもしれません。コード エディターからコピーして貼り付け、html と head タグを消去し、スクリプトを js フィールドにコピーするだけです。私のコード エディターでは、それを 1 つの html ファイルにまとめただけです。

4

1 に答える 1