Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 3.js:画一个八面体_Javascript_Three.js - Fatal编程技术网

Javascript 3.js:画一个八面体

Javascript 3.js:画一个八面体,javascript,three.js,Javascript,Three.js,我想画一个八面体,但结果的形状低于预期。我不知道原因,下一步我想画一个十二面体,有什么建议吗 我的代码: var mesh, renderer, scene, camera, controls; init(); animate(); function init() { // renderer renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); docum

我想画一个八面体,但结果的形状低于预期。我不知道原因,下一步我想画一个十二面体,有什么建议吗

我的代码:

var mesh, renderer, scene, camera, controls;

init();
animate();

function init() {

// renderer
renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

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

// camera
camera = new THREE.PerspectiveCamera(40, window.innerWidth / 
window.innerHeight, 1, 10000);
camera.position.set(20, 20, 20);

// controls
controls = new THREE.OrbitControls(camera);

// ambient
scene.add(new THREE.AmbientLight(0x222222));

// light
var light = new THREE.DirectionalLight(0xffffff, 1);
light.position.set(20, 20, 0);
scene.add(light);

// axes
scene.add(new THREE.AxisHelper(20));

// geometry
//var geometry = new THREE.SphereGeometry(5, 12, 8);
var vertices = [
                0.5,0,0, 0,0.3,0, -0.5,0,0, 0,-0.3,0, 0,0,0.3, 0,0,-0.3
            ];
            var faces = [
                0,1,4, 1,2,4, 2,3,4, 3,0,4, 0,1,5, 1,2,5, 2,3,5, 3,0,5
            ];
var geometry = new THREE.PolyhedronGeometry(vertices, faces, 5, 1);
// material
var material = new THREE.MeshPhongMaterial({
    color: 0x00ffff,
    shading: THREE.FlatShading,
    wireframe:true,
    transparent: true,
    opacity: 0.7,
});

// mesh
mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);

}

function animate() {

requestAnimationFrame(animate);

//controls.update();

renderer.render(scene, camera);

}
使用

如果您想直接使用
多面体几何
,请阅读并理解
八面体几何.js的源代码

如果
线框
为真,请改用
MeshBasicMaterial


three.js r.85

如果要创建一个长度与x、y、z不同的八面体几何,该怎么办?你是说一个非正多边形吗?如果是这样,您可以使用
多面体几何
,但必须注释掉行
appplyRadius(半径),实际上拼写错误。请注释掉polyhedronGeometry.js中的applyRadius(radius)行不起作用,为什么我没有足够的信息来回答这个问题。逐步使用调试器。如果你需要更多帮助,写一篇新文章。
var geometry = new THREE.OctahedronGeometry( 5, 0 ); // or DodecahedronGeometry