ai-chatbot/lib/video-canvas/director-pose-presets.ts

415 lines
9.6 KiB
TypeScript

export type VideoCanvasDirectorPosePreset = {
id: string;
label: string;
controls: Record<string, number>;
};
export const defaultVideoCanvasDirectorPosePresets: VideoCanvasDirectorPosePreset[] = [
{
id: "stand",
label: "站立",
controls: {
"torso.pitch": 2,
"head.pitch": -10,
"leftShoulder.pitch": -5,
"leftShoulder.spread": 12,
"rightShoulder.pitch": -5,
"rightShoulder.spread": 14,
"leftElbow.bend": 15,
"rightElbow.bend": 15,
},
},
{
id: "t-pose",
label: "T型",
controls: {
"leftShoulder.pitch": 16,
"leftShoulder.spread": 60,
"leftShoulder.twist": 40,
"rightShoulder.pitch": 22,
"rightShoulder.spread": 54,
"rightShoulder.twist": 41,
},
},
{
id: "walk",
label: "行走",
controls: {
"torso.pitch": 3,
"torso.yaw": 5,
"head.pitch": -5,
"leftShoulder.pitch": 40,
"leftShoulder.spread": 9,
"rightShoulder.pitch": -8,
"rightShoulder.spread": 27,
"rightShoulder.twist": -4,
"leftElbow.bend": 37,
"rightElbow.bend": 26,
"leftHip.pitch": -10,
"rightHip.pitch": 36,
"rightHip.spread": -2,
"leftKnee.bend": 22,
"rightKnee.bend": 41,
},
},
{
id: "run",
label: "跑步",
controls: {
"body.pitch": -2,
"torso.pitch": 3,
"torso.yaw": 5,
"head.pitch": -10,
"leftShoulder.pitch": -26,
"leftShoulder.spread": 23,
"leftShoulder.twist": 14,
"rightShoulder.pitch": 23,
"rightShoulder.spread": 14,
"rightShoulder.twist": 19,
"leftElbow.bend": 60,
"rightElbow.bend": 89,
"leftHip.pitch": 50,
"rightHip.pitch": -20,
"leftKnee.bend": 18,
"rightKnee.bend": 36,
},
},
{
id: "sit",
label: "坐姿",
controls: {
"body.pitch": -5,
"torso.pitch": 5,
"head.pitch": -5,
"leftShoulder.spread": 8,
"leftShoulder.twist": 6,
"rightShoulder.spread": 15,
"rightShoulder.twist": 16,
"leftElbow.bend": 80,
"rightElbow.bend": 80,
"leftHip.pitch": 90,
"leftHip.spread": 5,
"rightHip.pitch": 90,
"rightHip.spread": 5,
"leftKnee.bend": 90,
"rightKnee.bend": 90,
},
},
{
id: "crouch",
label: "蹲下",
controls: {
"body.pitch": -3,
"torso.pitch": 45,
"head.pitch": -15,
"leftShoulder.pitch": 39,
"leftShoulder.spread": 8,
"leftShoulder.twist": 26,
"rightShoulder.pitch": 20,
"rightShoulder.spread": 15,
"rightShoulder.twist": 30,
"leftElbow.bend": 87,
"rightElbow.bend": 100,
"leftHip.pitch": 100,
"leftHip.spread": 15,
"leftHip.twist": 16,
"rightHip.pitch": 90,
"rightHip.spread": 15,
"rightHip.twist": 16,
"leftKnee.bend": 104,
"rightKnee.bend": 97,
},
},
{
id: "kneel-one",
label: "单膝跪",
controls: {
"body.cameraTargetOffsetY": 0.56,
"body.pitch": -11,
"torso.pitch": 21,
"head.pitch": -5,
"leftShoulder.pitch": 41,
"leftShoulder.spread": -4,
"leftShoulder.twist": -24,
"rightShoulder.spread": 16,
"leftElbow.bend": 71,
"rightElbow.bend": 16,
"leftHip.pitch": 90,
"leftHip.rigPitch": 70,
"leftHip.twist": 4,
"rightHip.pitch": 27,
"rightHip.rigPitch": 15,
"leftKnee.bend": 74,
"leftKnee.rigBend": 40,
"rightKnee.bend": 89,
"rightKnee.rigBend": -90,
"leftFoot.pitch": 20,
"rightFoot.pitch": 60,
},
},
{
id: "kneel-two",
label: "双膝跪",
controls: {
"body.modelScale": 0.83,
"body.pitch": 8,
"torso.pitch": 6,
"head.pitch": -5,
"leftShoulder.pitch": -5,
"leftShoulder.spread": 7,
"rightShoulder.pitch": -5,
"rightShoulder.spread": 10,
"leftElbow.bend": 15,
"rightElbow.bend": 15,
"leftHip.pitch": -10,
"rightHip.pitch": -9,
"leftKnee.bend": 108,
"leftKnee.rigBend": 126,
"rightKnee.bend": 104,
"rightKnee.rigBend": 126,
"leftFoot.pitch": -20,
"rightFoot.pitch": -20,
},
},
{
id: "hands-on-hips",
label: "叉腰",
controls: {
"head.pitch": -5,
"leftShoulder.pitch": 15,
"leftShoulder.spread": 31,
"leftShoulder.twist": -9,
"rightShoulder.pitch": 21,
"rightShoulder.spread": 31,
"rightShoulder.twist": 3,
"leftElbow.bend": 80,
"rightElbow.bend": 80,
"leftHip.spread": 10,
"rightHip.spread": 10,
},
},
{
id: "lean",
label: "倚靠",
controls: {
"body.roll": -5,
"torso.pitch": -3,
"torso.yaw": 5,
"torso.roll": -5,
"head.pitch": -10,
"head.yaw": 10,
"head.roll": -5,
"leftShoulder.pitch": -5,
"leftShoulder.spread": 13,
"rightShoulder.pitch": -10,
"rightShoulder.spread": 16,
"leftElbow.bend": 15,
"rightElbow.bend": 20,
"leftHip.spread": 5,
"rightHip.pitch": 20,
"rightHip.twist": 10,
"rightKnee.bend": 40,
},
},
{
id: "bow",
label: "鞠躬",
controls: {
"torso.pitch": 45,
"head.pitch": 20,
"leftShoulder.pitch": 13,
"leftShoulder.spread": -7,
"rightShoulder.pitch": 3,
"rightShoulder.spread": -5,
"rightShoulder.twist": 10,
"leftElbow.bend": 5,
"rightElbow.bend": 5,
},
},
{
id: "think",
label: "思考",
controls: {
"torso.pitch": 5,
"torso.yaw": -5,
"head.pitch": 10,
"head.yaw": -10,
"head.roll": 5,
"leftShoulder.pitch": 5,
"leftShoulder.spread": 7,
"rightShoulder.pitch": 87,
"rightShoulder.spread": -10,
"rightShoulder.twist": 90,
"leftElbow.bend": 67,
"rightElbow.bend": 122,
},
},
{
id: "fight",
label: "格斗",
controls: {
"body.pitch": 5,
"body.yaw": 15,
"torso.pitch": 8,
"torso.yaw": 10,
"head.pitch": -5,
"head.yaw": -15,
"leftShoulder.pitch": 60,
"leftShoulder.spread": 30,
"rightShoulder.pitch": 40,
"rightShoulder.spread": 25,
"leftElbow.bend": 110,
"rightElbow.bend": 100,
"leftHip.pitch": 10,
"leftHip.spread": 15,
"leftHip.twist": 10,
"rightHip.pitch": -5,
"rightHip.spread": 15,
"rightHip.twist": -10,
"leftKnee.bend": 25,
"rightKnee.bend": 30,
},
},
{
id: "kick",
label: "踢球",
controls: {
"body.pitch": -4,
"body.yaw": -7,
"body.roll": -1,
"torso.pitch": -5,
"torso.yaw": -10,
"torso.roll": 5,
"head.pitch": 5,
"head.yaw": -10,
"leftShoulder.pitch": -20,
"leftShoulder.spread": 30,
"rightShoulder.pitch": 20,
"rightShoulder.spread": 25,
"leftElbow.bend": 40,
"rightElbow.bend": 35,
"leftHip.pitch": -10,
"rightHip.pitch": 80,
"leftKnee.bend": 10,
"rightKnee.bend": 20,
},
},
{
id: "throw",
label: "投掷",
controls: {
"body.pitch": 5,
"body.yaw": -2,
"torso.pitch": 4,
"torso.yaw": 15,
"torso.roll": -5,
"head.pitch": -5,
"head.yaw": -15,
"leftShoulder.pitch": 7,
"leftShoulder.spread": 17,
"rightShoulder.pitch": 77,
"rightShoulder.twist": 90,
"leftElbow.bend": 88,
"rightElbow.bend": 96,
"leftHip.pitch": 15,
"leftHip.spread": 5,
"rightHip.pitch": -10,
"rightHip.spread": 5,
"leftKnee.bend": 26,
"rightKnee.bend": 36,
},
},
{
id: "push",
label: "推进",
controls: {
"body.pitch": -1,
"torso.pitch": 19,
"head.pitch": -5,
"leftShoulder.pitch": 100,
"leftShoulder.spread": 6,
"leftShoulder.twist": 5,
"rightShoulder.pitch": 101,
"rightShoulder.spread": 11,
"leftElbow.bend": 14,
"leftHip.pitch": 41,
"rightHip.pitch": -15,
"leftKnee.bend": 35,
"rightKnee.bend": 10,
},
},
{
id: "wave",
label: "招手",
controls: {
"torso.pitch": 2,
"torso.yaw": -10,
"head.pitch": -5,
"head.yaw": 15,
"head.roll": 5,
"leftShoulder.spread": 6,
"rightShoulder.pitch": 62,
"rightShoulder.spread": -10,
"rightShoulder.twist": 90,
"leftElbow.bend": 62,
"rightElbow.bend": 94,
},
},
{
id: "reach",
label: "伸手",
controls: {
"body.pitch": -5,
"torso.pitch": -16,
"torso.roll": 3,
"head.pitch": -25,
"leftShoulder.pitch": 115,
"leftShoulder.spread": -10,
"leftShoulder.twist": 10,
"rightShoulder.pitch": 133,
"rightShoulder.spread": -10,
"rightShoulder.twist": -10,
"leftElbow.bend": 59,
"rightElbow.bend": 53,
"leftHip.spread": 10,
"rightHip.spread": 10,
},
},
{
id: "cross-arms",
label: "抱臂",
controls: {
"torso.yaw": 2,
"head.pitch": -8,
"leftShoulder.pitch": 7,
"leftShoulder.spread": 22,
"leftShoulder.twist": 17,
"rightShoulder.pitch": 8,
"rightShoulder.spread": 22,
"rightShoulder.twist": 39,
"leftElbow.bend": 107,
"rightElbow.bend": 107,
"leftHip.spread": 5,
"rightHip.spread": 5,
},
},
{
id: "phone",
label: "看手机",
controls: {
"torso.pitch": 5,
"head.pitch": 17,
"leftShoulder.pitch": 55,
"leftShoulder.spread": -10,
"leftShoulder.twist": -4,
"rightShoulder.pitch": 24,
"rightShoulder.spread": -10,
"rightShoulder.twist": -13,
"leftElbow.bend": 89,
"rightElbow.bend": 43,
"leftHip.spread": 5,
"rightHip.spread": 5,
},
},
];