mirror of
https://github.com/gosticks/body-pose-animation.git
synced 2025-10-16 11:45:42 +00:00
70 lines
1.2 KiB
Python
70 lines
1.2 KiB
Python
# library imports
|
|
import numpy as np
|
|
import time
|
|
# local imports
|
|
from renderer import DefaultRenderer
|
|
from model import SMPLyModel
|
|
from utils.general import load_config
|
|
|
|
# this a simple pose playground with a async renderer for quick prototyping
|
|
|
|
# load and select sample
|
|
config = load_config()
|
|
model = SMPLyModel.model_from_conf(config)
|
|
# try changing angles
|
|
pose = model.body_pose
|
|
|
|
initial_pose = model.body_pose.detach().clone()
|
|
|
|
# left elbow
|
|
# pose[:, 56] = -np.pi / 2
|
|
# # right elbow
|
|
# pose[:, 53] = np.pi / 2
|
|
# # left knee
|
|
# pose[:, 12] = np.pi / 2
|
|
# # right knee
|
|
# pose[:, 9] = np.pi / 2
|
|
|
|
# right knee
|
|
|
|
# back x axis rotation
|
|
#pose[:, 24] = np.pi / 2
|
|
# back y axis rotation
|
|
#pose[:, 25] = np.pi / 2
|
|
|
|
# back left rotation
|
|
#pose[:, 26] = np.pi / 2
|
|
|
|
# back left rotation
|
|
# pose[:, 1] = np.pi / 2
|
|
|
|
pose[:, 37] = -np.pi / 2
|
|
pose[:, 40] = np.pi / 2
|
|
|
|
|
|
model_out = model(
|
|
pose=pose
|
|
)
|
|
|
|
r = DefaultRenderer()
|
|
r.setup(
|
|
model,
|
|
model_out=model_out
|
|
)
|
|
|
|
r.start()
|
|
|
|
# for angle_idx in range(len(pose[0])):
|
|
|
|
# print("angle:", str(angle_idx))
|
|
|
|
# pose_copy = initial_pose.detach().clone()
|
|
# pose_copy[:, angle_idx] = np.pi / 2
|
|
# model_out = model(
|
|
# body_pose=pose_copy
|
|
# )
|
|
|
|
# r.render_model(model, model_out)
|
|
|
|
# time.sleep(1)
|