javascript - 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);
鼠标缩放时如何防止文本大小发生变化?
解决方案
我不确定您是如何进行缩放的,因为这可能意味着:
- 将相机移入或移出
- 使相机的视野更窄或更宽
但是我认为您正在寻找SpriteMaterial.sizeAttenuation = false;
This 使精灵保持恒定大小,无论其在场景中的深度如何。有关文档,请参见此处但是,我相信这仅适用于透视相机。
推荐阅读
- node.js - Next.js | 导入带有 Fs 依赖的模块
- typescript - 为什么自动完成功能不适用于 npm 链接模块?
- 3d - 是否可以在摄影测量中使用 2D 图像像素的 3D 坐标来构建点云?
- terraform - Terraform 在索引处导入资源
- html - 将 HTML 转换为 ReactJS 组件
- google-sheets-formula - 年初至今计算
- css - CSS Grid/Tailwind 在“下一行”动态插入,同时仍然是响应式的
- javascript - 如何使用脚本控制浏览器控制台
- python - 如何在此代码中防止 ValueError?
- java - 如何比较包含整数的变量