首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改Three.js地球的颜色

更改Three.js地球的颜色
EN

Stack Overflow用户
提问于 2015-01-31 04:24:48
回答 1查看 890关注 0票数 0

有一个非常酷的Three.js演示,它有一个3D地球:http://data-arts.appspot.com/globe/

我想把地球本身的颜色从黑色改成海军蓝。我正在看所有的源文件,并且不断地改变东西,但是没有任何东西对地球的颜色有影响。

我不太了解Three.js或WebGL。有人能帮上忙吗?

EN

回答 1

Stack Overflow用户

发布于 2015-01-31 18:01:28

试图在全球范围内做到这一点将是困难的。代码是

代码语言:javascript
运行
复制
var geometry = new THREE.Sphere(200, 40, 30);
shader = Shaders['earth'];
uniforms = THREE.UniformsUtils.clone(shader.uniforms);
uniforms['texture'].texture = THREE.ImageUtils.loadTexture(imgDir+'world' +
    '.jpg');

material = new THREE.MeshShaderMaterial({

      uniforms: uniforms,
      vertexShader: shader.vertexShader,
      fragmentShader: shader.fragmentShader

    });

mesh = new THREE.Mesh(geometry, material);
mesh.matrixAutoUpdate = false;
scene.addObject(mesh);

因此,球体有一个自定义着色器,并使用纹理。

我认为最简单的事情是创建第二个球体,并为这个球体提供标准材质。就像这样

代码语言:javascript
运行
复制
var geometry2 = new THREE.Sphere(200, 40, 30);
var material2 = new THREE.MeshLambertMaterial({ color: 'blue' }); 
var mesh2 = new THREE.Mesh(geometry2, material2);
scene.addObject(mesh2);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28244018

复制
相关文章

相似问题

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