Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么技术可以改善threejs模型的外观_Javascript_Three.js - Fatal编程技术网

Javascript 什么技术可以改善threejs模型的外观

Javascript 什么技术可以改善threejs模型的外观,javascript,three.js,Javascript,Three.js,我正试图让我的3d模型看起来更“漂亮”——我的意思是看不到参差不齐的边缘,更逼真的阴影等等 目前,我正在使用OBJ文件进行测试。我加载和显示文件的代码如下: function LoadOBJMTL(file) { var objObject = new THREE.Object3D; var loader = new THREE.OBJMTLLoader(); var objfile = file + ".obj"; var mtlfile = file + ".

我正试图让我的3d模型看起来更“漂亮”——我的意思是看不到参差不齐的边缘,更逼真的阴影等等

目前,我正在使用OBJ文件进行测试。我加载和显示文件的代码如下:

function LoadOBJMTL(file) {

var objObject = new THREE.Object3D;
var loader = new THREE.OBJMTLLoader();
var objfile = file + ".obj";
var mtlfile = file + ".mtl";

loader.load(objfile, mtlfile, function(object) {
    
    objObject = object;
    scene.add(objObject);

});

}
addDirectionLight([-1, 0, 0], 1);
addDirectionLight([1, 0, 0], 1);
addDirectionLight([0, 0, -1], 1);
addDirectionLight([0, 0, 1], 1);
addDirectionLight([0, 1, 0], 1);

function addDirectionLight(direction, intensity) {
    var directionalLight = new THREE.DirectionalLight(0xffffff, intensity);
    directionalLight.position.set(direction[0], direction[1], direction[2]);
    scene.add(directionalLight);
}
没有什么特别的

我的场景照明代码是5个平行光,如下所示:

function LoadOBJMTL(file) {

var objObject = new THREE.Object3D;
var loader = new THREE.OBJMTLLoader();
var objfile = file + ".obj";
var mtlfile = file + ".mtl";

loader.load(objfile, mtlfile, function(object) {
    
    objObject = object;
    scene.add(objObject);

});

}
addDirectionLight([-1, 0, 0], 1);
addDirectionLight([1, 0, 0], 1);
addDirectionLight([0, 0, -1], 1);
addDirectionLight([0, 0, 1], 1);
addDirectionLight([0, 1, 0], 1);

function addDirectionLight(direction, intensity) {
    var directionalLight = new THREE.DirectionalLight(0xffffff, intensity);
    directionalLight.position.set(direction[0], direction[1], direction[2]);
    scene.add(directionalLight);
}
这就是我的结果:

作为比较,我已将相同的模型上载到和

不确定sketchfab,但我知道verold是用three.js编写的

Verold审判:

Sketchfab试验:

我很满意verold和sketchfab示例中的外观。我应该使用什么技术来改进我的threejs模型的外观?我追求的是更直的线条和更好的照明条件

提前感谢

修复锯齿状边缘:

renderer = new THREE.WebGLRenderer({ antialias: true });
照明方面很难评论。有许多通用的3d照明设置教程。

这可能会有所帮助