PrivateconstructorPrivateaddAdd custom keyframe with callback
Apply foot positions to current keyframe during addKeyframe Inline version for use within keyframe callback
KeyframeConfig to modify
Multiplier from KOREAN_STANCE_BIOMECHANICS
Fighter's shoulder width in centimeters
PrivateapplyHelper to apply finger rotations from a hand pose to a keyframe
Apply hand pose during a keyframe (inline version for addKeyframe)
The hand pose to apply
Which hand(s) to apply the pose to
PrivateapplyHelper to apply finger rotations from a hand pose to an existing keyframe
PrivateapplyApply torso rotation for hook punch circular power (훅허리비틀기)
Korean martial arts principle: 몸통회전 (Momtong Hoejeon) - Full torso rotation Hook punches generate power from hip and shoulder rotation in a circular motion. Larger rotation angle (45-60°) creates the circular arc needed for hooks.
Biomechanics:
KeyframeConfig to apply rotation to
Which hand is hooking ("left" | "right")
Target rotation in degrees (45-60° recommended)
PrivateapplyApply torso lean for kick balance (차기허리기울이기)
Korean martial arts principle: 중심축회전 (Jungsim Chuk Hoejeon) - Central axis rotation When executing kicks, the torso leans AWAY from the kicking leg to:
Biomechanics:
KeyframeConfig to apply lean to
Which leg is kicking ("left" | "right")
Amount of lean in degrees (10-20° recommended)
PrivateapplyPrivateApply Korean guard position helper
Private helper method to reduce code duplication across guard methods. Applies guard positions to the last keyframe in the animation.
Type of guard to apply
Which side to apply ("left" | "right" | "both")
this for chaining
PrivateapplyApply torso rotation for straight punch power generation (주먹허리비틀기)
Korean martial arts principle: 허리비틀기 (Heori Biteulgi) - Waist twist for power The torso rotates OPPOSITE to the punch direction, creating torque through the spine that transfers power into the strike.
Biomechanics:
KeyframeConfig to apply rotation to
Which hand is punching ("left" | "right")
Target rotation in degrees (15-25° recommended)
Configure as attack animation (공격 애니메이션)
Configure as defense animation (방어 애니메이션)
Configure as idle/stance animation (대기 애니메이션)
Configure as movement animation (이동 애니메이션)
Configure as stance transition animation (자세 전환 애니메이션)
Add raw keyframe at specific time
Back kick spin - 180° turn for 뒤차기
Authentic Taekwondo back kick spin (뒤차기 회전):
Looking over the shoulder is CRITICAL - you must see the target to execute an accurate back kick. This is emphasized in all traditional Korean martial arts.
Back kick thrust - Heel drives backward for 뒤차기
Authentic Taekwondo back kick thrust (뒤차기 밀기):
The back kick delivers tremendous power because the entire body mass drives through the strongest leg muscles (glutes, hamstrings) in a straight line backward.
Build the complete animation
Automatically normalizes timing to ensure animations start at time 0. This is important for animation system consistency and performance.
Chamber - Knee lifts to waist height (준비자세) Starting position for all kicks
Authentic Korean martial arts chamber mechanics:
Extend - Leg snaps forward (차기 - 확장)
Authentic Korean martial arts extension mechanics:
This is the impact frame where the strike connects.
Hook kick extension - Leg extends past target (후려차기 연장)
Authentic Korean hook kick (후려차기) first phase:
The hook kick is distinct from crescent kick:
Hook kick hook-back - Heel hooks back toward target (후려차기 후림)
Authentic Korean hook kick (후려차기) second phase:
The hook motion is what makes this kick unique:
Hook punch - Circular punch targeting temple (후크) Enhanced with Korean martial arts shoulder rotation and hikite (당기기)
Enhanced with realistic circular torso rotation (몸통회전):
Time offset in seconds
Which hand is hooking ("left" | "right")
Easing function
Punch chamber - Fist at hip with vertical palm (주먹준비자세) Korean martial arts chamber position with fist vertical (세로주먹)
Time offset in seconds
Which hand to chamber ("left" | "right")
Easing function
Punch extension - Arm extends with torso rotation (지르기) Includes fist rotation from vertical to pronated and hikite
Enhanced with realistic torso rotation (허리비틀기):
Time offset in seconds
Which hand to extend ("left" | "right")
Easing function
Punch peak - Maximum extension with full rotation (정점) Hold at full extension for impact frame
Enhanced with sustained torso rotation at impact:
Time offset in seconds
Which hand is extended ("left" | "right")
Easing function
PrivateresetReset torso to neutral position (허리중립)
Returns all spine bones to neutral rotation (0, 0, 0). Used during recovery phases to return to fighting stance.
KeyframeConfig to reset
Retract - Return to chamber (회수)
Authentic Korean martial arts retraction mechanics:
This is critical for proper technique - the leg must return through chamber to protect against counters and maintain balance.
Roundhouse chamber - Hip rotates for 돌려차기
Authentic Taekwondo roundhouse chamber (돌려차기 준비):
The hip rotation is KEY - it opens the hip for the circular strike path that defines a roundhouse kick vs. a front kick.
Roundhouse extension - Full hip rotation for 돌려차기
Authentic Taekwondo roundhouse extension (돌려차기 실행):
Enhanced with compensatory torso lean (중심축회전):
The "snap" comes from the sudden knee extension combined with the hip rotation - this is the signature of Taekwondo roundhouse.
Side kick chamber - Turn sideways for 옆차기
Authentic Taekwondo side kick chamber (옆차기 준비):
The perpendicular chamber is essential - the hips must turn sideways to allow the heel to drive through the target laterally.
Side kick extension - Lateral heel thrust for 옆차기
Authentic Taekwondo side kick extension (옆차기 실행):
The side kick is one of the most powerful kicks because the entire body mass drives through the heel in a straight line.
Uppercut punch - Rising punch to chin (어퍼컷) Enhanced with Korean martial arts leg drive and hikite (당기기)
Time offset in seconds
Which hand is uppercutting ("left" | "right")
Easing function
Apply foot positions based on stance width (발너비) Sets left and right foot X positions symmetrically around center
Multiplier from KOREAN_STANCE_BIOMECHANICS
Fighter's shoulder width in centimeters
Apply Korean high guard position (상단막기)
Traditional Korean martial arts high guard with hands at temple level protecting head and face. Uses authentic 막기자세 positioning.
Which side to apply ("left" | "right" | "both")
this for chaining
Apply Korean middle guard position (중단막기)
Standard Korean martial arts guard at chest/solar plexus level. Most versatile guard position, used in most fighting stances.
Which side to apply ("left" | "right" | "both")
this for chaining
Apply trigram-specific guard pose (팔괘자세)
Sets the complete body position for the specified trigram stance, including arms, legs, torso, and pelvis. Unlike generic guards, this applies the authentic Korean martial arts posture for each of the eight trigram stances.
Use this for:
Trigram stance (e.g., TrigramStance.GEON)
Optionaloptions: TrigramGuardOptionsApplication options (what body parts to apply)
this for chaining
StaticcreateCreate new martial arts animation
English animation name
Korean animation name (한글이름)
StaticgetGet trigram guard arm positions for locomotion animations
Returns the base arm positions for the specified trigram's guard pose. Use this when building walk/run animations that need to maintain the trigram's arm guard while adding swing motion.
Trigram stance
Left and right arm base rotations (shoulder, elbow)
Martial Arts Animation Builder
Fluent API for creating Korean martial arts animations with semantic methods. Designed to be readable by martial arts practitioners.
Example
Korean
무술애니메이션빌더