采用THree.js为三角网格的每一个面填充颜色
来源:互联网 发布:淘宝上卖高仿鞋的店 编辑:程序博客网 时间:2024/06/07 00:01
2016.9.21 20:57
今天在工作中需要构建一个3D的三角网格,构建网格的三角形数目是17140个,且网格中每个三角形的面的颜色需要可以定制。在参考了zemo_wang大牛讲解的关于材料的博文(http://blog.csdn.net/birdflyto206/article/details/52414245)后,自己仿照这写了两个Demo。
第一个Demo与zemo_wang实例中的代码一样,定义的定制是正方体,也可以出现效果,立方体每个面的颜色可以实现定制;
第二个是我自定义的形状:var geometry = new THREE.Geometry(),其他代码类型
for (var i = 0 ; i < geometry.vertices.length ; i = i + 3) {
geometry.faces.push(new THREE.Face3(i, i + 1, i + 2))
material = new THREE.MeshBasicMaterial({ color: rgb2hex(arrayColor[i])});
mats.push(material);
}
var faceMaterial = new THREE.MeshFaceMaterial(mats);
var cube = new THREE.Mesh(geometry, faceMaterial);
secene.add(cube);
结果出现的现象是图形的颜色都是一样的,没有我想要的每个面的颜色不一样。在分析了Mesh()和geometry.faces.push(new THREE.Face3(i, i + 1, i + 2))的源代码后,我尝试的方法是为每个面指定材料索引: geometry.faces[a].materialIndex = a;
这样效果就可以出来了。
- 采用THree.js为三角网格的每一个面填充颜色
- THREE.js为正方体的6个面贴上图片
- three.js 画网格
- Three.js(2)网格
- three.js 网格 GridHelper
- three.js绘制网格
- three.js实现一个网格
- three.js 共面的问题
- 如何为UICollectionView的每一个组设置不同的颜色
- Three.JS学习 3:Threejs画网格
- 22 Three.js的网格对象MESH的属性和方法
- 三角网格
- 每一个正整数可以表示为3个三角形数之和
- Ogre碰撞检测,精确到物体网格三角面
- 面试题-实现空余部分填充颜色
- 三角网格的主要生成方法
- 三角面上网格印记的消除
- 计算三角网格的顶点法向量
- 2017今日头条测试开发
- Centos下 jsoncpp使用详解
- 顺序表应用7:最大子段和之分治递归法
- 顺序表实现一元稀疏多项式
- hdu 5892 List wants to travel 2016ACM/ICPC沈阳赛区网络赛1001
- 采用THree.js为三角网格的每一个面填充颜色
- BZOJ 2006 && NOI 2010 优先队列
- Android Service完全解析,关于服务你所需知道的一切(下)
- 数据结构实验之栈六:下一较大值(二)
- Javascript中事件委托(delegate)是如何运行的
- 第4周 项目3 -- 单链表应用(3)
- How to solve “Plugin execution not covered by lifecycle configuration” for Spring Data Maven Builds
- poj3070 Fibonacci 数论专题
- MVC