如何在three.js中导入VRML文件?

时间:2014-10-01 08:41:04

标签: javascript three.js vrml

我正在尝试在three.js中导入VRML文件,但它不起作用。这是VRML文件:

#VRML V2.0 utf8

#Created by CINEMA 4D

DEF B1 Transform {
 translation 600 0 0.333333
 children [ 
 DEF _60_ Transform {
  translation -600 0 0
  children [ 
  ]
}
DEF Button Transform {
  translation 679.734143 0 0
  children [ 
    Shape {
      appearance DEF MAT_Metal_010 Appearance {
        material Material {
          ambientIntensity 0.2
          diffuseColor 0.815686 0 0.223529
          specularColor 0 0 0
          emissiveColor 0 0 0
          shininess 0.1
          transparency 0
        }
      }
      geometry DEF FACESET_Button IndexedFaceSet {
        ccw FALSE
        creaseAngle 1.396263
        coord Coordinate {
          point [ -100 -100 -100,-100 100 -100,-100 -100 100,-100 100 100,100 -100 100,
            100 100 100,100 -100 -100,100 100 -100
          ]
        }
        texCoord TextureCoordinate {
          point [ 0 1,1 0,
            0 0,0 0,1 1,0 1,1 1,
            0 0,1 0,1 0,0 1,1 1,
            1 0,0 0,1 1,0 1,0 0,
            1 0,0 1,1 1
          ]
        }
        coordIndex [ 0,1,3,2,-1,2,3,5,4,-1,4,5,7,6,-1,
          6,7,1,0,-1,1,7,5,3,-1,6,0,2,4,-1
        ]
        texCoordIndex [ 2,5,11,8,-1,7,10,14,12,-1,13,15,19,17,-1,
          16,18,4,1,-1,3,18,14,9,-1,16,0,6,12,-1
        ]
      }
    }
  ]
 }
]
}
DEF Timer TimeSensor {
startTime 0
stopTime 0
cycleInterval 14.4
loop TRUE
}

这是我导入的JavaScript代码:

var loader = new THREE.VRMLLoader();
loader.addEventListener( 'load', function ( event ) {
    scene.add(event.content);
    } );
loader.load( "models/MyVRML.wrl" );

浏览器中的错误消息是:

TypeError:a未定义three.js:1636。

我使用的是实际的three.js(未缩小)

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

现在,你的每一点应该各自独立。我愿意解决这个问题,但目前面临着一个紧迫的截止日期。现在的解决方法是设置如下的坐标:

coord  Coordinate { #default NULL
    point [
        0.14    0   -0.14,
        5.54    0   -0.14,
        5.54    0   -8.86,
        0.14    0   -8.86,
    ]
}