ResetControlPointPositions() public method

public ResetControlPointPositions ( ) : void
return void
Ejemplo n.º 1
0
    public override void OnInspectorGUI()
    {
        Skin2D skin = (Skin2D)target;

        DrawDefaultInspector();

        EditorGUILayout.Separator();

        /* Moved to skeleton for multiple Skin2D
         * if (skin.selectedBones != null && skin.GetComponent<MeshFilter>().sharedMesh != null && GUILayout.Button("Calculate weights")) {
         * skin.CalculateBoneWeights();
         * }*/

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Save as Prefab"))
        {
            skin.SaveAsPrefab();
        }

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Recalculate Bone Weights"))
        {
            skin.RecalculateBoneWeights();
        }

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Create Control Points"))
        {
            ControlPoint.CreateControlPoints(skin.GetComponent <SkinnedMeshRenderer>());
        }

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Reset Control Points"))
        {
            skin.ResetControlPointPositions();
        }
    }
Ejemplo n.º 2
0
    public override void OnInspectorGUI()
    {
        Skin2D skin = (Skin2D)target;

        DrawDefaultInspector();

        EditorGUILayout.Separator();

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Save as Prefab"))
        {
            skin.SaveAsPrefab();
        }

        EditorGUILayout.Separator();

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Recalculate Bone Weights"))
        {
            skin.RecalculateBoneWeights();
        }

        EditorGUILayout.Separator();

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Create Control Points"))
        {
            ControlPoint.CreateControlPoints(skin.GetComponent <SkinnedMeshRenderer>());
        }

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Reset Control Points"))
        {
            skin.ResetControlPointPositions();
        }

        EditorGUILayout.Separator();

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Generate Mesh Asset"))
        {
            #if UNITY_EDITOR
            ScriptableObjectUtility.CreateAsset(skin.GetComponent <SkinnedMeshRenderer>().sharedMesh);
                        #endif
        }

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMaterial != null && GUILayout.Button("Generate Material Asset"))
        {
            #if UNITY_EDITOR
            Material material = new Material(skin.GetComponent <SkinnedMeshRenderer>().sharedMaterial);
            material.CopyPropertiesFromMaterial(skin.GetComponent <SkinnedMeshRenderer>().sharedMaterial);
            skin.GetComponent <SkinnedMeshRenderer>().sharedMaterial = material;
            AssetDatabase.CreateAsset(material, "Assets/" + material.mainTexture.name + ".mat");
                        #endif
        }
    }
Ejemplo n.º 3
0
    public override void OnInspectorGUI()
    {
        Skin2D skin = (Skin2D)target;

        DrawDefaultInspector();

        EditorGUILayout.Separator();

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Save as Prefab"))
        {
            skin.SaveAsPrefab();
        }

        EditorGUILayout.Separator();

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Recalculate Bone Weights"))
        {
            skin.RecalculateBoneWeights();
        }

        EditorGUILayout.Separator();

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Create Control Points"))
        {
            ControlPoint.CreateControlPoints(skin.GetComponent <SkinnedMeshRenderer>());
        }

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Reset Control Points"))
        {
            skin.ResetControlPointPositions();
        }

        EditorGUILayout.Separator();

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Generate Mesh Asset"))
        {
            #if UNITY_EDITOR
            // Check if the Meshes directory exists, if not, create it.
            if (!Directory.Exists("Assets/Meshes"))
            {
                AssetDatabase.CreateFolder("Assets", "Meshes");
                AssetDatabase.Refresh();
            }
            ScriptableObjectUtility.CreateAsset(skin.GetComponent <SkinnedMeshRenderer>().sharedMesh, "Meshes/" + skin.gameObject.name + ".Mesh");
                        #endif
        }

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMaterial != null && GUILayout.Button("Generate Material Asset"))
        {
            #if UNITY_EDITOR
            Material material = new Material(skin.GetComponent <SkinnedMeshRenderer>().sharedMaterial);
            material.CopyPropertiesFromMaterial(skin.GetComponent <SkinnedMeshRenderer>().sharedMaterial);
            skin.GetComponent <SkinnedMeshRenderer>().sharedMaterial = material;
            if (!Directory.Exists("Assets/Materials"))
            {
                AssetDatabase.CreateFolder("Assets", "Materials");
                AssetDatabase.Refresh();
            }
            AssetDatabase.CreateAsset(material, "Assets/Materials/" + material.mainTexture.name + ".mat");
            Debug.Log("Created material " + material.mainTexture.name + " for " + skin.gameObject.name);
                        #endif
        }
    }
