Files
PoseRenderer/test/openpose_arkit_face_test.ma
T
indigo 67b3deedbd Add faceFollow, fix face contour rendering, add default eyes/ears
Three changesets bundled together:

- faceFollow (Camera/Neck) for the ARKit-blendshape face: it can now
  rotate with the mapped Body_Neck joint's own local axes instead of
  always billboarding toward the camera.

- Fixed a real correctness bug: the face was rendering as isolated
  dots. Verified against OpenPose's own published keypoint diagrams
  and source (FACE_PAIRS_RENDER_GPU, 63 pairs) that it should render
  connected jaw/eyebrow/nose/eye/mouth contour lines; full_limb_data()
  was also silently dropping face limbs entirely. Both fixed.

- Default eyes/ears: most rigs (HumanIK included) have no
  REye/LEye/REar/LEar joints, only Head/Nose, leaving those 4 slots
  permanently invisible. They now get a synthetic head-relative
  position when unmapped but Body_Nose is mapped, anchored at and
  rotating with the Nose joint's own orientation (not the camera) --
  toggleable via useDefaultEyesEars, always overridden by an explicit
  joint mapping. Also drops the RShoulder->REar / LShoulder->LEar
  lines from BODY_25 and COCO connectivity by request (a
  detection-robustness quirk of OpenPose's original network, not real
  anatomy) so ears stay leaf points -- a disclosed, deliberate
  deviation from upstream's otherwise-verbatim connectivity.

All verified against real Maya (2022/2023/2024), not just logic:
rotation math checked exact, explicit-mapping-overrides-fallback
checked, shoulder-ear removal checked against full_limb_data() output,
rendered test scenes visually confirmed against OpenPose's own
reference diagrams.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-14 10:12:10 +08:00

340 lines
17 KiB
Mathematica

