gitextract_rvpupy7y/ ├── .gitattributes ├── .gitignore ├── LICENSE ├── LISENCE/ │ └── isaacgymenvs/ │ └── LICENSE ├── README.md ├── assets/ │ └── mjcf/ │ └── nv_ant.xml ├── docs/ │ └── environments.md ├── setup.py └── timechamber/ ├── __init__.py ├── ase/ │ ├── ase_agent.py │ ├── ase_models.py │ ├── ase_network_builder.py │ ├── ase_players.py │ ├── hrl_agent.py │ ├── hrl_models.py │ ├── hrl_network_builder.py │ ├── hrl_players.py │ └── utils/ │ ├── amp_agent.py │ ├── amp_datasets.py │ ├── amp_models.py │ ├── amp_network_builder.py │ ├── amp_players.py │ ├── common_agent.py │ ├── common_player.py │ └── replay_buffer.py ├── cfg/ │ ├── config.yaml │ ├── task/ │ │ ├── MA_Ant_Battle.yaml │ │ ├── MA_Ant_Sumo.yaml │ │ └── MA_Humanoid_Strike.yaml │ └── train/ │ ├── MA_Ant_BattlePPO.yaml │ ├── MA_Ant_SumoPPO.yaml │ ├── MA_Humanoid_StrikeHRL.yaml │ └── base/ │ └── ase_humanoid_hrl.yaml ├── learning/ │ ├── common_agent.py │ ├── common_player.py │ ├── hrl_sp_agent.py │ ├── hrl_sp_player.py │ ├── pfsp_player_pool.py │ ├── ppo_sp_agent.py │ ├── ppo_sp_player.py │ ├── replay_buffer.py │ ├── vectorized_models.py │ └── vectorized_network_builder.py ├── models/ │ ├── Humanoid_Strike/ │ │ ├── policy.pth │ │ └── policy_op.pth │ ├── ant_battle_2agents/ │ │ └── policy.pth │ ├── ant_battle_3agents/ │ │ └── policy.pth │ └── ant_sumo/ │ └── policy.pth ├── tasks/ │ ├── __init__.py │ ├── ase_humanoid_base/ │ │ ├── base_task.py │ │ ├── humanoid.py │ │ ├── humanoid_amp.py │ │ ├── humanoid_amp_task.py │ │ └── poselib/ │ │ ├── README.md │ │ ├── data/ │ │ │ ├── 01_01_cmu.fbx │ │ │ ├── 07_01_cmu.fbx │ │ │ ├── 08_02_cmu.fbx │ │ │ ├── 09_11_cmu.fbx │ │ │ ├── 49_08_cmu.fbx │ │ │ ├── 55_01_cmu.fbx │ │ │ ├── amp_humanoid_tpose.npy │ │ │ ├── cmu_tpose.npy │ │ │ ├── configs/ │ │ │ │ ├── retarget_cmu_to_amp.json │ │ │ │ └── retarget_sfu_to_amp.json │ │ │ └── sfu_tpose.npy │ │ ├── fbx_importer.py │ │ ├── generate_amp_humanoid_tpose.py │ │ ├── mjcf_importer.py │ │ ├── poselib/ │ │ │ ├── __init__.py │ │ │ ├── core/ │ │ │ │ ├── __init__.py │ │ │ │ ├── backend/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── abstract.py │ │ │ │ │ └── logger.py │ │ │ │ ├── rotation3d.py │ │ │ │ ├── tensor_utils.py │ │ │ │ └── tests/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_rotation.py │ │ │ ├── skeleton/ │ │ │ │ ├── __init__.py │ │ │ │ ├── backend/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── fbx/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── fbx_backend.py │ │ │ │ │ └── fbx_read_wrapper.py │ │ │ │ └── skeleton3d.py │ │ │ └── visualization/ │ │ │ ├── __init__.py │ │ │ ├── common.py │ │ │ ├── core.py │ │ │ ├── plt_plotter.py │ │ │ ├── simple_plotter_tasks.py │ │ │ ├── skeleton_plotter_tasks.py │ │ │ └── tests/ │ │ │ ├── __init__.py │ │ │ └── test_plotter.py │ │ └── retarget_motion.py │ ├── base/ │ │ ├── __init__.py │ │ ├── ma_vec_task.py │ │ └── vec_task.py │ ├── data/ │ │ ├── assets/ │ │ │ └── mjcf/ │ │ │ └── amp_humanoid_sword_shield.xml │ │ ├── models/ │ │ │ └── llc_reallusion_sword_shield.pth │ │ └── motions/ │ │ └── reallusion_sword_shield/ │ │ ├── README.txt │ │ ├── RL_Avatar_Atk_2xCombo01_Motion.npy │ │ ├── RL_Avatar_Atk_2xCombo02_Motion.npy │ │ ├── RL_Avatar_Atk_2xCombo03_Motion.npy │ │ ├── RL_Avatar_Atk_2xCombo04_Motion.npy │ │ ├── RL_Avatar_Atk_2xCombo05_Motion.npy │ │ ├── RL_Avatar_Atk_3xCombo01_Motion.npy │ │ ├── RL_Avatar_Atk_3xCombo02_Motion.npy │ │ ├── RL_Avatar_Atk_3xCombo03_Motion.npy │ │ ├── RL_Avatar_Atk_3xCombo04_Motion.npy │ │ ├── RL_Avatar_Atk_3xCombo05_Motion.npy │ │ ├── RL_Avatar_Atk_3xCombo06_Motion.npy │ │ ├── RL_Avatar_Atk_3xCombo07_Motion.npy │ │ ├── RL_Avatar_Atk_4xCombo01_Motion.npy │ │ ├── RL_Avatar_Atk_4xCombo02_Motion.npy │ │ ├── RL_Avatar_Atk_4xCombo03_Motion.npy │ │ ├── RL_Avatar_Atk_Jump_Motion.npy │ │ ├── RL_Avatar_Atk_Kick_Motion.npy │ │ ├── RL_Avatar_Atk_ShieldCharge_Motion.npy │ │ ├── RL_Avatar_Atk_ShieldSwipe01_Motion.npy │ │ ├── RL_Avatar_Atk_ShieldSwipe02_Motion.npy │ │ ├── RL_Avatar_Atk_SlashDown_Motion.npy │ │ ├── RL_Avatar_Atk_SlashLeft_Motion.npy │ │ ├── RL_Avatar_Atk_SlashRight_Motion.npy │ │ ├── RL_Avatar_Atk_SlashUp_Motion.npy │ │ ├── RL_Avatar_Atk_Spin_Motion.npy │ │ ├── RL_Avatar_Atk_Stab_Motion.npy │ │ ├── RL_Avatar_Counter_Atk01_Motion.npy │ │ ├── RL_Avatar_Counter_Atk02_Motion.npy │ │ ├── RL_Avatar_Counter_Atk03_Motion.npy │ │ ├── RL_Avatar_Counter_Atk04_Motion.npy │ │ ├── RL_Avatar_Counter_Atk05_Motion.npy │ │ ├── RL_Avatar_Dodge_Backward_Motion.npy │ │ ├── RL_Avatar_Dodgle_Left_Motion.npy │ │ ├── RL_Avatar_Dodgle_Right_Motion.npy │ │ ├── RL_Avatar_Fall_Backward_Motion.npy │ │ ├── RL_Avatar_Fall_Left_Motion.npy │ │ ├── RL_Avatar_Fall_Right_Motion.npy │ │ ├── RL_Avatar_Fall_SpinLeft_Motion.npy │ │ ├── RL_Avatar_Fall_SpinRight_Motion.npy │ │ ├── RL_Avatar_Idle_Alert(0)_Motion.npy │ │ ├── RL_Avatar_Idle_Alert_Motion.npy │ │ ├── RL_Avatar_Idle_Battle(0)_Motion.npy │ │ ├── RL_Avatar_Idle_Battle_Motion.npy │ │ ├── RL_Avatar_Idle_Ready(0)_Motion.npy │ │ ├── RL_Avatar_Idle_Ready_Motion.npy │ │ ├── RL_Avatar_Kill_2xCombo01_Motion.npy │ │ ├── RL_Avatar_Kill_2xCombo02_Motion.npy │ │ ├── RL_Avatar_Kill_3xCombo01_Motion.npy │ │ ├── RL_Avatar_Kill_3xCombo02_Motion.npy │ │ ├── RL_Avatar_Kill_4xCombo01_Motion.npy │ │ ├── RL_Avatar_RunBackward_Motion.npy │ │ ├── RL_Avatar_RunForward_Motion.npy │ │ ├── RL_Avatar_RunLeft_Motion.npy │ │ ├── RL_Avatar_RunRight_Motion.npy │ │ ├── RL_Avatar_Shield_BlockBackward_Motion.npy │ │ ├── RL_Avatar_Shield_BlockCrouch_Motion.npy │ │ ├── RL_Avatar_Shield_BlockDown_Motion.npy │ │ ├── RL_Avatar_Shield_BlockLeft_Motion.npy │ │ ├── RL_Avatar_Shield_BlockRight_Motion.npy │ │ ├── RL_Avatar_Shield_BlockUp_Motion.npy │ │ ├── RL_Avatar_Standoff_Circle_Motion.npy │ │ ├── RL_Avatar_Standoff_Feint_Motion.npy │ │ ├── RL_Avatar_Standoff_Swing_Motion.npy │ │ ├── RL_Avatar_Sword_ParryBackward01_Motion.npy │ │ ├── RL_Avatar_Sword_ParryBackward02_Motion.npy │ │ ├── RL_Avatar_Sword_ParryBackward03_Motion.npy │ │ ├── RL_Avatar_Sword_ParryBackward04_Motion.npy │ │ ├── RL_Avatar_Sword_ParryCrouch_Motion.npy │ │ ├── RL_Avatar_Sword_ParryDown_Motion.npy │ │ ├── RL_Avatar_Sword_ParryLeft_Motion.npy │ │ ├── RL_Avatar_Sword_ParryRight_Motion.npy │ │ ├── RL_Avatar_Sword_ParryUp_Motion.npy │ │ ├── RL_Avatar_Taunt_PoundChest_Motion.npy │ │ ├── RL_Avatar_Taunt_Roar_Motion.npy │ │ ├── RL_Avatar_Taunt_ShieldKnock_Motion.npy │ │ ├── RL_Avatar_TurnLeft180_Motion.npy │ │ ├── RL_Avatar_TurnLeft90_Motion.npy │ │ ├── RL_Avatar_TurnRight180_Motion.npy │ │ ├── RL_Avatar_TurnRight90_Motion.npy │ │ ├── RL_Avatar_WalkBackward01_Motion.npy │ │ ├── RL_Avatar_WalkBackward02_Motion.npy │ │ ├── RL_Avatar_WalkForward01_Motion.npy │ │ ├── RL_Avatar_WalkForward02_Motion.npy │ │ ├── RL_Avatar_WalkLeft01_Motion.npy │ │ ├── RL_Avatar_WalkLeft02_Motion.npy │ │ ├── RL_Avatar_WalkRight01_Motion.npy │ │ ├── RL_Avatar_WalkRight02_Motion.npy │ │ └── dataset_reallusion_sword_shield.yaml │ ├── ma_ant_battle.py │ ├── ma_ant_sumo.py │ └── ma_humanoid_strike.py ├── train.py └── utils/ ├── config.py ├── gym_util.py ├── logger.py ├── motion_lib.py ├── reformat.py ├── rlgames_utils.py ├── torch_jit_utils.py ├── torch_utils.py ├── utils.py ├── vec_task.py └── vec_task_wrappers.py