public CharaController(CharaConfiguration chara, Configuration config, GameObject[] objs, bool debug = false) { _chara = chara; _config = config; _objs = objs; _joints = new ConfigurableJoint[_objs.Length]; _rigs = new Rigidbody[_objs.Length]; _init_rot = new Quaternion[_objs.Length]; _target_rot = new Quaternion[_objs.Length]; _target_pos = new Vector3[_objs.Length]; _debug = debug; for (int i = 0; i < _objs.Length; ++i) { _rigs[i] = _objs[i].GetComponent<Rigidbody>(); /* if (_debug) _rigs[i].isKinematic = true; */ _init_rot[i] = _objs[i].transform.localRotation; _target_rot[i] = _init_rot[i]; _joints[i] = _objs[i].GetComponent<ConfigurableJoint>(); } InitializeJoints(); }
/* constructor */ public MotionGenerator(CharaConfiguration chara, Configuration config, bool debug = false) { _chara = chara; _config = config; _debug = debug; _root_joint = _chara.root.GetComponent<ConfigurableJoint>(); }
// Constructor public LimbsController(CharaConfiguration chara, Configuration config, GameObject[] objs, bool debug = false) : base(chara, config, objs, debug) { ctrl_count = ctrl_count % 2; ctrl_id = ctrl_count++; velocity_filter = new Vector3[filter_size]; for (int i = 0; i < filter_size; ++i) velocity_filter[i] = Vector3.zero; }
public ArmsController(CharaConfiguration chara, Configuration config, GameObject[] objs, bool debug = false) : base(chara, config, objs, debug) { ctrl_id = ctrl_count++; }
void Start() { // Configuration _config = new Configuration(gameObject.transform.localScale.x); // Character setup List<GameObject[]> body_list = new List<GameObject[]>(); body_list.Add(arm_l); body_list.Add(arm_r); body_list.Add(body); List<GameObject[]> limbs_list = new List<GameObject[]>(); limbs_list.Add(leg_l); limbs_list.Add(leg_r); _chara = new CharaConfiguration(_config, root.GetComponent<Rigidbody>(), body_list, limbs_list, debug); _motion_generator = new MotionGenerator(_chara, _config, debug); _desired_direction = Vector3.zero; /* if (debug) root.GetComponent<Rigidbody>().isKinematic = true; */ }