W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
MMD 資源的動(dòng)畫助手。
MMDAnimationHelper 處理由 MMDLoader 加載的 MMD 資產(chǎn)的動(dòng)畫,具有 IK、Grant 和 Physics 等 MMD 特殊功能。它在內(nèi)部使用了 CCDIKSolver 和 MMDPhysics。
// Instantiate a helper
const helper = new MMDAnimationHelper();
// Load MMD resources and add to helper
new MMDLoader().loadWithAnimation(
'models/mmd/miku.pmd',
'models/mmd/dance.vmd',
function ( mmd ) {
helper.add( mmd.mesh, {
animation: mmd.animation,
physics: true
} );
scene.add( mmd.mesh );
new THREE.AudioLoader().load(
'audios/mmd/song.mp3',
function ( buffer ) {
const listener = new THREE.AudioListener();
const audio = new THREE.Audio( listener ).setBuffer( buffer );
listener.position.z = 1;
scene.add( audio );
scene.add( listener );
}
);
}
);
function render() {
helper.update( clock.getDelta() );
renderer.render( scene, camera );
}
webgl_loader_mmd
webgl_loader_mmd_pose
webgl_loader_mmd_audio
params — (可選)
創(chuàng)建一個(gè)新的 MMDAnimationHelper。
添加到助手的音頻。
添加到助手的相機(jī)。
添加到助手的 SkinnedMesh 數(shù)組。
一個(gè) WeakMap,其中包含在幫助程序中用于添加到幫助程序的對(duì)象的動(dòng)畫內(nèi)容。例如,您可以使用“helper.objects.get(mesh).mixer”為添加的 SkinnedMesh 訪問 AnimationMixer
在 SkinnedMesh 的物理計(jì)算之前立即執(zhí)行的可選回調(diào)。此函數(shù)與 SkinnedMesh 一起調(diào)用。
object — SkinnedMesh、相機(jī)或音頻參數(shù) — (可選)
animation - 設(shè)置為對(duì)象的 AnimationClip 或 AnimationClip 數(shù)組。僅適用于 SkinnedMesh 和 Camera。默認(rèn)是未定義的。
physics - 僅適用于 SkinnedMesh。一個(gè)標(biāo)志是否打開物理。默認(rèn)為真。
warmup - 只對(duì) SkinnedMesh 和物理是真實(shí)的。物理參數(shù)。默認(rèn)值為 60。
unitStep - 只對(duì) SkinnedMesh 和物理是真實(shí)的。物理參數(shù)。默認(rèn)值為 1 / 65。
maxStepNum - 只對(duì) SkinnedMesh 和物理是真實(shí)的。物理參數(shù)。默認(rèn)值為 3。
gravity - 只對(duì) SkinnedMesh 和物理是真實(shí)的。物理參數(shù)。默認(rèn)為 ( 0, - 9.8 * 10, 0 )。
delayTime - 僅適用于音頻。默認(rèn)值為 0.0。
將 SkinnedMesh、Camera 或 Audio 添加到助手并設(shè)置動(dòng)畫。添加對(duì)象的動(dòng)畫持續(xù)時(shí)間是同步的。如果已經(jīng)添加了攝像頭/音頻,它將被替換為新的。
key — 允許的字符串是“animation”、“ik”、“grant”、“physics”和“cameraAnimation”。
enabled — true 為啟用,false 為禁用
啟用/禁用動(dòng)畫功能
mesh — 改變姿勢(shì)的 SkinnedMesh。它不需要添加到 helper 中。
vpd — MMDLoader.loadVPD獲取的VPD內(nèi)容
params — (可選)
根據(jù) VPD 內(nèi)容指定更改 SkinnedMesh 的姿勢(shì)。
object — SkinnedMesh、相機(jī)或音頻
從助手中移除 SkinnedMesh、Camera 或 Audio。
delta — 秒數(shù)
提前混合器時(shí)間并更新添加到助手的對(duì)象的動(dòng)畫
examples/jsm/animation/MMDAnimationHelper.js
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: