6: 2011-09-14 (水) 16:04:48 iseki |
7: 2011-09-16 (金) 18:52:16 iseki |
| - llcharacter/llkeyframemotionparam.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 |
| + | |
| + | |
| + | キャッシュさせない |
| + | motion->onUpdate でデータをクリアすれば,onInitializeで毎回データを読みに行く <- Kinectのデータをぶち込む |
| + | |
| + | |
| + | LLKeyframeDataCache::removeKeyframeData(getID()); |
| + | mAssetStatus = ASSET_UNDEFINED; |
| + | |
| + | |
| + | 320209e6-6d42-42ff-a30f-9b7610598f24 Yatta |
| + | 0e58b0de-34cd-4712-9d96-f9fe85b211c1 sexywalk |
| #br | | #br |