Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.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 Three.js导入的模型抗锯齿_Javascript_Html_Three.js - Fatal编程技术网

Javascript Three.js导入的模型抗锯齿

Javascript Three.js导入的模型抗锯齿,javascript,html,three.js,Javascript,Html,Three.js,我将OBJ模型导入到场景中,但它没有抗锯齿,我不知道如何使其平滑。搅拌机打开它,使它变得平滑 此外,内置几何图形(例如,新的三点球面测量法(4,20,20);)是平滑的 渲染器: var renderer = new THREE.WebGLRenderer({antialias: true, alpha: true}); 材料: var modelMaterial = new THREE.MeshPhongMaterial({ color: 0xb9d5ff,

我将OBJ模型导入到场景中,但它没有抗锯齿,我不知道如何使其平滑。搅拌机打开它,使它变得平滑

此外,内置几何图形(例如,
新的三点球面测量法(4,20,20);
)是平滑的

渲染器:

    var renderer = new THREE.WebGLRenderer({antialias: true, alpha: true});
材料:

    var modelMaterial = new THREE.MeshPhongMaterial({
        color: 0xb9d5ff,
        ambient: 0xfff660,
        shininess: 100,
        wireframe: false,
        transparent: true,
        opacity: 0.8,
        side: THREE.DoubleSide,
        combine: THREE.MixOperation
    });
进口:

    var manager = new THREE.LoadingManager();
    manager.onProgress = function(item, loaded, total) {
        console.log(item, loaded, total);
    };
    var loader = new THREE.OBJLoader(manager);
    loader.load('BlondeElexis-nude.obj', function(object) {
        object.traverse(function(child) {
            if (child instanceof THREE.Mesh) {
                console.log(child);
                child.material = modelMaterial;
            }
        });
        object.position.y = 0;
        object.scale.x = 6;
        object.scale.y = 6;
        object.scale.z = 6;
        human = object;
        scene.add(human);
    });
结果:

发现:

child.geometry.computeVertexNormals();

结果不是最好的,但总比没有好。

创建三个渲染器的代码在哪里。WebGLRenderer?更新了问题
var renderer=new THREE.WebGLRenderer({antialas:true,alpha:true})
事实上,任何选项都不会影响此消除锯齿不是这里的问题,而是网格的平滑组。OBJ应该能够处理此问题,因此请检查您的OBJ导出器以获取此选项以包括平滑组。使用ComputeVertexNormals()命令将生成一个完全平滑的对象,这对于有机对象可能是正常的,但您应该检查导出器和OBj导入器。如果OBJ不适合,可以尝试另一种格式you@GuyGood谢谢你,我将强调建模者在这方面的重要性。目前,我只是在玩示例模型来制作一些草图。GuyGood的评论是正确的,您需要在3d程序中设置模型的平滑组,并确保导出时包含平滑组。