首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用three.js创建凹半球体

问使用three.js创建凹半球体
EN

Stack Overflow用户
提问于 2012-09-14 20:54:12
回答 2查看 7.7K关注 0票数 2

我是一名具有良好js经验的web开发人员,目前我正在探索three.js的可能性。然而,我不是很熟悉3D形状和词汇,我不知道如何构建我需要的形状。

我想创建一个半球体,并能够在这个球体内投影视频。我有一个全景球形视频,我需要扭曲它,使其看起来像“平面”。多亏了Paul的教程,我已经画了一个球体,并将我的视频投影到它上。但是外球面是凸的,我需要一个凹面!我想不出该如何做到这一点。从我最初的球体中挤出一个更小的球体?

求求你救命!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-14 21:20:00

可以通过设置其他SphereGeometry参数来创建半球体:

代码语言:javascript
复制
SphereGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength )

尝试,直到你得到你想要的东西。

还必须将用于球体的材质的side属性设置为THREE.BackSide或THREE.DoubleSide。

代码语言:javascript
复制
material.side = THREE.DoubleSide;

现在还提供了EDIT - SphereBufferGeometry,它在内存方面效率更高。它的构造函数也有相同的参数。

(Three.js r.82条)

票数 13
EN

Stack Overflow用户

发布于 2018-03-21 05:53:28

可以使用SphereBufferGeometry创建半球体(半球)。最后一个参数做到了:0.5 * Math.PI。此外,为了能够看到您需要使用THREE.DoubleSide进行材质的内容。

代码语言:javascript
复制
var geometry = new THREE.SphereBufferGeometry(5, 8, 6, 0, 2*Math.PI, 0, 0.5 * Math.PI);
...
material.side = THREE.DoubleSide;
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12425014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档