1. 首页
  2. three.js

three.js为PointsMaterial中的各个点设置旋转

three.jsn我正在使用点和点材质渲染点云。我将位置设置为=[];for(=这是数据[i] [2]*这个数据量表;这个,推(x,y,z);}geometry.setAttribute(“职位”,新三、浮动属性( 这是顶点,3));n是否也可以以相同的方式设置各个点的旋转,i、 例如:ngeometry.setAttribute( \”rotation\”, new THREE.Float32BufferAttribute( this.rotations, 3 ))n我试着用这种方式设置旋转,但不起作用。我想知道这是否是不可能的,或者我只是把事情搞砸了。由prisoner849在第7篇文章中解决了这个问题。AFAIK,没有在各个点上旋转纹理的内置功能,因此,您只需要修改三点材料: https://jsfiddle.net/prisoner849/1wpo8t92/你好!n单个点的旋转应该如何起作用?你想创造一种雪旋风吗?n我正在使用纹理加载器为每个点加载箭头的PNG。我只需要这些箭头指向某个方向。初始设置后,旋转不会发生变化。观察点就像观察小平面一样,始终观察摄影机。我不明白你为什么要用3D坐标。我不确定,但似乎你想实现这样的目标:贝拿勒斯(着色器)5(见带“电荷”的JSFIDLE)。我看了看你的小提琴,但我不确定这是我想要实现的。n所有的箭头都指向同一个方向。我想旋转它们,使它们指向不同的方向。n好的,没有在单个点上旋转纹理的内置功能,因此您只需要修改THREE.PointsMaterial:https://jsfiddle.net/prisoner849/1wpo8t92/32看起来真的很有希望!谢谢你的帮助!n您知道如何更新着色器以使用x、y和z旋转吗?n没有。n我会尝试使用实例(网格或几何体)来确定简单几何体(例如圆锥体)的三维方向。n这是个好主意。我最初使用的是实例,但不幸的是,它的性能不如点。我将启动一个新线程,看看是否可以在三个维度中使用着色器旋转点n您计划有多少个点?n刚刚用InstancedMesh编写了一个简单的示例(10000个实例):https://jsfiddle.net/prisoner849/1c8zrvhp/12它的范围很广,但最多可达100千字节。也许我会再测试一次,看看它是否正常工作n Set rotation for individual points in a PointsMaterialn

three.js为PointsMaterial中的各个点设置旋转 为WP2原创文章,链接:https://www.wp2.cn/three-js/three-js%e4%b8%bapointsmaterial%e4%b8%ad%e7%9a%84%e5%90%84%e4%b8%aa%e7%82%b9%e8%ae%be%e7%bd%ae%e6%97%8b%e8%bd%ac/