Exemple #1
0
    //////////////////////////////////////////////////////////////////////
    /////////////////////       VertexVertex      ///////////////////////
    //////////////////////////////////////////////////////////////////////
    //패스의 평균치를 구해서 버텍스 할당 뷰어
    #region 패스 평균이 구해서 버텍스 할당 하는기능
    void Viewer_VertexPos(MotionPath.PathInfoData GetPathInfo)
    {
        GUIStyle VertCountFont = new GUIStyle();

        VertCountFont.normal.textColor = Color.green;
        VertCountFont.fontStyle        = FontStyle.Bold;
        VertCountFont.alignment        = TextAnchor.UpperCenter;
        VertCountFont.fontSize         = 18;
        GUI.backgroundColor            = new Color(0.75f, 0.75f, 0.75f, 1);
        GUILayout.BeginVertical("GroupBox");
        EditorGUILayout.LabelField("Count : " + GetPathInfo.VertexPos.Length.ToString(), VertCountFont, GUILayout.MinHeight(18));
        GUILayout.EndVertical();
        GUI.backgroundColor = GUI.color;

        //값 변경시 업데이트
        EditorGUI.BeginChangeCheck();
        GetPathInfo.Vertex_AutoUpdate = EditorGUILayout.Toggle("Vertex_AutoUpdate", GetPathInfo.Vertex_AutoUpdate);
        GetPathInfo.Vertex_Detail     = EditorGUILayout.IntSlider("Vertex_Detail(Average)", GetPathInfo.Vertex_Detail, 1, 100);
        GetPathInfo.Vertex_Distance   = EditorGUILayout.Slider("Vertex_Distance", GetPathInfo.Vertex_Distance, 0.01f, 1);
        if (EditorGUI.EndChangeCheck())
        {
            if (GetPathInfo.Vertex_AutoUpdate)
            {
                CountVertexPos(GetPathInfo);
            }
        }

        //버텍스 수정모드
        #region
        EditorGUI.BeginChangeCheck();
        GetPathInfo.EditMode = EditorGUILayout.Toggle("Vertex EditMode", GetPathInfo.EditMode);
        if (GetPathInfo.EditMode)
        {
            GUILayout.BeginVertical("GroupBox");

            //폰트 스타일
            GUIStyle InputFrontStyle = new GUIStyle();
            InputFrontStyle.fontStyle        = FontStyle.Bold;
            InputFrontStyle.normal.textColor = Color.green;
            InputFrontStyle.alignment        = TextAnchor.MiddleCenter;

            EditorGUILayout.LabelField("버텍스 수정모드는 상단의 값들 수정 시 버텍스가 초기화 됩니다.", InputFrontStyle);
            GUILayout.EndHorizontal();
        }
        if (EditorGUI.EndChangeCheck())
        {
            SceneView.RepaintAll(); //에딧모드 수정 시
        }
        #endregion


        if (!GetPathInfo.Vertex_AutoUpdate)
        {
            if (GUILayout.Button("라인의 평균 버텍스 거리값 계산"))
            {
                CountVertexPos(GetPathInfo);
            }
        }
    }
Exemple #2
0
 //평균 거리값 계산
 void CountVertexPos(MotionPath.PathInfoData GetPathInfo)
 {
     GetPathInfo.VertexPos = GetVertexPos(GetPathInfo.PathPos, GetPathInfo.Vertex_Detail, GetPathInfo.Vertex_Distance);
     SceneView.RepaintAll();
 }