Esempio n. 1
1
    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();
    }
Esempio n. 2
0
 /* constructor */
 public MotionGenerator(CharaConfiguration chara, Configuration config, bool debug = false)
 {
     _chara = chara;
     _config = config;
     _debug = debug;
     _root_joint = _chara.root.GetComponent<ConfigurableJoint>();
 }
Esempio n. 3
0
 // 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;
 }
Esempio n. 4
0
 public ArmsController(CharaConfiguration chara, Configuration config, GameObject[] objs, bool debug = false)
     : base(chara, config, objs, debug)
 {
     ctrl_id = ctrl_count++;
 }
Esempio n. 5
0
    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;
            */
    }