如何用三个js渲染像素化纹理? [英] How to render pixelated textures with three js?

查看:73
本文介绍了如何用三个js渲染像素化纹理?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我修改了一个类似 minecraft 的演示,以便您可以四处跳跃并放置方块.但是我构建的块的纹理由于某种原因被平滑而不是像素化.

I modified a minecraft-ish demo so you can jump around and place blocks. But the texture of the blocks I construct is smoothed and not pixelated for some reason.

我认为相关的来源:

var textureDirt = THREE.ImageUtils.loadTexture( 'img/dirt.png' );
textureGrass.magFilter = THREE.NearestFilter;
textureGrass.minFilter = THREE.LinearMipMapLinearFilter;
var material = new THREE.MeshLambertMaterial( { map: textureDirt, ambient: 0xbbbbbb, vertexColors: THREE.VertexColors } );

var geometry = new THREE.CubeGeometry(1,1,1);
var mesh = new THREE.Mesh(geometry, material);
mesh.position.x = point[0];
mesh.position.y = point[1];
mesh.position.z = point[2];

// for physics
mesh.blockType = type;
world[point] = mesh;

scene.add(mesh);

现场演示:http://ubershmekel.github.com/mine3js/

其余的源码:https://github.com/ubershmekel/mine3js/blob/master/js/main.js

推荐答案

在查看问题后,我发现了错误.我没有将过滤器应用于污垢材料

After reviewing the question, I found the bug. I didn't apply the filters to the dirt material

textureGrass.magFilter = THREE.NearestFilter;
textureGrass.minFilter = THREE.LinearMipMapLinearFilter;

应该是

textureDirt.magFilter = THREE.NearestFilter;
textureDirt.minFilter = THREE.LinearMipMapLinearFilter;

这篇关于如何用三个js渲染像素化纹理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