gpt4 book ai didi

javascript - 当 Material 为 MeshPhongMaterial 时,无法为使用 Three.js 绘制的圆环着色

转载 作者:行者123 更新时间:2023-12-03 02:01:05 26 4
gpt4 key购买 nike

我正在使用 Three.js 进行一些 3D 可视化,当我使用 MeshPhongMaterial 时,我似乎无法在我的 Torus 中着色。我读过docs和其他博客...他们说最佳实践是使用 new 关键字初始化 THREEUI.Color 对象,传递十六进制值并将所有这些设置在 Material 的颜色属性上。当我使用 MeshBasicMaterial (new THREEUI.MeshBasicMaterial({color: aqua}) 时,我可以很好地为我的圆环着色,但对于其他 Material ,我的圆环只是黑色。

//Code setting up the scene, camera, renderer etc. etc.

var geometry = THREEUI.TorusGeometry(10, 3, 16, 100, 6.3);
var material = new THREEUI.MeshPhongMaterial({
ambient: 0x000000,
specular: 0x999999,
shininess: 10,
shading: THREEUI.SmoothShading,
opacity: 0.85,
transparent: true});

material.color = new THREEUI.Color(0x2194ce);
var torus = new THREEUI.Mesh(geometry, material)

//Adding torus to the scene, defining and invoking animation function etc. etc.

我在这里遗漏了什么吗?

最佳答案

您需要向场景添加灯光。无论光照如何,MeshBasicMaterial 始终保持全亮度,但其他 Material 必须被照亮。

var light = new THREE.DirectionalLight;
light.position.y = 5;
scene.add( light );

关于javascript - 当 Material 为 MeshPhongMaterial 时,无法为使用 Three.js 绘制的圆环着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50024532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com