コード例 #1
0
        private void Gizmos_DrawArrowGuide()
        {
            if (BaseTransform == null)
            {
                return;
            }
            if (LeadBone == null)
            {
                return;
            }

            if (_editor_arrowsAlpha > 0f)
            {
                float   d          = Vector3.Distance(LeadBone.position, BaseTransform.position);
                Vector3 arrowStart = Vector3.Lerp(BaseTransform.position, LeadBone.position, 0.7f);

                Handles.color = new Color(0.05f, 0.225f, 1f, 0.9f * _editor_arrowsAlpha);
                FGUI_Handles.DrawArrow(BaseTransform.TransformDirection(ModelForwardAxis) * d * .22f + arrowStart, Quaternion.LookRotation(BaseTransform.TransformDirection(ModelForwardAxis), BaseTransform.TransformDirection(ModelUpAxis)), d * 0.2f);

                Handles.color = new Color(0.05f, 0.8f, 0.05f, 0.75f * _editor_arrowsAlpha);
                arrowStart    = LeadBone.position + BaseTransform.TransformDirection(ModelUpAxis) * d * .285f;
                FGUI_Handles.DrawArrow(arrowStart, Quaternion.LookRotation(BaseTransform.TransformDirection(ModelUpAxis), BaseTransform.TransformDirection(ModelForwardAxis)), d * 0.15f, 4f, 0.5f);
            }

            if (_editor_arrowsAlpha > -0.1f)
            {
                _editor_arrowsAlpha -= 0.0125f;
            }
        }
コード例 #2
0
        void Gizmos_DrawArrowGuide()
        {
            if (SpineBones.Count <= 0)
            {
                return;
            }
            Transform LeadBone      = GetHeadBone();
            Transform BaseTransform = GetBaseTransform();

            if (_editor_arrowsAlpha > 0f)
            {
                float   d          = Vector3.Distance(LeadBone.position, GetBaseTransform().position);
                Vector3 arrowStart = Vector3.Lerp(GetBaseTransform().position, LeadBone.position, 0.75f);

                Handles.color = new Color(0.05f, 0.225f, 1f, 0.9f * _editor_arrowsAlpha);
                FGUI_Handles.DrawArrow(GetBaseTransform().TransformDirection(ModelForwardAxis) * d * 1.25f + arrowStart, Quaternion.LookRotation(GetBaseTransform().TransformDirection(ModelForwardAxis), BaseTransform.TransformDirection(ModelUpAxis)), d * 0.8f);

                Handles.color = new Color(0.05f, 0.8f, 0.05f, 0.75f * _editor_arrowsAlpha);
                arrowStart    = LeadBone.position + GetBaseTransform().TransformDirection(ModelUpAxis) * d * .95f;
                FGUI_Handles.DrawArrow(arrowStart, Quaternion.LookRotation(GetBaseTransform().TransformDirection(ModelUpAxis), GetBaseTransform().TransformDirection(ModelForwardAxis)), d * 0.7f, 4f, 0.5f);
            }

            if (_editor_arrowsAlpha > -0.1f)
            {
                _editor_arrowsAlpha -= 0.01f;
            }
        }