3

将模型从 Maya 导出到 JSON threeJS 时出现问题

很多顶点看起来都在错误的位置:

在此处输入图像描述

你可以下载

当我导出选项是: uv face vertex normale

我不认为它来自我的代码,因为它可以与 suzanne.js 等完美配合。但就是这样:

        loader = new THREE.JSONLoader()
    loader.load( "./3d/130227_kyaryTRI_001.js", @createScene )

    return

createScene:( geometry ) =>

    geometry.computeCentroids()
    geometry.computeFaceNormals()
    geometry.computeVertexNormals()
    geometry.computeMorphNormals()
    geometry.computeTangents()

    # Lambert
    material = new THREE.MeshLambertMaterial(
        map:THREE.ImageUtils.loadTexture( "./3d/Text_Kyary001.png" )
    )
    mesh = new THREE.Mesh( geometry, material )
    mesh.scale.set(6, 6, 6)
    @scene.add( mesh )

    # Phong 
    material = new THREE.MeshPhongMaterial({color:0x00FF00})
    mesh = new THREE.Mesh( geometry, material )
    mesh.scale.set(6, 6, 6)
    mesh.position.set(-300,-0,0)
    @scene.add( mesh )

    # Normal
    material = new THREE.MeshNormalMaterial()
    mesh = new THREE.Mesh( geometry, material )
    mesh.scale.set(6, 6, 6)
    mesh.position.set(-0,-240,0)
    @scene.add( mesh )

    # Wireframe 
    material = new THREE.MeshBasicMaterial({wireframe:true, color:0})
    mesh = new THREE.Mesh( geometry, material )
    mesh.scale.set(6, 6, 6)
    mesh.position.set(0,240,0)
    @scene.add( mesh )

    return

我使用threejs 56版

我使用maya 2013 64bits,也尝试使用maya 2012

提前感谢您的帮助。

编辑:.OBJ 按预期工作(使用来自threejs 的OBJLoader 加载) EDIT2:错误来自具有新maya 版本的导出器脚本,他们修复了它。

4

1 回答 1

3

我建议使用 THREE.js 源代码附带的 Maya to THREE 导出器。它直接导出为 .JS 格式,无需中间步骤。如果您从 GitHub 下载存储库,您可以在 utils/exporters/maya 中找到导出器文件。

您可以在 THREE.js 官方存储库中找到的导出器仅支持静态模型。我创建了一个更新版本,它还支持导出装配和动画模型。我们有一个将更新的导出器与三个主干集成的拉取请求,但如果您想立即获得新的和改进的导出器,您可以从这个存储库获取它:https ://github.com/BlackTowerEntertainment/three.js/tree /maya_animation_exporter

希望这可以帮助。

于 2014-04-16T20:50:53.837 回答