import os import sys import RLPy import math sys.dont_write_bytecode=True #-- torso_bone_name_list = [ "RL_Hips", "RL_Pelvis", "RL_Waist", "RL_Spine01", "RL_Spine02", "RL_L_Ribs", "RL_R_Ribs"] --# def do_main(): avatar_list = RLPy.RScene.GetAvatars() avatar = avatar_list[0] motion_bone = avatar.GetSkeletonComponent().GetMotionBones() #-- Get First Clip --# animation_clip = avatar.GetSkeletonComponent().GetClip(0) #-- Find torso bone --# for bone in motion_bone: if bone.GetName() == "RL_Hips": #-- Get Key from Layer --# hips_control = animation_clip.GetControl("Layer", bone) data_block = hips_control.GetDataBlock() # Set position: only works for "RL_Hips"# float_control_translate_x = data_block.GetControl("Position/PositionX") float_control_translate_x.SetValue(RLPy.RGlobal.GetTime(), 10) float_control_translate_y = data_block.GetControl("Position/PositionY") float_control_translate_y.SetValue(RLPy.RGlobal.GetTime(), 20) float_control_translate_z = data_block.GetControl("Position/PositionZ") float_control_translate_z.SetValue(RLPy.RGlobal.GetTime(), 50) # Set rotation: works for all torso bones # #float_control_rotate_x = data_block.GetControl("Rotation/RotationX") #float_control_rotate_x.SetValue(RLPy.RGlobal.GetTime(), math.radians(90)) #float_control_rotate_y = data_block.GetControl("Rotation/RotationY") #float_control_rotate_y.SetValue(RLPy.RGlobal.GetTime(), math.radians(90)) #float_control_rotate_z = data_block.GetControl("Rotation/RotationZ") #float_control_rotate_z.SetValue(RLPy.RGlobal.GetTime(), math.radians(90)) #-- Update timeline --# RLPy.RGlobal.Stop() RLPy.RGlobal.SetTime(RLPy.RGlobal.GetTime()) def run_script(): do_main()