JSRUN 用代码说话

CCDIK解算器

编辑教程

CCDIK解算器

基于CCD算法的IK求解器。

CCDIKSolver用CCD算法求解运动学逆问题。CCDIKSolver设计用于与MMDLoader加载的skindmesh一起工作,但也可以用于通用skindmesh。

示例

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 );

}

构造器

CCDIKSolver(网格:skindmesh,iks:数组)

网格-CCDIKSolver为其解决IK问题的蒙皮网格。

iks-指定IK参数的对象数组。目标、效应器和链接索引是中的索引整数。骨骼.骨骼. 骨骼关系应该是“links[n],links[n-1],…,links[0],effector”,从父对象到子对象。

目标-目标骨骼。

效应器-效应器骨骼。

links-指定链接骨骼的[page:Object]数组。

索引链接骨骼。

限制-(可选)旋转轴。默认值未定义。

rotationMin-(可选)旋转最小限制。默认值未定义。

rotationMax-(可选)旋转最大限制。默认值未定义。

enabled-(可选)默认值为true。

迭代-(可选)计算的迭代次数。越小越快,但精度越低。默认值为1。

minAngle—(可选)一个步骤中的最小旋转角度。默认值未定义。

maxAngle—(可选)一步中的最大旋转角度。默认值未定义。

创建新的CCDIKSolver。

属性

.iks:数组

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

.mesh:蒙皮网格

SkinnedMesh传递给构造函数。

方法

.createHelper():CCDIKHelper

返回CCDIKHelper。通过将骨骼添加到场景中,可以可视化骨骼。

.update():CCDIKSolver

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

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