three.js - Three.js 中没有 sizeAttenuation 的 SpriteMaterial
问题描述
我需要一个在 Three.js 中没有 sizeAttenuation 的(铭牌)精灵,它应该看起来像这个例子:
//load image with 256x128px 32bit png
var spriteMap = new THREE.TextureLoader().load("tex/plates/mytest.png");
var spriteMat = new THREE.SpriteMaterial({map:spriteMap, transparent:true, sizeAttenuation:false});
var sprite = new THREE.Sprite(spriteMat);
...
spriteMat.map.minFilter = THREE.NearestFilter;
结果并不模糊,但它不正确并且有一些我不想要的人工制品:
这是我第二次尝试(THREE.LinearFilter),也不是我想要的,因为它太模糊了:
渲染器尺寸:1200x800px(非全屏)
所以,我不知道过滤器、位置或缩放是否有问题。第一个示例看起来像位图文本,但我真的不知道如何解决这个问题。我也不需要屏幕空间中的二维精灵。我需要其他对象后面的 3d 世界空间中的铭牌。我真的不知道如何解决这个问题,请有人可以帮助我解决这个问题吗?
解决方案
推荐阅读
- angular - 如何在 Angular 8 中存储全局变量?例如 UUID,用于请求/服务?
- laravel - 未找到列:1054 'where 子句'中的未知列 'id'(SQL:从 `item` 中选择 count(*) 作为聚合,其中 `barcode` = A002 和 `id` <> 12)
- actionscript-3 - AS3 Flash 中的类型强制
- plsql - 从模式中查找列和值扫描oracle中的所有表
- xamarin.forms - iOS 上的 Xamarin 表单 UIWebView 弃用
- node.js - 与 node.js 相比的 Deno 性能
- php - Laravel foreach 所有产品的总价
- flutter - 如何在底部模态屏幕中使用可拖动?
- c++ - 无法使用“const char *”类型的右值初始化“char *”类型的变量
- javascript - 为什么这一页没有加载它的css?