Canvas Three.js:缩放时如何保持精灵文本大小不变
在three.js中,当鼠标缩放时,文本将相应放大和缩小Canvas Three.js:缩放时如何保持精灵文本大小不变,canvas,three.js,sprite,Canvas,Three.js,Sprite,在three.js中,当鼠标缩放时,文本将相应放大和缩小 var texture = new THREE.Texture( canvas ); var material = new THREE.SpriteMaterial ( { map: texture, transparent:false } ); var sprite = new THREE.Sprite( material ); 当鼠标缩放时,如何保持文本大小不变?我的默认设置是,精灵根据其与透视摄影机的距离进行缩放,就像其他对象一样
var texture = new THREE.Texture( canvas );
var material = new THREE.SpriteMaterial ( { map: texture, transparent:false } );
var sprite = new THREE.Sprite( material );
当鼠标缩放时,如何保持文本大小不变?我的默认设置是,精灵根据其与透视摄影机的距离进行缩放,就像其他对象一样 如果不希望缩放,可以覆盖第二个精灵场景,并使用正交摄影机进行渲染。看 它被称为“平视显示器”,或HUD 编辑:
SpriteMaterial
现在有一个sizeateNuation
属性,您可以选择将其设置为false
。默认值为true
three.js r.96要使用透视相机实现这一点,您可以根据精灵与相机的距离与某些“虚拟距离”之间的比率来设置精灵比例因子 在下面的示例中,virtual_d用于在渲染之前设置精灵和摄影机之间的固定虚拟“距离”
var scale = sprite.position.distanceTo(camera.position) / virtual_d;
scale = Math.min(you_max_scale_value, Math.max(you_min_scale_value, scale));
sprite.scale.set(scale, scale, scale);
但是,如果您不希望出现任何失真,例如视野较大时的边界失真,请使用正交摄影机。是否使用three.js r.63?如果没有,请升级。你是说鼠标缩放吗?当鼠标缩放时,精灵默认会改变大小。是的,我使用的是r63,你的理解是正确的,有办法实现吗?我想要这个效果:当鼠标缩放时,精灵的大小不变…非常想你!!!!我明白了。HUD??对不起!我不明白HUD是什么。它能解决这个问题吗?顺便说一下,当使用透视相机时,有可能达到这个效果吗?1。抬头显示器:见2。使用透视摄影机渲染场景,然后再使用正交摄影机渲染精灵,就像我引用的示例一样。