首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在三色网格中的问题,js

在三色网格中的问题,js
EN

Stack Overflow用户
提问于 2013-07-04 06:22:01
回答 3查看 1.5K关注 0票数 1

我有一个网格,我创建和颜色它根据用户的要求。我正在使用HTML5颜色选择器。我访问颜色选择器的颜色值如下: var colorChosen = $("#colorAgent").val() //它给出的值为:"#ff0080“;

当我使用下面的代码制作网格时,我正在删除#使它成为=> colorChosen = "0xff0080“的十六进制代码。

var材料新THREE.MeshBasicMaterial({颜色:色:color,wireframe_linewidth: 80,vertexColors:THREE.FaceColors,线框:假,不透明度: 0.8,透明:真,边: THREE.DoubleSide,可见:真});

它不应用颜色,但是如果我从colorChosen变量(即colorChosen = 0xff00)中删除引号,它就会应用颜色。

请告诉我如何删除引号,以便按所选择的颜色给我的网格着色。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-04 12:00:45

看看Color.js。有许多实用程序可以使用。

例如,在创建材料之后,可以将颜色重置如下:

代码语言:javascript
运行
复制
material.color.setStyle( "#ff0080" );

您也可以在第一次使用此模式时正确设置颜色:

代码语言:javascript
运行
复制
var color = new THREE.Color( "#ff0080" );
var hex = color.getHex();
var material = new THREE.MeshBasicMaterial( { color: hex } );

three.js r.58号

票数 1
EN

Stack Overflow用户

发布于 2013-07-05 09:06:09

它不带引号的原因是color属性应该是整数,而不是字符串。完成十六进制代码后,可以将其传递给parseInt(),后者返回等效整数:

代码语言:javascript
运行
复制
colorChosen = 0xff0080;
var material new THREE.MeshBasicMaterial({ color: parseInt(colorChosen) , wireframe_linewidth: 80,vertexColors:THREE.FaceColors, wireframe: false,opacity: 0.8,transparent: true, side: THREE.DoubleSide, visible: true });
票数 0
EN

Stack Overflow用户

发布于 2017-06-16 09:27:19

你也可以给出这样的网格颜色,

代码语言:javascript
运行
复制
var material = new THREE.MeshLambertMaterial({color: 0xffffff, vertexColors: THREE.FaceColors, shading: THREE.FlatShading});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17463178

复制
相关文章

相似问题

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