[name]

CCD算法求解IK.

[name] 用CCD算法求解逆运动学问题. [name] 设计用于 用 [page:MMDLoader]加载的 [page:SkinnedMesh]但也可用于普通 [page:SkinnedMesh].

Example

var ikSolver; // Load MMD resources and instantiate CCDIKSolver new THREE.MMDLoader().load( 'models/mmd/miku.pmd', function ( mesh ) { ikSolver = new CCDIKSolver( mesh, mesh.geometry.iks ); scene.add( mesh ); } ); function render() { animate(); // update bones if ( ikSolver !== undefined ) ikSolver.update(); renderer.render( scene, camera ); } [example:webgl_loader_mmd]
[example:webgl_loader_mmd_pose]
[example:webgl_loader_mmd_audio]


Constructor(构造器)

[name]( [param:SkinnedMesh mesh], [param:Array iks] )

[page:SkinnedMesh mesh] — [page:SkinnedMesh] , [name] 解决了 IK 问题.
[page:Array iks] — 指定了 IK 参数的[page:Object]数组. target, effector, 和 link-index 是 .skeleton.bones中的索引整数. 骨骼关系应该是 "links[ n ], links[ n - 1 ], ..., links[ 0 ], effector" 以从父到子的顺序.

创建一个新 [name].

Properties(属性)

[property:Array iks]

传递给构造函数的IK参数数组.

[property:SkinnedMesh mesh]

[page:SkinnedMesh] 传递给构造函数.

Methods(方法)

[method:CCDIKHelper createHelper]()

返回 [page:CCDIKHelper]. 可以通过向场景添加帮助程序来可视化IK骨骼。

[method:CCDIKSolver update]()

通过求解CCD算法更新骨骼四元数。

Source(来源)

[link:https://github.com/mrdoob/three.js/blob/master/examples/js/animation/CCDIKSolver.js examples/js/animation/CCDIKSolver.js]