我是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
答案 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) ) );
这样,标签的位置存储了对球体位置的引用,随着球体移动,标签将随之移动。