|
現: 2011-11-03 (木) 14:27:43 iseki |
| + | ** Memo [#y3af2cc6] |
| + | *** Setting of Animation Data by SL Viewer [#u584cf80] |
| + | - llcharacter/llkeyframemotion.cpp |
| + | + BOOL LLKeyframeMotion::onUpdate(F32 time, U8* joint_mask) |
| + | + void LLKeyframeMotion::applyKeyframes(F32 time) |
| + | + void LLKeyframeMotion::JointMotion::update(LLJointState* joint_state, F32 time, F32 duration) |
| + | #br |
| | | |
| + | *** Memo [#q7586e6a] |
| + | |
| + | **** Hippo [#te6a3efe] |
| + | |
| + | - llcharacter/llmotion.cpp |
| + | - llcharacter/llchractor.cpp |
| + | |
| + | - llcharacter/llmotioncontroller.cpp |
| + | -- flushAllMotions -> startMotion -> activateMotionInstance |
| + | |
| + | |
| + | - llcharacter/llkeyframemotion.cpp |
| + | -- LLMotion::LLMotionInitStatus LLKeyframeMotion::onInitialize(LLCharacter *character) |
| + | |
| + | llerrs << "Must call LLKeyframeMotion::setVFS() first before loading a keyframe file!" << llendl; |
| + | |
| + | |
| + | - llcharacter/lleditingmotion.cpp |
| + | - llcharacter/llkeyframemotionparam.cpp |
| + | |
| + | #br |
| + | **** Imprudence [#f651a3f5] |
| + | |
| + | motion は LLKeyframeMotionのsuper class |
| + | |
| + | |
| + | LLKeyframeMotion::onInitialize |
| + | if mAssetStatus==ASSET_UNDEFINED |
| + | LLKeyframeMotion::JointMotionList* joint_motion_list = LLKeyframeDataCache::getKeyframeData(getID()); |
| + | if joint_motion_list != null |
| + | mJointMotionList = joint_motion_list; |
| + | mAssetStatus = ASSET_LOADED; |
| + | return |
| + | |
| + | Read Data or recieve UDP |
| + | deserialize(dp) |
| + | mJointMotionList を生成 |
| + | mJointMotionList にデータをセット |
| + | LLKeyframeDataCache::addKeyframeData(getID(), mJointMotionList); キャッシュ getID(): mID (アッセットのUUID) |
| + | mAssetStatus = ASSET_LOADED; |
| + | |
| + | |
| + | |
| + | llcharacter.cpp |
| + | LLMotionController::createMotion() |
| + | motion->onInitialize |
| + | |
| + | |
| + | llcharacter.cpp |
| + | LLMotionController::updateLoadingMotions |
| + | motion->onInitialize |
| + | LLMotionController::activateMotionInstance |
| + | motion->activate |
| + | LLkeyFrameMotion::onActive |
| + | motion->onUpdate |
| + | |
| + | llcharacter.cpp |
| + | LLMotionController::startMotion() |
| + | if motion==null |
| + | LLMotionController::createMotion() |
| + | motion->onInitialize |
| + | LLMotionController::activateMotionInstance |
| + | motion->activate |
| + | LLkeyFrameMotion::onActive |
| + | motion->onUpdate |
| + | |
| + | LLKeyframeDataCache::removeKeyframeData(getID()); |
| + | mAssetStatus = ASSET_UNDEFINED; |
| + | |
| + | 以下没~ |
| + | %%キャッシュさせない%%~ |
| + | %%motion->onUpdate でデータをクリアすれば,onInitializeで毎回データを読みに行く <- Kinectのデータをぶち込む%% |
| + | |
| + | #br |
| + | **** UUID of Animation [#vff756ec] |
| + | - 320209e6-6d42-42ff-a30f-9b7610598f24 : Yatta |
| + | - 0e58b0de-34cd-4712-9d96-f9fe85b211c1 : sexywalk |
| + | #br |