Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
如何在Three.js中创建圆角书架?_Three.js - Fatal编程技术网

如何在Three.js中创建圆角书架?

如何在Three.js中创建圆角书架?,three.js,Three.js,有人知道如何在three.js中创建圆角书架吗?通过使用CylinderGeometry,我只能创建一个四分之一圆的圆形搁板,如下图(上图)所示,但我不知道如何创建一个具有圆角的搁板,如下图(下图)所示 您可以创建形状并将其挤出: 正文{ 溢出:隐藏; 保证金:0; } 从“导入*为三”https://cdn.jsdelivr.net/npm/three@0.125.2/build/three.module.js” 从导入{OrbitControls}”https://cdn.jsdeliv

有人知道如何在three.js中创建圆角书架吗?通过使用CylinderGeometry,我只能创建一个四分之一圆的圆形搁板,如下图(上图)所示,但我不知道如何创建一个具有圆角的搁板,如下图(下图)所示


您可以创建形状并将其挤出:

正文{
溢出:隐藏;
保证金:0;
}

从“导入*为三”https://cdn.jsdelivr.net/npm/three@0.125.2/build/three.module.js”
从导入{OrbitControls}”https://cdn.jsdelivr.net/npm/three@0.125.2/examples/jsm/controls/OrbitControls.js”;
让场景=新的三个。场景();
让摄像头=新的三个透视摄像头(60,内宽/内高,1100);
相机。位置。设置(-10,5,10)。设置长度(6);
让renderer=new THREE.WebGLRenderer();
设置大小(innerWidth,innerHeight);
document.body.appendChild(renderer.doElement);
let controls=新的轨道控件(摄影机、渲染器.doElement);
让光=新的三个方向光(0xffffff,1);
灯。位置。设置刻度(10);
添加(灯光,新的3.AmbientLight(0xffffff,0.5));
设sizeX=5;
设sizeY=3;
半径取0.5;
设halfX=sizeX*0.5——半径;
设halfY=sizeY*0.5——半径;
设baseAngle=Math.PI*0.5;
设shape=new-THREE.shape();
形状.absarc(halfX,halfY,半径,基准角*0,基准角*0+基准角);
形状.absarc(-halfX,halfY,半径,基准角*1,基准角*1+基准角);
形状.absarc(-halfX,-halfY,半径,基准角*2,基准角*2+基准角);
形状.absarc(halfX,-halfY,半径,基准角*3,基准角*3+基准角);
设shelfGeom=new-THREE.extractegeometry(形状,{bevelEnabled:false,深度:1});
设shelfMat=new THREE.MeshLambertMaterial({color:0xFACE8D});
let shelf=新的三个网格(shelfGeom、shelfMat);
场景。添加(书架);
renderer.setAnimationLoop(U9=>{
渲染器。渲染(场景、摄影机);
});

非常感谢!你帮了我很多。我不知道这种挤出计量技术。