Javascript Three.js toShapes()在v81中移动到新类,如何访问它

Javascript Three.js toShapes()在v81中移动到新类,如何访问它,javascript,three.js,Javascript,Three.js,我已经将Three.js从v73更新到v81。 我得到了这个错误: 未捕获的TypeError:path.toShapes不是函数 我看了这本书,发现: 对路径的更改: 摆脱。行动(耶) getPoints()已移动到CurvePath toShapes()已移动到新类ShapePath 我的代码段如下: var shapes = []; for (var i = 0; i < paths.length; ++i) { // Turn each SVG path into a

我已经将Three.js从v73更新到v81。 我得到了这个错误:

未捕获的TypeError:path.toShapes不是函数

我看了这本书,发现:

对路径的更改:

  • 摆脱。行动(耶)
  • getPoints()已移动到CurvePath
  • toShapes()已移动到新类ShapePath
我的代码段如下:

var shapes = [];
for (var i = 0; i < paths.length; ++i) {
    // Turn each SVG path into a three.js shape
    var path = d3.transformSVGPath( paths[i] );
    // We may have had the winding order backward.
    **var newShapes = path.toShapes(effectController.reverseWO);**
    // Add these three.js shapes to an array.
    shapes = shapes.concat(newShapes);
}
var shapes=[];
对于(变量i=0;i
我在任何地方都找不到三个路径,所以我导入了,以防它会有所帮助,但没有用。我是Three.js的新手,所以不知道这是否是一个noob问题,但我已经研究了一天,无法解决它。

该类包含您正在寻找的方法:。文档链接还包括:

问题在于,包含
.transformSVGPath()
方法的源代码仍然定义
var path=new THREE.Shape()

请注意,在中,有一个是从d3 threeD获取/派生的,但已更新为使用
THREE.ShapePath()

我建议您遵循示例源代码,并包括更新的
.transformSVGPath()
方法,该方法使用
THREE.ShapePath()

path = $d3g.transformSVGPath( thePaths[i] );
...
simpleShapes = path.toShapes(true);
...
function transformSVGPath(pathStr) {
    var path = new THREE.ShapePath();
...