
Threejs
Three'j's
我想_iwant
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SSR原理测试
【代码】SSR原理测试。原创 2023-05-31 16:52:37 · 194 阅读 · 0 评论 -
根据透视相机参数计算投影矩阵
矩阵运算原创 2022-08-05 13:44:07 · 599 阅读 · 0 评论 -
关于THREEjs 中删除 THREE.RGBFormat 的原因
THREEjs 中删除 THREE.RGBFormat原创 2022-08-03 17:26:29 · 609 阅读 · 0 评论 -
手动根据相机计算其视锥体的方法
计算Frustum原创 2022-07-28 19:10:45 · 499 阅读 · 0 评论 -
Threejs的材质中修改属性时需要进行重新编译的属性
一、无需进行重编译的属性material.colormaterial.side二、无需进行重编译的属性material.mapmaterial.vertexColors原创 2021-07-09 09:18:07 · 442 阅读 · 0 评论 -
如何解决深度冲突(Z-fighting),画面闪烁的问题
参考:OpenGL教程:深度测试深度冲突一个很常见的视觉错误会在两个平面或者三角形非常紧密地平行排列在一起时会发生,深度缓冲没有足够的精度来决定两个形状哪个在前面。结果就是这两个形状不断地在切换前后顺序,这会导致很奇怪的花纹。这个现象叫做深度冲突(Z-fighting),因为它看起来像是这两个形状在争夺(Fight)谁该处于顶端。防止深度冲突第一个也是最重要的技巧是永远不要把多个物体摆得太靠近,以至于它们的一些三角形会重叠。通过在两个物体之间设置一个用户无法注意到的偏移值,你可以完全避免这两个物体之原创 2020-11-05 10:06:57 · 4260 阅读 · 0 评论 -
Threejs性能优化:Instance实例化几何体 和 Merge合并几何体
1.Instance实例化几何体同一个Geometry , 同一个 material ,但可以通过索引轻松控制每一个个体insGeometry = new THREE.BoxBufferGeometry(1, 1, 1);//创建具有多个实例的实例化几何体insMesh = new THREE.InstancedMesh(insGeometry, material, total);//修改位置let transform = new THREE.Object3D();for (let ind原创 2020-07-31 11:31:48 · 5357 阅读 · 23 评论 -
在Threejs中实现沿着一条直线路径运动并伴有转向动画
自己定义的一个类如下:功能:实现传入多个锚点生成一条折线并伴有锚点,getPoint(percent)可以获取折线上任意一点的位置,并获取朝向、是否为锚点等信息。run()方法可以让传入mesh或相机等 在折线上运动 //自定义路径类 class myPath { constructor(array) { //将传进来的数组转换为Vec3集合 let pointsArr = [];原创 2020-07-27 15:13:48 · 7701 阅读 · 1 评论 -
Threejs中的异常问题解决
1.THREE.BufferGeometry 无 setAttribute方法经过测试发现Threejs库使用模块引入和使用script标签src引入并不完全一致,使用src引入无setAttribute方法,需改为使用模块引入。...原创 2020-04-13 01:02:52 · 3748 阅读 · 6 评论 -
Threejs raycaster射线检测非全屏状态下鼠标偏移问题
function initRay() { let getBoundingClientRect = canvas.getBoundingClientRect() // 屏幕坐标转标准设备坐标 let x = ((event.clientX - getBoundingClientRect .left) / canvas.offsetWidth) * 2 - 1;// 标准设备横坐标 l...原创 2020-04-02 13:24:09 · 1841 阅读 · 1 评论