2017-02-20 95 views
0

现在我有一个项目必须在单词中设置一个总是相同大小的obj。使用PerspectiveCamera。 我不想使用OrthographicCamera当我使用PerspectiveCamera时,如何设置精灵大小始终相同

+0

看看这个模式是否适合你:var vec = new THREE.Vector3(); sprite.scale.x = sprite.scale.y = vec.setFromMatrixPosition(sprite.matrixWorld).sub(camera.position).length()/ defaultDepth;'每当精灵或相机移动时更新缩放比例。 – WestLangley

+0

@WestLangley thansk我认为没关系 –

回答

1

如果您正在使用透视相机,并且想要防止精灵衰减(即,您希望精灵以相同大小呈现,无论它与相机的距离如何),那么您可以使用此模式:

var vec = new THREE.Vector3(); // create once and reuse 
var scaleFactor = 2; // a constant 
var defaultDepth = 10; // a constant 
... 

sprite.scale.x = sprite.scale.y = scaleFactor * vec.setFromMatrixPosition(sprite.matrixWorld).sub(camera.position).length()/defaultDepth; 

无论何时精灵或相机的位置发生变化,您都必须更新精灵的比例。

three.js r.84

+0

非常感谢 –

+0

如果我有很多精灵可以添加到容器中。并设置容器的比例? –

+1

这可能不会做你想要的。 – WestLangley

相关问题