コード例 #1
0
        void _body_arm_straight()
        {
            Head.goto_straight();
            SpineU.goto_straight();
            if (m_left_arm_active)
            {
                LUArm.goto_straight();
                LFArm.goto_straight();
                if (m_right_arm_active)
                {
                    RUArm.goto_straight();
                    RFArm.goto_straight();
                }
                else
                {
                    right_arm_freeze_state();
                }
            }
            else               // только m_right_arm_active
            {
                RUArm.goto_straight();
                RFArm.goto_straight();
                left_arm_freeze_state();
            }

            if (_spine_circle.enabled)
            {
                finish_roll();
            }
            if (m_relaxed)
            {
                m_relaxed = false;
            }
            if (m_arm_grouped)
            {
                m_arm_grouped = false;
            }
            _need_arm_act = e_need_action.nothing;
        }
コード例 #2
0
        void _body_arm_group()
        {
            if (m_arm_grouped && m_leg_grouped)
            {
                roll(true);
            }
            else
            {
                if (m_left_arm_active)
                {
                    LUArm.goto_group();
                    LFArm.goto_group();

                    if (m_right_arm_active)
                    {
                        Head.goto_group();
                        SpineU.goto_group();
                        RUArm.goto_group();
                        RFArm.goto_group();
                    }
                }
                else if (m_right_arm_active)
                {
                    RUArm.goto_group();
                    RFArm.goto_group();
                }

                m_arm_grouped = true;
                if (m_leg_grouped)
                {
                    start_roll();
                }
            }
            if (m_relaxed)
            {
                m_relaxed = false;
            }
            _need_arm_act = e_need_action.nothing;
        }
コード例 #3
0
        void _body_arm_direct()
        {
            if (_spine_circle.enabled)
            {
                finish_roll();
            }

            /*for (_iii = 0; _iii < 6; ++_iii)
             *  m_joints[_iii].direct(m_dir_arm);*/


            Head.apply_target_angle(0f);
            if (m_left_arm_active)
            {
                _aaa = custom_direct_arm(LUArm, LFArm, m_dir_arm);
                if (m_right_arm_active)
                {
                    RUArm.apply_target_angle(LUArm.target_angle);
                    RFArm.apply_target_angle(LFArm.target_angle);
                }
                else
                {
                    right_arm_freeze_state();
                }
            }
            else   // только m_right_arm_active
            {
                _aaa = custom_direct_arm(RUArm, RFArm, m_dir_arm);
                left_arm_freeze_state();
            }
            SpineU.apply_target_angle(_aaa, true);
            m_arm_grouped = false;
            if (m_relaxed)
            {
                m_relaxed = false;
            }
            _need_arm_act = e_need_action.nothing;
        }