javascript - Threejs 几何颜色

标签 javascript three.js

我使用十六进制值设置几何颜色

RichGeometry.prototype = new THREE.Geometry();

RichGeometry.prototype.constructor = RichGeometry;
function RichGeometry(c) {
c = typeof c !== 'undefined' ? c : 0x00C020;     // color

THREE.Geometry.call(this);

this.color = c;

}

但是当我从创建的对象中获取值时,它返回一个 RGB 值,如 16711680。为什么?如何获取十六进制值?

var geometry0 = new RichGeometry(0xff0000);
console.log(geometry0.color);// it returns rgb value like this 16711680

最佳答案

您可以将颜色存储为 THREE.Color 的实例:

function RichGeometry(c) {

    c = (typeof c !== 'undefined') ? c : 0x00C020;

    THREE.Geometry.call(this);

    this.color = new THREE.Color(c);

}

然后您可以使用 THREE.Color 上的方法检索颜色的不同表示形式。对于您的示例,请尝试:

var geometry0 = new RichGeometry(0xff0000);
console.log('0x' + geometry0.color.getHexString());

关于javascript - Threejs 几何颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29829382/

相关文章:

javascript - 在 React Native 中使用 this.props.children 加载大组件是否存在性能问题?

javascript - 需要获取的是元素内的任何子元素都有背景

math - 如何计算相机的 z 距离以在 3D 空间中以 100% 的原始比例查看图像

javascript - 如何在 Three.js 中使用 stencilFunc 函数

javascript - jQuery点击函数在另一个div中显示文本

javascript - 徒手绘制时 iOS SVG 滞后

javascript - "return false;"有什么作用?

three.js - three.js中奇特的工件和挤压形状中的空纹理

3d - 为什么透明 Material 会导致遮挡?

javascript - 更改 Three.js 地球仪的颜色