threejs 修改模型材质颜色Color对象

threejs yekong

通过查询文档来实现材质颜色的修改。这次观看的threejs视频教程 老师教授的是如果通过查询文档来实现材质颜色的修改,主要讲的是查询文档。但是通过文本不好写查询文档的过程,所这里只写实现代码.

创建颜色对象

// 创建颜色对象
const color = new THREE.Color(0x00ff00)  //默认是纯白色0xffffff
console.log('查看颜色对象结构', color)
// 查看color对象设置的0x00ff00对应值是r g b值

将颜色对象赋值给材质属性

const material = new THREE.MeshPhongMaterial({
    color: 0xff0000, //红色
    shininess: 100, //高光部分亮度默认是30
    specular: 0xffffff //高光颜色 默认是0x111111
})
// 创建颜色对象
const color = new THREE.Color(0x00ff00)  //默认是纯白色0xffffff
material.color = color

修改颜色前

修改颜色前

修改颜色后

修改颜色后

修改rgb

也可以修改颜色的rgb的值来实现颜色的修改,不过我们网页中的rgb是0-255,threejs颜色中的rgb是0-1

// 创建颜色对象
const color = new THREE.Color(0x00ff00)  //默认是纯白色0xffffff
console.log('查看颜色对象结构', color)
// 查看color对象设置的0x00ff00对应值是r g b值
color.r = 1
color.g = 0
color.b = 1
material.color = color

通过方法setRGB修改

r — 红色通道的值在0到1之间。
g — 绿色通道的值在0到1之间。
b — 蓝色通道的值在0到1之间。

color.setRGB(0, 1, 0)

通过方法setHex修改

十六进制方式设置颜色

color.setHex(0xff00ff) //十六进制颜色设置

通过方法setStyle修改

前端css颜色值修改

color.setStyle('#ffffff') //前端css颜色

可以直接使用set

可以把set当做是setHex和setStyle的简写

color.set(0x00ffff) //十六进制颜色设置
color.set('#00ff00') //前端css颜色
喜欢