首页 > 解决方案 > THree.js:从正交相机缩放时如何保持精灵文本大小不变

问题描述

在三个.js 中使用orthographicCamera,当鼠标缩放时,Sprite 会相应地放大缩小。

var camera = new OrthographicCamera(width / - 2, width / 2, height / 2, height / - 2, 0.01, 100000);


var texture = new THREE.Texture( canvas );
var material = new THREE.SpriteMaterial ( { map: texture, transparent:false } );
var sprite = new THREE.Sprite( material );
scene.add(sprite);

鼠标缩放时如何防止文本大小发生变化?

标签: javascriptcanvasthree.jssprite

解决方案


我不确定您是如何进行缩放的,因为这可能意味着:

  • 将相机移入或移出
  • 使相机的视野更窄或更宽

但是我认为您正在寻找SpriteMaterial.sizeAttenuation = false;This 使精灵保持恒定大小,无论其在场景中的深度如何。有关文档,请参见此处但是,我相信这仅适用于透视相机。


推荐阅读