gpt4 book ai didi

javascript - 三个 JS 在缩放时保持标签大小

转载 作者:数据小太阳 更新时间:2023-10-29 04:01:22 28 4
gpt4 key购买 nike

我正在用 three.js 研究太阳系,我很好奇是否有一种简单的方法可以让我下面的行星标签都显示相同的大小,而不管它们离相机有多远?我似乎无法找到解决方案。我想你可以计算每个标签到相机的距离,然后根据它得出某种比例因子。似乎有更简单的方法来完成这个?

谢谢!

enter image description here

更新了 prisoner849 的回答。效果很好!

enter image description here

最佳答案

我认为您可以计算每个标签到相机的距离,然后根据该距离得出某种比例因子。

而且非常简单。比方说,一个 THREE.Sprite() 对象(标签)是一个 THREE.Mesh() 对象(行星)的子对象,那么在你的动画循环中你需要做

var scaleVector = new THREE.Vector3();
var scaleFactor = 4;
var sprite = planet.children[0];
var scale = scaleVector.subVectors(planet.position, camera.position).length() / scaleFactor;
sprite.scale.set(scale, scale, 1);

我做了一个非常简单的 example太阳系,使用这种技术。

关于javascript - 三个 JS 在缩放时保持标签大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40446915/

28 4 0