简体   繁体   English

Three.js | 导入的Blender模型就像低质量渲染一样

[英]Three.js | Imported Blender model is like it's rendered in low quality

I imported in my Three.js project a gltf model exported from Blender. 我在Three.js项目中导入了从Blender导出的gltf模型。

I know the model is correct and it is perfectly rendered in https://gltf-viewer.donmccurdy.com/ . 我知道模型是正确的,并且可以在https://gltf-viewer.donmccurdy.com/中完美呈现。

But in my Three.js project it seems to have a worse quality as you can see from these screenshots: 但是在我的Three.js项目中,从以下屏幕截图中可以看出,它的质量似乎较差:

https://ibb.co/qrqX8dF (donmccurdy viewer) https://ibb.co/qrqX8dF(donmccurdy查看器)

https://ibb.co/71wLDLJ (my project) https://ibb.co/71wLDLJ (我的项目)

I dont know if this can be a problem of lighting or some setting in the renderer object. 我不知道这是否可能是照明问题或渲染器对象中的某些设置。

This is my renderer and light settings: 这是我的渲染器和灯光设置:

// renderer
var renderer= new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight); 
renderer.setClearColor (0xf9f9f9, 1);
renderer.gammaOutput= true;
renderer.antialias= true;
renderer.setPixelRatio(window.devicePixelRatio);
document.body.appendChild(renderer.domElement);

// light
var directionalLight= new THREE.DirectionalLight(0xffffff, 0.9);
scene.add(directionalLight);

Any help will be appreciated. 任何帮助将不胜感激。

renderer.antialias= true; renderer.antialias = true;

It's not valid to set the antialias parameter like this. 像这样设置antialias参数是无效的。 All WebGL rendering context parameters must be applied to the constructor. 所有WebGL渲染上下文参数必须应用于构造函数。 Do it like so 像这样做

renderer = new THREE.WebGLRenderer( { antialias: true } );

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM