【发布时间】:2017-08-01 15:52:12
【问题描述】:
我是 three.js 的新手,正在修改一些现有代码。
现有代码使用“THREE.BufferGeometry”+“THREE.Points”渲染图形
var geometryPc = new THREE.BufferGeometry();
var materialPc = new THREE.ShaderMaterial({....});
this.mesh = new THREE.Points(geometryPc, materialPc);
我正在尝试在随节点移动的每个节点上放置一个标签文本。
我试过了:
我尝试为每个节点创建“THREE.Sprite”,然后为其分配相对于该节点的位置。
let texture = new THREE.Texture(canvas);
let spriteMaterial = new THREE.SpriteMaterial({map: texture, useScreenCoordinates: false});
let sprite = new THREE.Sprite(spriteMaterial);
这似乎可行,但当节点数量相对较多时,UI 会变得过于繁重。
我也更喜欢使用“BufferGeometry”来创建文本。但找不到办法。
有没有更好的方法在节点上放置文本?
【问题讨论】:
-
“UI 变重”是什么意思?性能慢?屏幕上的东西太多了?
-
滚动、放大、缩小等有延迟。
标签: three.js