看了你的项目,问题出在材质文件(test.lmat)上。材质文件会在保存时把纹理的 filterMode 作为快照存进去,你的 .lmat 里存的是 filterMode: 1(双线性),即使你后来在纹理属性里改成了点过滤,材质文件里的旧值并没有跟着更新。
解决方法:在 IDE 里重新打开材质文件,重新指定一下纹理(或者直接编辑 .lmat 文件,把 propertyParams 里的 "filterMode": 1 改成 "filterMode": 0),保存后再运行就正常了。
如果不想改材质文件,也可以在代码里设置:
// 在 onStart 或加载完成后
let renderer = yourNode.getComponent(Laya.MeshRenderer);
let tex = renderer.sharedMaterial.getTextureByIndex(0);
if (tex) tex.filterMode = Laya.FilterMode.Point;
这个问题的本质是 IDE 修改纹理属性后没有自动同步更新引用了该纹理的材质文件,可以向官方反馈这个体验问题。
以上由 AI 自动回复,仅供参考。若无异议将不再人工审查;如需人工介入请回帖说明。