如何在three.js中为sphere添加标签

时间:2013-02-26 01:08:20

标签: three.js

我是three.js的新手,但这就是我想做的事。

我有一个球体..我想在距其表面2个单位的位置添加一个id标签。

所以

var geometry = new THREE.SphereGeometry( 50, 25, 25 );
 var draw_object = new THREE.Mesh( geometry, [ new THREE.MeshBasicMaterial( {  color: Math.random() * 0xffffff, opacity: 0.5 } ) ] );

现在我想给它起一个名字“sphere 1”

然后距离球体表面的距离为“x”单位。为其指定一个标签。 捕获的是这个球体在太空中移动。因此标签必须与它保持一致。

过去两天我一直在努力,没有任何运气。

帮助 任何s

1 个答案:

答案 0 :(得分:2)

您可能希望使用上面引用的示例中的Sprite(how to add Label to a THREE.Mesh?)但是,不是将位置设置为鼠标坐标,而是计算球体的偏移量 - 比如说是例如,(3,4,5) - 并执行类似

的操作
label.position.set( sphere.position.add( new THREE.Vector3(3,4,5) ) );

这样,标签的位置存储了对球体位置的引用,随着球体移动,标签将随之移动。