【问题标题】:How to apply THREE.FlatShading on models loaded with JSONLoader()?如何在使用 JSONLoader() 加载的模型上应用 THREE.FlatShading?
【发布时间】:2013-12-07 10:05:01
【问题描述】:

我正在使用 three.js 的 JSONLoader() 加载模型。加载工作正常,但模型看起来有点奇怪。我猜这是因为它会自动使用平滑阴影而不是平面。我尝试了几种方法来应用平面阴影,但都没有奏效。
这就是我上次尝试的:

loader.load("model.js", function(geometry, materials){
    var mat = new THREE.MeshFaceMaterial( materials );
    mat.shading = THREE.FlatShading;
    var object = new THREE.Mesh( geometry, mat);
    scene.add( object );
});

无论我尝试什么,要么是平滑的阴影,要么是产生错误。
任何想法如何正确完成?

【问题讨论】:

  • 尝试为材料的每个元素设置THREE.FlatShading,这是一个数组。
  • 这就是重点,现在一切看起来都很好。非常感谢!

标签: three.js shader


【解决方案1】:

在THREE.MeshFaceMaterial( materials ) 中,materials 是一个数组。

您需要将阴影样式应用于该数组的每个元素,如下所示:

materials[ i ].shading = THREE.FlatShading;

three.js r.63

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 2013-04-27
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多