0

如何将 dat.gui 滑块动态生成的值传递到 TorusKnotGeometry 的 p 和 q 属性中,就像在这个例子中一样?http://threejs.org/docs/#Reference/Extras.Geometry/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();

谢谢你的帮助!我是新手。

4

0 回答 0