//Maya ASCII 2024 scene
//Name: openpose_arkit_face_test.ma
//Last modified: Tue, Jul 14, 2026 10:10:17 AM
//Codeset: 950
requires maya "2024";
requires -nodeType "openposeCharacter" "openposeRenderer.py" "1.0.0";
currentUnit -l centimeter -a degree -t film;
fileInfo "application" "maya";
fileInfo "product" "Maya 2024";
fileInfo "version" "2024";
fileInfo "cutIdentifier" "202310181224-69282f2959";
fileInfo "osv" "Windows 10 Pro v2009 (Build: 19045)";
fileInfo "UUID" "85DD57C5-4B97-1CDE-6FD5-BFA49225A98F";
createNode transform -s -n "persp";
rename -uid "E3491364-4B97-48C1-5E9B-578A13404F49";
setAttr ".v" no;
setAttr ".t" -type "double3" 28 21 28 ;
setAttr ".r" -type "double3" -27.938352729602379 44.999999999999972 -5.172681101354183e-14 ;
createNode camera -s -n "perspShape" -p "persp";
rename -uid "DD6D6127-4073-909D-6E02-1997E2D93C26";
setAttr -k off ".v" no;
setAttr ".fl" 34.999999999999993;
setAttr ".coi" 44.82186966202994;
setAttr ".imn" -type "string" "persp";
setAttr ".den" -type "string" "persp_depth";
setAttr ".man" -type "string" "persp_mask";
setAttr ".hc" -type "string" "viewSet -p %camera";
createNode transform -s -n "top";
rename -uid "035B1CE2-4DC2-F418-C617-688208D299F4";
setAttr ".v" no;
setAttr ".t" -type "double3" 0 1000.1 0 ;
setAttr ".r" -type "double3" -90 0 0 ;
createNode camera -s -n "topShape" -p "top";
rename -uid "6E8EE682-497D-652E-715F-158DADC66B84";
setAttr -k off ".v" no;
setAttr ".rnd" no;
setAttr ".coi" 1000.1;
setAttr ".ow" 30;
setAttr ".imn" -type "string" "top";
setAttr ".den" -type "string" "top_depth";
setAttr ".man" -type "string" "top_mask";
setAttr ".hc" -type "string" "viewSet -t %camera";
setAttr ".o" yes;
createNode transform -s -n "front";
rename -uid "53AD066A-4DDC-4765-95C1-9AB82429A5A2";
setAttr ".v" no;
setAttr ".t" -type "double3" 0 0 1000.1 ;
createNode camera -s -n "frontShape" -p "front";
rename -uid "2E5CFEDD-476C-0A25-F6B8-38A03B0877F8";
setAttr -k off ".v" no;
setAttr ".rnd" no;
setAttr ".coi" 1000.1;
setAttr ".ow" 30;
setAttr ".imn" -type "string" "front";
setAttr ".den" -type "string" "front_depth";
setAttr ".man" -type "string" "front_mask";
setAttr ".hc" -type "string" "viewSet -f %camera";
setAttr ".o" yes;
createNode transform -s -n "side";
rename -uid "A10C8B41-4A98-FACA-5E06-7B8508956AA9";
setAttr ".v" no;
setAttr ".t" -type "double3" 1000.1 0 0 ;
setAttr ".r" -type "double3" 0 90 0 ;
createNode camera -s -n "sideShape" -p "side";
rename -uid "72EA7ED6-4C2B-4DE3-569A-D2B1A7BFABE4";
setAttr -k off ".v" no;
setAttr ".rnd" no;
setAttr ".coi" 1000.1;
setAttr ".ow" 30;
setAttr ".imn" -type "string" "side";
setAttr ".den" -type "string" "side_depth";
setAttr ".man" -type "string" "side_mask";
setAttr ".hc" -type "string" "viewSet -s %camera";
setAttr ".o" yes;
createNode joint -n "Neck";
rename -uid "98591D1D-4B4C-6895-14DE-4AB34B1EA03A";
setAttr ".t" -type "double3" 0 140 0 ;
setAttr ".mnrl" -type "double3" -360 -360 -360 ;
setAttr ".mxrl" -type "double3" 360 360 360 ;
createNode joint -n "Head" -p "Neck";
rename -uid "9A0315AF-4863-056E-3EDE-E493010F290C";
setAttr ".t" -type "double3" 0 10 0 ;
setAttr ".mnrl" -type "double3" -360 -360 -360 ;
setAttr ".mxrl" -type "double3" 360 360 360 ;
createNode transform -n "transform1";
rename -uid "64FBC6C8-4532-92E7-B69C-14806ED14FDA";
createNode openposeCharacter -n "openposeCharacter_ARKitFace" -p "transform1";
rename -uid "99770FC8-4339-FCCF-4911-D5A1DE12F05B";
setAttr -k off ".v";
setAttr -s 2 ".tj";
setAttr ".fsrc" 1;
setAttr -s 52 ".bsw";
setAttr -s 52 ".bsw";
createNode transform -n "faceControl";
rename -uid "6B4BD06A-44E7-A162-C911-A6860437F938";
addAttr -ci true -sn "eyeBlinkLeft" -ln "eyeBlinkLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "eyeLookDownLeft" -ln "eyeLookDownLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "eyeLookInLeft" -ln "eyeLookInLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "eyeLookOutLeft" -ln "eyeLookOutLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "eyeLookUpLeft" -ln "eyeLookUpLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "eyeSquintLeft" -ln "eyeSquintLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "eyeWideLeft" -ln "eyeWideLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "eyeBlinkRight" -ln "eyeBlinkRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "eyeLookDownRight" -ln "eyeLookDownRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "eyeLookInRight" -ln "eyeLookInRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "eyeLookOutRight" -ln "eyeLookOutRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "eyeLookUpRight" -ln "eyeLookUpRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "eyeSquintRight" -ln "eyeSquintRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "eyeWideRight" -ln "eyeWideRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "jawForward" -ln "jawForward" -min 0 -max 1 -at "float";
addAttr -ci true -sn "jawLeft" -ln "jawLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "jawRight" -ln "jawRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "jawOpen" -ln "jawOpen" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthClose" -ln "mouthClose" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthFunnel" -ln "mouthFunnel" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthPucker" -ln "mouthPucker" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthLeft" -ln "mouthLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthRight" -ln "mouthRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthSmileLeft" -ln "mouthSmileLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthSmileRight" -ln "mouthSmileRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthFrownLeft" -ln "mouthFrownLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthFrownRight" -ln "mouthFrownRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthDimpleLeft" -ln "mouthDimpleLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthDimpleRight" -ln "mouthDimpleRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthStretchLeft" -ln "mouthStretchLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthStretchRight" -ln "mouthStretchRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthRollLower" -ln "mouthRollLower" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthRollUpper" -ln "mouthRollUpper" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthShrugLower" -ln "mouthShrugLower" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthShrugUpper" -ln "mouthShrugUpper" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthPressLeft" -ln "mouthPressLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthPressRight" -ln "mouthPressRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthLowerDownLeft" -ln "mouthLowerDownLeft" -min 0 -max 1
-at "float";
addAttr -ci true -sn "mouthLowerDownRight" -ln "mouthLowerDownRight" -min 0 -max
1 -at "float";
addAttr -ci true -sn "mouthUpperUpLeft" -ln "mouthUpperUpLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "mouthUpperUpRight" -ln "mouthUpperUpRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "browDownLeft" -ln "browDownLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "browDownRight" -ln "browDownRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "browInnerUp" -ln "browInnerUp" -min 0 -max 1 -at "float";
addAttr -ci true -sn "browOuterUpLeft" -ln "browOuterUpLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "browOuterUpRight" -ln "browOuterUpRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "cheekPuff" -ln "cheekPuff" -min 0 -max 1 -at "float";
addAttr -ci true -sn "cheekSquintLeft" -ln "cheekSquintLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "cheekSquintRight" -ln "cheekSquintRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "noseSneerLeft" -ln "noseSneerLeft" -min 0 -max 1 -at "float";
addAttr -ci true -sn "noseSneerRight" -ln "noseSneerRight" -min 0 -max 1 -at "float";
addAttr -ci true -sn "tongueOut" -ln "tongueOut" -min 0 -max 1 -at "float";
setAttr -k on ".eyeBlinkLeft";
setAttr -k on ".eyeLookDownLeft";
setAttr -k on ".eyeLookInLeft";
setAttr -k on ".eyeLookOutLeft";
setAttr -k on ".eyeLookUpLeft";
setAttr -k on ".eyeSquintLeft";
setAttr -k on ".eyeWideLeft" 0.69999998807907104;
setAttr -k on ".eyeBlinkRight";
setAttr -k on ".eyeLookDownRight";
setAttr -k on ".eyeLookInRight";
setAttr -k on ".eyeLookOutRight";
setAttr -k on ".eyeLookUpRight";
setAttr -k on ".eyeSquintRight";
setAttr -k on ".eyeWideRight" 0.69999998807907104;
setAttr -k on ".jawForward";
setAttr -k on ".jawLeft";
setAttr -k on ".jawRight";
setAttr -k on ".jawOpen" 0.60000002384185791;
setAttr -k on ".mouthClose";
setAttr -k on ".mouthFunnel";
setAttr -k on ".mouthPucker";
setAttr -k on ".mouthLeft";
setAttr -k on ".mouthRight";
setAttr -k on ".mouthSmileLeft" 1;
setAttr -k on ".mouthSmileRight" 1;
setAttr -k on ".mouthFrownLeft";
setAttr -k on ".mouthFrownRight";
setAttr -k on ".mouthDimpleLeft";
setAttr -k on ".mouthDimpleRight";
setAttr -k on ".mouthStretchLeft";
setAttr -k on ".mouthStretchRight";
setAttr -k on ".mouthRollLower";
setAttr -k on ".mouthRollUpper";
setAttr -k on ".mouthShrugLower";
setAttr -k on ".mouthShrugUpper";
setAttr -k on ".mouthPressLeft";
setAttr -k on ".mouthPressRight";
setAttr -k on ".mouthLowerDownLeft";
setAttr -k on ".mouthLowerDownRight";
setAttr -k on ".mouthUpperUpLeft";
setAttr -k on ".mouthUpperUpRight";
setAttr -k on ".browDownLeft";
setAttr -k on ".browDownRight";
setAttr -k on ".browInnerUp" 0.80000001192092896;
setAttr -k on ".browOuterUpLeft" 0.60000002384185791;
setAttr -k on ".browOuterUpRight" 0.60000002384185791;
setAttr -k on ".cheekPuff";
setAttr -k on ".cheekSquintLeft";
setAttr -k on ".cheekSquintRight";
setAttr -k on ".noseSneerLeft";
setAttr -k on ".noseSneerRight";
setAttr -k on ".tongueOut";
createNode lightLinker -s -n "lightLinker1";
rename -uid "6D455AD6-40A9-F99D-5089-B0A48DE96155";
setAttr -s 2 ".lnk";
setAttr -s 2 ".slnk";
createNode displayLayerManager -n "layerManager";
rename -uid "89D07F4B-4D2B-38E3-1982-E49382568D7B";
createNode displayLayer -n "defaultLayer";
rename -uid "FE3D0295-4D3E-B21D-61C6-E48A8F983B9A";
setAttr ".ufem" -type "stringArray" 0 ;
createNode renderLayerManager -n "renderLayerManager";
rename -uid "D3652996-4893-A8CF-67F1-B39C47121B22";
createNode renderLayer -n "defaultRenderLayer";
rename -uid "7B692699-4A43-99A7-033B-D8AB3ECF5B0E";
setAttr ".g" yes;
createNode script -n "uiConfigurationScriptNode";
rename -uid "C885E9DA-4CD9-2E2D-D858-D7960EC8BBFF";
setAttr ".b" -type "string" "// Maya Mel UI Configuration File.\n// No UI generated in batch mode.\n";
setAttr ".st" 3;
createNode script -n "sceneConfigurationScriptNode";
rename -uid "D790ABD8-4269-6467-7F7B-0B99D3F4D4A4";
setAttr ".b" -type "string" "playbackOptions -min 1 -max 120 -ast 1 -aet 200 ";
setAttr ".st" 6;
select -ne :time1;
setAttr ".o" 1;
setAttr ".unw" 1;
select -ne :hardwareRenderingGlobals;
setAttr ".otfna" -type "stringArray" 22 "NURBS Curves" "NURBS Surfaces" "Polygons" "Subdiv Surface" "Particles" "Particle Instance" "Fluids" "Strokes" "Image Planes" "UI" "Lights" "Cameras" "Locators" "Joints" "IK Handles" "Deformers" "Motion Trails" "Components" "Hair Systems" "Follicles" "Misc. UI" "Ornaments" ;
setAttr ".otfva" -type "Int32Array" 22 0 1 1 1 1 1
1 1 1 0 0 0 0 0 0 0 0 0
0 0 0 0 ;
setAttr ".fprt" yes;
setAttr ".rtfm" 1;
select -ne :renderPartition;
setAttr -s 2 ".st";
select -ne :renderGlobalsList1;
select -ne :defaultShaderList1;
setAttr -s 5 ".s";
select -ne :postProcessList1;
setAttr -s 2 ".p";
select -ne :defaultRenderingList1;
select -ne :standardSurface1;
setAttr ".bc" -type "float3" 0.40000001 0.40000001 0.40000001 ;
setAttr ".sr" 0.5;
select -ne :initialShadingGroup;
setAttr ".ro" yes;
select -ne :initialParticleSE;
setAttr ".ro" yes;
select -ne :defaultRenderGlobals;
addAttr -ci true -h true -sn "dss" -ln "defaultSurfaceShader" -dt "string";
setAttr ".dss" -type "string" "standardSurface1";
select -ne :defaultResolution;
setAttr ".w" 512;
setAttr ".h" 512;
setAttr ".pa" 1;
select -ne :defaultColorMgtGlobals;
setAttr ".cfe" yes;
setAttr ".cfp" -type "string" "<MAYA_RESOURCES>/OCIO-configs/Maya2022-default/config.ocio";
setAttr ".vtn" -type "string" "ACES 1.0 SDR-video (sRGB)";
setAttr ".vn" -type "string" "ACES 1.0 SDR-video";
setAttr ".dn" -type "string" "sRGB";
setAttr ".wsn" -type "string" "ACEScg";
setAttr ".otn" -type "string" "ACES 1.0 SDR-video (sRGB)";
setAttr ".potn" -type "string" "ACES 1.0 SDR-video (sRGB)";
select -ne :hardwareRenderGlobals;
setAttr ".ctrs" 256;
setAttr ".btrs" 512;
connectAttr "Neck.s" "Head.is";
connectAttr "Head.msg" "openposeCharacter_ARKitFace.tj[0]";
connectAttr "Neck.msg" "openposeCharacter_ARKitFace.tj[1]";
connectAttr "faceControl.eyeBlinkLeft" "openposeCharacter_ARKitFace.bsw[0]";
connectAttr "faceControl.eyeLookDownLeft" "openposeCharacter_ARKitFace.bsw[1]";
connectAttr "faceControl.eyeLookInLeft" "openposeCharacter_ARKitFace.bsw[2]";
connectAttr "faceControl.eyeLookOutLeft" "openposeCharacter_ARKitFace.bsw[3]";
connectAttr "faceControl.eyeLookUpLeft" "openposeCharacter_ARKitFace.bsw[4]";
connectAttr "faceControl.eyeSquintLeft" "openposeCharacter_ARKitFace.bsw[5]";
connectAttr "faceControl.eyeWideLeft" "openposeCharacter_ARKitFace.bsw[6]";
connectAttr "faceControl.eyeBlinkRight" "openposeCharacter_ARKitFace.bsw[7]";
connectAttr "faceControl.eyeLookDownRight" "openposeCharacter_ARKitFace.bsw[8]";
connectAttr "faceControl.eyeLookInRight" "openposeCharacter_ARKitFace.bsw[9]";
connectAttr "faceControl.eyeLookOutRight" "openposeCharacter_ARKitFace.bsw[10]";
connectAttr "faceControl.eyeLookUpRight" "openposeCharacter_ARKitFace.bsw[11]";
connectAttr "faceControl.eyeSquintRight" "openposeCharacter_ARKitFace.bsw[12]";
connectAttr "faceControl.eyeWideRight" "openposeCharacter_ARKitFace.bsw[13]";
connectAttr "faceControl.jawForward" "openposeCharacter_ARKitFace.bsw[14]";
connectAttr "faceControl.jawLeft" "openposeCharacter_ARKitFace.bsw[15]";
connectAttr "faceControl.jawRight" "openposeCharacter_ARKitFace.bsw[16]";
connectAttr "faceControl.jawOpen" "openposeCharacter_ARKitFace.bsw[17]";
connectAttr "faceControl.mouthClose" "openposeCharacter_ARKitFace.bsw[18]";
connectAttr "faceControl.mouthFunnel" "openposeCharacter_ARKitFace.bsw[19]";
connectAttr "faceControl.mouthPucker" "openposeCharacter_ARKitFace.bsw[20]";
connectAttr "faceControl.mouthLeft" "openposeCharacter_ARKitFace.bsw[21]";
connectAttr "faceControl.mouthRight" "openposeCharacter_ARKitFace.bsw[22]";
connectAttr "faceControl.mouthSmileLeft" "openposeCharacter_ARKitFace.bsw[23]";
connectAttr "faceControl.mouthSmileRight" "openposeCharacter_ARKitFace.bsw[24]";
connectAttr "faceControl.mouthFrownLeft" "openposeCharacter_ARKitFace.bsw[25]";
connectAttr "faceControl.mouthFrownRight" "openposeCharacter_ARKitFace.bsw[26]";
connectAttr "faceControl.mouthDimpleLeft" "openposeCharacter_ARKitFace.bsw[27]";
connectAttr "faceControl.mouthDimpleRight" "openposeCharacter_ARKitFace.bsw[28]"
;
connectAttr "faceControl.mouthStretchLeft" "openposeCharacter_ARKitFace.bsw[29]"
;
connectAttr "faceControl.mouthStretchRight" "openposeCharacter_ARKitFace.bsw[30]"
;
connectAttr "faceControl.mouthRollLower" "openposeCharacter_ARKitFace.bsw[31]";
connectAttr "faceControl.mouthRollUpper" "openposeCharacter_ARKitFace.bsw[32]";
connectAttr "faceControl.mouthShrugLower" "openposeCharacter_ARKitFace.bsw[33]";
connectAttr "faceControl.mouthShrugUpper" "openposeCharacter_ARKitFace.bsw[34]";
connectAttr "faceControl.mouthPressLeft" "openposeCharacter_ARKitFace.bsw[35]";
connectAttr "faceControl.mouthPressRight" "openposeCharacter_ARKitFace.bsw[36]";
connectAttr "faceControl.mouthLowerDownLeft" "openposeCharacter_ARKitFace.bsw[37]"
;
connectAttr "faceControl.mouthLowerDownRight" "openposeCharacter_ARKitFace.bsw[38]"
;
connectAttr "faceControl.mouthUpperUpLeft" "openposeCharacter_ARKitFace.bsw[39]"
;
connectAttr "faceControl.mouthUpperUpRight" "openposeCharacter_ARKitFace.bsw[40]"
;
connectAttr "faceControl.browDownLeft" "openposeCharacter_ARKitFace.bsw[41]";
connectAttr "faceControl.browDownRight" "openposeCharacter_ARKitFace.bsw[42]";
connectAttr "faceControl.browInnerUp" "openposeCharacter_ARKitFace.bsw[43]";
connectAttr "faceControl.browOuterUpLeft" "openposeCharacter_ARKitFace.bsw[44]";
connectAttr "faceControl.browOuterUpRight" "openposeCharacter_ARKitFace.bsw[45]"
;
connectAttr "faceControl.cheekPuff" "openposeCharacter_ARKitFace.bsw[46]";
connectAttr "faceControl.cheekSquintLeft" "openposeCharacter_ARKitFace.bsw[47]";
connectAttr "faceControl.cheekSquintRight" "openposeCharacter_ARKitFace.bsw[48]"
;
connectAttr "faceControl.noseSneerLeft" "openposeCharacter_ARKitFace.bsw[49]";
connectAttr "faceControl.noseSneerRight" "openposeCharacter_ARKitFace.bsw[50]";
connectAttr "faceControl.tongueOut" "openposeCharacter_ARKitFace.bsw[51]";
relationship "link" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message";
relationship "link" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message";
relationship "shadowLink" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.message";
relationship "shadowLink" ":lightLinker1" ":initialParticleSE.message" ":defaultLightSet.message";
connectAttr "layerManager.dli[0]" "defaultLayer.id";
connectAttr "renderLayerManager.rlmi[0]" "defaultRenderLayer.rlid";
connectAttr "defaultRenderLayer.msg" ":defaultRenderingList1.r" -na;
// End of openpose_arkit_face_test.ma