【问题标题】:setting position with three.js and CSG用three.js和CSG设置位置
【发布时间】:2012-08-03 04:14:57
【问题描述】:

当我使用它作为一个立方体和一个球体的代码时:

    <!DOCTYPE html>

<html>

<head>

<script type="text/javascript" src="csg.js"></script>
<script type="text/javascript" src="http://chandler.prallfamily.com/threebuilds/builds/r46/ThreeMin.js"></script>
<script type="text/javascript" src="ThreeCSG.js"></script>

<script type="text/javascript">

window.onload = function() {

var projector = new THREE.Projector( );
var renderer = new THREE.WebGLRenderer({antialias: false});
renderer.setSize(800, 640);

document.getElementById('viewport').appendChild(renderer.domElement);

var scene = new THREE.Scene();

var camera = new THREE.PerspectiveCamera(
    35,
    800 / 640,
    1,
    10000
);
camera.position.set(5, 1.8, 5);
camera.lookAt(scene.position);

var cube = THREE.CSG.toCSG(
    new THREE.CubeGeometry( 2, 2, 2 ),
    new THREE.Vector3(-1, 0, 0)
);
var sphere = THREE.CSG.toCSG(new THREE.SphereGeometry(1.4, 16, 16));
var geometry = cube.subtract(sphere);
var mesh = new THREE.Mesh(
    THREE.CSG.fromCSG( geometry ),
    new THREE.MeshNormalMaterial()
);
scene.add( mesh );

renderer.render(scene, camera);

}

</script>

</head>

<body>

<div id="viewport"></div>

</body>

</html>

现在如何设置立方体的位置?我是否需要 cube.CSG.position.set 之类的东西,或者是否有 CSG 库的特殊方法可以使用?

谢谢!

【问题讨论】:

    标签: javascript three.js csg


    【解决方案1】:

    设置渲染器后需要调用一个函数,比如:

    animate();
    

    定义如下:

    function animate()
    {
        requestAnimationFrame(animate);
        cube.position.x = your_value;
    }
    

    【讨论】:

      猜你喜欢
      • 2014-03-20
      • 1970-01-01
      • 2016-05-13
      • 1970-01-01
      • 2019-05-29
      • 1970-01-01
      • 2014-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多