【发布时间】:2019-08-20 18:49:39
【问题描述】:
我目前正在使用Three.js 构建一个工具。
我想将 dots 与相应的 numbers(点数)放在一起。
下面的代码是我的实现方式。 (如果有更好的方法请教我)
为了对齐两个网格,我重新定位了它们,以便文本(数字)可以位于点的中心内。 但是,问题在于文本的位置是基于左侧的网格,而不是中心。因此,如果数字获得更多位数,它们就不会像我预期的那样对齐。
有没有更好的方法来对齐文本网格,以便它们可以位于圆的中心?
var totalDotCount = 0;
function addDotMeshToGroup(x, y) { // x,y coordinate
...
// Dot
var geometry = new THREE.CircleGeometry(0.4, 32);
var material = new THREE.MeshBasicMaterial({color: 0xFFFF00});
var dotMesh = new THREE.Mesh(geometry, material)
// Number Text
var textGeo = new THREE.TextGeometry(totalDotCount.toString(10), textParm);
var textMesh = new THREE.Mesh(textGeo, material);
// Relocation
dotMesh.position.set(x, y, 0);
textMesh.position.set(x - 0.2, y - 0.2, 0);
totalDotCount += 1;
...
}
图01【预期】
图02【意外】
【问题讨论】:
标签: three.js