Mat*_*ond 3 javascript 3dsmax three.js
我试图使用objLoader将.obj加载到Three.js中.
var loader = new THREE.OBJLoader( manager );
loader.load( 'obj/gate-2.obj', function ( object ) {
object.traverse( function ( child ) {
if ( child instanceof THREE.Mesh ) {
child.material.map = texture;
}
} );
Run Code Online (Sandbox Code Playgroud)
使用blender模型一切正常,但每当我尝试使用自己的自定义3Ds Max模型时,.obj都不会在浏览器中加载并发出错误.我输出错误或者Three.js不支持3Ds Max .obj导出器吗?
错误信息
Error: Unexpected line: s 2
parseOBJLoader.js:339
(anonymous function)OBJLoader.js:24
(anonymous function)three.min.js:376:387
Run Code Online (Sandbox Code Playgroud)
小智 5
我目前遇到了同样的错误:
Error: Unexpected line: s 2
Run Code Online (Sandbox Code Playgroud)
使用3ds Max Wavefront OBJ Exporter v0.97b导出的.obj文件 - (c)2007 guruware.
我已经跟踪了与丢失的对象名称相关的@ 2pha的链接,虽然这是真的,但在手动插入对象名后,我仍然遇到了"意外行"错误.
我的解决方案虽然不是针对发生此错误的原因的具体修复,但是在Blender(https://www.blender.org/)中导入.obj文件,并立即导出.obj文件.看来由Blender v2.76(sub 0)OBJ Exporter创建的.obj文件可以使用Three.js THREE.OBJLoader导入而无需额外的手工劳动.
我希望有一天Three.js或3ds Max会纠正这个错误(这似乎是在这里为Three.js工作),但在此期间并没有人有时间.
更新:我已提交拉取请求来解决此问题:https://github.com/mrdoob/three.js/pull/8118,在此期间您可以修改smoothing_pattern以支持多个数字:
Line 220: var smoothing_pattern = /^s\s+(\d+|on|off)/;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1288 次 |
| 最近记录: |