使用滑块的值更新几何体

时间:2016-08-05 21:42:36

标签: javascript three.js dat.gui

如何将从dat.gui滑块动态生成的值传递到TorusKnotGeometry的p和q属性中,就像在此示例中一样? http://threejs.org/docs/#Reference/Extras.Geometries/TorusKnotGeometry

我尝试查看源代码,但不了解如何应用它:http://threejs.org/docs/scenes/js/geometry.js

这是我尝试过的。我有正确的立方体旋转渲染,但环面不会使用滑块的值进行渲染。

        var p = guiControl.p;
        var q = guiControl.q;
        // setup torus and add to scene
        var torusGeometry = new THREE.TorusKnotGeometry(0.64, 0.25, 25, 6, p, q);
        var torusMaterial = new THREE.MeshLambertMaterial({color: 0xff00ff});
        var torus = new THREE.Mesh(torusGeometry, torusMaterial);
        torus.position.set(1,1,1);
        torus.castShadow = true;
        scene.add(torus);



        function render(){
            requestAnimationFrame(render);
            // controls.update();

            cube.rotation.x += guiControl.rotationX;
            cube.rotation.y += guiControl.rotationY;
            cube.rotation.z += guiControl.rotationZ;

            torusGeometry.parameters.p += guiControl.p;
            torusGeometry.parameters.q += guiControl.q;

            renderer.render(scene,camera);
        };

        render();

感谢您的帮助!我是新来的。

0 个答案:

没有答案