Exemple #1
0
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>
        /// MergeAllDecals
        /// # Merge all decals in scene
        /// </summary>
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
        void MergeAllDecals()
        {
            GenericMeshDecal[] actualDecalsInSceneList = (GenericMeshDecal[])GameObject.FindObjectsOfType(typeof(GenericMeshDecal));

            List <GameObject> actualDecalsInSceneGameObjectList = new List <GameObject> ();

            for (int i = 0; i < actualDecalsInSceneList.Count(); i++)
            {
                Undo.RegisterFullObjectHierarchyUndo(actualDecalsInSceneList [i], "Merge decals: delete originals");

                GenericMeshDecal actualDecal = actualDecalsInSceneList [i].gameObject.GetComponent <GenericMeshDecal> ();

                if (actualDecal)
                {
                    actualDecalsInSceneGameObjectList.Add(actualDecal.gameObject);
                }
            }

            if (actualDecalsInSceneGameObjectList.Count > 0)
            {
                MeshMergerer.Merge(actualDecalsInSceneGameObjectList, mergedObjectName, deleteOldDecals);
            }
            else
            {
                EditorUtility.DisplayDialog("ERROR", "There are not decals in scene", "OK");
            }
        }
Exemple #2
0
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>
        /// MergeActualSelectedDecals
        /// # Merge actual selected decals into one
        /// </summary>
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
        void MergeActualSelectedDecals()
        {
            List <GameObject> selectedMeshDecalsList = new List <GameObject> ();

            for (int i = 0; i < Selection.gameObjects.Count(); i++)
            {
                GenericMeshDecal actualSelectedDecal = Selection.gameObjects [i].GetComponent <GenericMeshDecal> ();

                if (actualSelectedDecal)
                {
                    selectedMeshDecalsList.Add(actualSelectedDecal.gameObject);
                }
            }

            if (selectedMeshDecalsList.Count > 0)
            {
                MeshMergerer.Merge(selectedMeshDecalsList, mergedObjectName, deleteOldDecals);
            }
            else
            {
                EditorUtility.DisplayDialog("ERROR", "You need a texture to create a decal", "OK");
            }
        }