平滑着色不适用于Three.js场景中加载的OBJ
Smooth shading not working for OBJ loaded in Three.js scene
也就是说,OBJ在我的3D建模软件中看起来很平滑,而在Three.js场景中看起来很古怪(三角形)。我为它指定了MeshLambertMaterial。根据文档,该材质的默认着色为THRE.SSmoothShading。即使我手动设置并通过调试控制台检查"着色"属性是否正确设置,场景中的模型看起来仍然不平滑。
顶点法线不是由OBJ(MTL)加载器计算的。你可以事后计算(尚未测试):
my3dObject.traverse( function( node ) {
if ( node instanceof THREE.Mesh ) {
node.geometry.computeVertexNormals();
}
} );
相关文章:
- ThreeJS访问加载的obj模型中的对象
- 无法在obj+mtl文件中加载纹理
- 平滑着色不适用于Three.js场景中加载的OBJ
- 对 OBJ 的发射效果在三个.js使用 OBJ 和 MTL 加载器
- 如何使用用户输入中的 three.js 在场景中加载两个或多个 .obj 对象
- 使用三.js从本地机器加载 OBJ 模型
- 如何使用 mtl 文件和纹理加载 obj 文件
- 使用三个.js加载字符串中的 .obj 存储
- 通过 THREE.js 从客户端的本地计算机加载 .obj 模型
- 检查通过服务器内联加载的现有JSON obj,以确定工厂是否应该调用以获取相同的obj'还不存在
- 加载obj文件时出现threejs错误
- 在运行时更改three.js中加载的.obj的纹理
- ThreeJS中用*.obj文件加载的模型着色错误
- 需要帮助加载OBJ和MTL文件在Three.js
- 在Azure中加载.obj错误,但在本地没有
- js加载.obj到变量
- 如何在Three.js中加载.obj 3D模型
- 如何克隆包含已加载.obj模型的组
- 使用三.js加载 .obj 时出现问题
- 加载OBJ在Three.js不接收阴影,即使属性设置为true