Ejemplo n.º 4
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        EditorGUILayout.Separator();

        if (GUILayout.Button("Toggle Mesh Outline"))
        {
            Skin2D.showMeshOutline = !Skin2D.showMeshOutline;
        }

        EditorGUILayout.Separator();

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Save as Prefab"))
        {
            skin.SaveAsPrefab();
        }

        EditorGUILayout.Separator();

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Recalculate Bone Weights"))
        {
            skin.RecalculateBoneWeights();
        }

        EditorGUILayout.Separator();
        handleColor = EditorGUILayout.ColorField("Handle Color", handleColor);
        changedBaseSelectDistance = EditorGUILayout.Slider("Handle Size", baseSelectDistance, 0, 1);
        if (baseSelectDistance != changedBaseSelectDistance)
        {
            baseSelectDistance = changedBaseSelectDistance;
            EditorUtility.SetDirty(this);
            SceneView.RepaintAll();
        }

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Create Control Points"))
        {
            skin.CreateControlPoints(skin.GetComponent <SkinnedMeshRenderer>());
        }

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Reset Control Points"))
        {
            skin.ResetControlPointPositions();
        }

        if (skin.points != null && skin.controlPoints != null && skin.controlPoints.Length > 0 &&
            selectedIndex != -1 && GUILayout.Button("Reset Selected Control Point"))
        {
            skin.controlPoints[selectedIndex].ResetPosition();
            skin.points.SetPoint(skin.controlPoints[selectedIndex]);
        }

        if (GUILayout.Button("Remove Control Points"))
        {
            skin.RemoveControlPoints();
        }

        EditorGUILayout.Separator();

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMesh != null && GUILayout.Button("Generate Mesh Asset"))
        {
            #if UNITY_EDITOR
            // Check if the Meshes directory exists, if not, create it.
            if (!Directory.Exists("Assets/Meshes"))
            {
                AssetDatabase.CreateFolder("Assets", "Meshes");
                AssetDatabase.Refresh();
            }
            Mesh mesh = new Mesh();
            mesh.name      = skin.GetComponent <SkinnedMeshRenderer>().sharedMesh.name.Replace(".SkinnedMesh", ".Mesh");;
            mesh.vertices  = skin.GetComponent <SkinnedMeshRenderer>().sharedMesh.vertices;
            mesh.triangles = skin.GetComponent <SkinnedMeshRenderer>().sharedMesh.triangles;
            mesh.normals   = skin.GetComponent <SkinnedMeshRenderer>().sharedMesh.normals;
            mesh.uv        = skin.GetComponent <SkinnedMeshRenderer>().sharedMesh.uv;
            mesh.uv2       = skin.GetComponent <SkinnedMeshRenderer>().sharedMesh.uv2;
            mesh.bounds    = skin.GetComponent <SkinnedMeshRenderer>().sharedMesh.bounds;
            ScriptableObjectUtility.CreateAsset(mesh, "Meshes/" + skin.gameObject.name + ".Mesh");
                        #endif
        }

        if (skin.GetComponent <SkinnedMeshRenderer>().sharedMaterial != null && GUILayout.Button("Generate Material Asset"))
        {
            #if UNITY_EDITOR
            Material material = new Material(skin.GetComponent <SkinnedMeshRenderer>().sharedMaterial);
            material.CopyPropertiesFromMaterial(skin.GetComponent <SkinnedMeshRenderer>().sharedMaterial);
            skin.GetComponent <SkinnedMeshRenderer>().sharedMaterial = material;
            if (!Directory.Exists("Assets/Materials"))
            {
                AssetDatabase.CreateFolder("Assets", "Materials");
                AssetDatabase.Refresh();
            }
            AssetDatabase.CreateAsset(material, "Assets/Materials/" + material.mainTexture.name + ".mat");
            Debug.Log("Created material " + material.mainTexture.name + " for " + skin.gameObject.name);
                        #endif
        }
    }