摘要: 用three.js自带的.clippingPlanes可以对模型进行剖切,通过GUI可以控制剖切面的移动。为了看到剖切面,一般使用THREE.Plane制作一个可视化平面。这里由于我们需要对剖切面进行贴纹理之类的操作,于是放弃了使用Plane,选择自己画一个BufferGeometry,使其跟随剖切 阅读全文
posted @ 2021-02-25 15:37 Chill_寒 阅读(3581) 评论(1) 推荐(0) 编辑
摘要: 由于加载的模型并不是直接在scene的children中,所以要进行筛选,不能直接使用scene.remove,主要代码如下: if (intersects.length !== 0 && intersects[0].object instanceof THREE.Mesh) { intersect 阅读全文
posted @ 2021-01-20 11:15 Chill_寒 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 学习WebGL时才意识到的,代码如下: function a() { let first = 1; let second = 2; let b = function () { c(first, second); } } function c(first, second) { console.log( 阅读全文
posted @ 2021-01-12 10:47 Chill_寒 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 按照(px,nx,py,ny,pz,nz)的顺序。 nx是以x轴正方向为法线指向的面,px则是以负方向为法线指向的面; ny是以y轴负方向为法线指向的面,py则是以正方向为法线指向的面; nz是以z轴负方向为法线指向的面,pz则是以正方向为法线指向的面; 阅读全文
posted @ 2021-01-10 11:15 Chill_寒 阅读(641) 评论(0) 推荐(0) 编辑
摘要: function checkNumber(theObj) { var reg = /^[0-9]+.?[0-9]*$/; if (reg.test(theObj)) { return true; } return false; } 阅读全文
posted @ 2020-12-10 20:19 Chill_寒 阅读(689) 评论(0) 推荐(0) 编辑
摘要: ①清理npm缓存 npm cache clean -f ②安装最新版本的Node helper npm install -g n ③安装npm包管理助手 npm install -g n --force ④安装npm npm install 注意事项:使用mac的话npm前面加sudo,使用的国内的 阅读全文
posted @ 2020-11-12 20:29 Chill_寒 阅读(6331) 评论(0) 推荐(0) 编辑
摘要: 由于所用模型是用revit建立的(大部分这种第三方软件建立模型应该都是这样),其中很多对象使用了相同的材质,导致了在进行拾取的时候按照官网的intersects[ i ].object.material.color.set( 0xff0000 )进行拾取后颜色的改变,一点击拾取便改变了所有相同材质的 阅读全文
posted @ 2020-10-24 09:40 Chill_寒 阅读(584) 评论(0) 推荐(0) 编辑