首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在three.js中绘制球面的一半的问题

在three.js中绘制球面的一半的问题
EN

Stack Overflow用户
提问于 2013-12-14 22:51:30
回答 2查看 2.2K关注 0票数 0

我正在three.js中创建一个天穹,如下所示:

代码语言:javascript
复制
var geometry = new THREE.SphereGeometry( 40, 32, 15, 1*Math.PI/2, 2*Math.PI, Math.PI, Math.PI);
var material = new THREE.MeshBasicMaterial( { color: 0xddddff } );
mesh = new THREE.Mesh( geometry, material );
mesh.material.side = THREE.DoubleSide;
scene.add( mesh );

这的确画了半个球体,但它也给我希望打开的部分涂上了颜色(它给我需要天穹的网面涂上颜色)。我该如何解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-20 13:46:44

我没有正确地绘制球体:

代码语言:javascript
复制
var geometry = new THREE.SphereGeometry( 50, 60, 60, Math.PI, Math.PI, 3*Math.PI/2);
var material = new THREE.MeshBasicMaterial( { color: 0xddddff } );
mesh = new THREE.Mesh( geometry, material );
mesh.material.side = THREE.DoubleSide;
scene.add( mesh );
票数 0
EN

Stack Overflow用户

发布于 2013-12-16 07:57:10

  1. 问题是,即使你画了半个球,我怀疑它是否会正确地放置超视距,所以我非常建议你使用自定义网格制作你自己的天穹。
  2. 对于天穹,您可以使用mesh.material.side = THREE.BackSide,而不是.DoubleSide,顺便说一句,除非您始终停留在地面上。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20589186

复制
相关文章

相似问题

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