From 6a0b3fa202c8ba4d34f29fff527cfcbcc567a2b2 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Mon, 15 Sep 2014 13:16:17 -0700 Subject: [PATCH] Ryan's new blendshape mappings for Mixamo. --- interface/src/ModelUploader.cpp | 83 ++++++++++++++++++++------------- 1 file changed, 50 insertions(+), 33 deletions(-) diff --git a/interface/src/ModelUploader.cpp b/interface/src/ModelUploader.cpp index 91c1770e6f..f11d035ebe 100644 --- a/interface/src/ModelUploader.cpp +++ b/interface/src/ModelUploader.cpp @@ -196,39 +196,56 @@ bool ModelUploader::zip() { // mixamo blendshapes if (!mapping.contains(BLENDSHAPE_FIELD) && geometry.applicationName == "mixamo.com") { QVariantHash blendshapes; - blendshapes.insert("EyeBlink_L", QVariantList() << "Blink_Left" << 1.0); - blendshapes.insert("EyeBlink_R", QVariantList() << "Blink_Right" << 1.0); - blendshapes.insert("EyeSquint_L", QVariantList() << "Squint_Left" << 1.0); - blendshapes.insert("EyeSquint_R", QVariantList() << "Squint_Right" << 1.0); - blendshapes.insert("EyeOpen_L", QVariantList() << "EyesWide_Left" << 1.0); - blendshapes.insert("EyeOpen_R", QVariantList() << "EyesWide_Right" << 1.0); - blendshapes.insert("BrowsD_L", QVariantList() << "BrowsDown_Left" << 1.0); - blendshapes.insert("BrowsD_R", QVariantList() << "BrowsDown_Right" << 1.0); - blendshapes.insert("BrowsU_L", QVariantList() << "BrowsUp_Left" << 1.0); - blendshapes.insert("BrowsU_R", QVariantList() << "BrowsUp_Right" << 1.0); - blendshapes.insert("JawFwd", QVariantList() << "JawForeward" << 1.0); - blendshapes.insert("JawOpen", QVariantList() << "Jaw_Down" << 1.0); - blendshapes.insert("JawLeft", QVariantList() << "Jaw_Left" << 1.0); - blendshapes.insert("JawRight", QVariantList() << "Jaw_Right" << 1.0); - blendshapes.insert("JawChew", QVariantList() << "Jaw_Up" << 1.0); - blendshapes.insert("MouthLeft", QVariantList() << "Midmouth_Left" << 1.0); - blendshapes.insert("MouthRight", QVariantList() << "Midmouth_Right" << 1.0); - blendshapes.insert("MouthFrown_L", QVariantList() << "Frown_Left" << 1.0); - blendshapes.insert("MouthFrown_R", QVariantList() << "Frown_Right" << 1.0); - blendshapes.insert("MouthSmile_L", QVariantList() << "Smile_Left" << 1.0); - blendshapes.insert("MouthSmile_R", QVariantList() << "Smile_Right" << 1.0); - blendshapes.insert("LipsUpperUp", QVariantList() << "UpperLipUp_Left" << 0.5); - blendshapes.insertMulti("LipsUpperUp", QVariantList() << "UpperLipUp_Right" << 0.5); - blendshapes.insert("Puff", QVariantList() << "CheekPuff_Left" << 0.5); - blendshapes.insertMulti("Puff", QVariantList() << "CheekPuff_Right" << 0.5); - blendshapes.insert("Sneer", QVariantList() << "NoseScrunch_Left" << 0.5); - blendshapes.insertMulti("Sneer", QVariantList() << "NoseScrunch_Right" << 0.5); - blendshapes.insert("CheekSquint_L", QVariantList() << "Squint_Left" << 1.0); - blendshapes.insert("CheekSquint_R", QVariantList() << "Squint_Right" << 1.0); - blendshapes.insert("LipsPucker", QVariantList() << "MouthNarrow_Left" << 0.5); - blendshapes.insertMulti("LipsPucker", QVariantList() << "MouthNarrow_Right" << 0.5); - blendshapes.insert("LipsLowerDown", QVariantList() << "LowerLipDown_Left" << 0.5); - blendshapes.insertMulti("LipsLowerDown", QVariantList() << "LowerLipDown_Right" << 0.5); + blendshapes.insertMulti("BrowsD_L", QVariantList() << "BrowsDown_Left" << 1.0); + blendshapes.insertMulti("BrowsD_R", QVariantList() << "BrowsDown_Right" << 1.0); + blendshapes.insertMulti("BrowsU_C", QVariantList() << "BrowsUp_Left" << 1.0); + blendshapes.insertMulti("BrowsU_C", QVariantList() << "BrowsUp_Right" << 1.0); + blendshapes.insertMulti("BrowsU_L", QVariantList() << "BrowsUp_Left" << 1.0); + blendshapes.insertMulti("BrowsU_R", QVariantList() << "BrowsUp_Right" << 1.0); + blendshapes.insertMulti("ChinLowerRaise", QVariantList() << "Jaw_Up" << 1.0); + blendshapes.insertMulti("ChinUpperRaise", QVariantList() << "UpperLipUp_Left" << 0.5); + blendshapes.insertMulti("ChinUpperRaise", QVariantList() << "UpperLipUp_Right" << 0.5); + blendshapes.insertMulti("EyeBlink_L", QVariantList() << "Blink_Left" << 1.0); + blendshapes.insertMulti("EyeBlink_R", QVariantList() << "Blink_Right" << 1.0); + blendshapes.insertMulti("EyeOpen_L", QVariantList() << "EyesWide_Left" << 1.0); + blendshapes.insertMulti("EyeOpen_R", QVariantList() << "EyesWide_Right" << 1.0); + blendshapes.insertMulti("EyeSquint_L", QVariantList() << "Squint_Left" << 1.0); + blendshapes.insertMulti("EyeSquint_R", QVariantList() << "Squint_Right" << 1.0); + blendshapes.insertMulti("JawFwd", QVariantList() << "JawForeward" << 1.0); + blendshapes.insertMulti("JawLeft", QVariantList() << "JawRotateY_Left" << 0.5); + blendshapes.insertMulti("JawOpen", QVariantList() << "MouthOpen" << 0.7); + blendshapes.insertMulti("JawRight", QVariantList() << "Jaw_Right" << 1.0); + blendshapes.insertMulti("LipsFunnel", QVariantList() << "JawForeward" << 0.39); + blendshapes.insertMulti("LipsFunnel", QVariantList() << "Jaw_Down" << 0.36); + blendshapes.insertMulti("LipsFunnel", QVariantList() << "MouthNarrow_Left" << 1.0); + blendshapes.insertMulti("LipsFunnel", QVariantList() << "MouthNarrow_Right" << 1.0); + blendshapes.insertMulti("LipsFunnel", QVariantList() << "MouthWhistle_NarrowAdjust_Left" << 0.5); + blendshapes.insertMulti("LipsFunnel", QVariantList() << "MouthWhistle_NarrowAdjust_Right" << 0.5); + blendshapes.insertMulti("LipsFunnel", QVariantList() << "TongueUp" << 1.0); + blendshapes.insertMulti("LipsLowerClose", QVariantList() << "LowerLipIn" << 1.0); + blendshapes.insertMulti("LipsLowerDown", QVariantList() << "LowerLipDown_Left" << 0.7); + blendshapes.insertMulti("LipsLowerDown", QVariantList() << "LowerLipDown_Right" << 0.7); + blendshapes.insertMulti("LipsLowerOpen", QVariantList() << "LowerLipOut" << 1.0); + blendshapes.insertMulti("LipsPucker", QVariantList() << "MouthNarrow_Left" << 1.0); + blendshapes.insertMulti("LipsPucker", QVariantList() << "MouthNarrow_Right" << 1.0); + blendshapes.insertMulti("LipsUpperClose", QVariantList() << "UpperLipIn" << 1.0); + blendshapes.insertMulti("LipsUpperOpen", QVariantList() << "UpperLipOut" << 1.0); + blendshapes.insertMulti("LipsUpperUp", QVariantList() << "UpperLipUp_Left" << 0.7); + blendshapes.insertMulti("LipsUpperUp", QVariantList() << "UpperLipUp_Right" << 0.7); + blendshapes.insertMulti("MouthDimple_L", QVariantList() << "Smile_Left" << 0.25); + blendshapes.insertMulti("MouthDimple_R", QVariantList() << "Smile_Right" << 0.25); + blendshapes.insertMulti("MouthFrown_L", QVariantList() << "Frown_Left" << 1.0); + blendshapes.insertMulti("MouthFrown_R", QVariantList() << "Frown_Right" << 1.0); + blendshapes.insertMulti("MouthLeft", QVariantList() << "Midmouth_Left" << 1.0); + blendshapes.insertMulti("MouthRight", QVariantList() << "Midmouth_Right" << 1.0); + blendshapes.insertMulti("MouthSmile_L", QVariantList() << "Smile_Left" << 1.0); + blendshapes.insertMulti("MouthSmile_R", QVariantList() << "Smile_Right" << 1.0); + blendshapes.insertMulti("Puff", QVariantList() << "CheekPuff_Left" << 1.0); + blendshapes.insertMulti("Puff", QVariantList() << "CheekPuff_Right" << 1.0); + blendshapes.insertMulti("Sneer", QVariantList() << "NoseScrunch_Left" << 0.75); + blendshapes.insertMulti("Sneer", QVariantList() << "NoseScrunch_Right" << 0.75); + blendshapes.insertMulti("Sneer", QVariantList() << "Squint_Left" << 0.5); + blendshapes.insertMulti("Sneer", QVariantList() << "Squint_Right" << 0.5); mapping.insert(BLENDSHAPE_FIELD, blendshapes); }