- Home /
Answer by save · Jul 18, 2013 at 05:05 PM
To remove a lot of duplicates, in the meaning of being in the same position with the same name, here's an editor script. Create a folder called Editor and create a new JS file, name it RemoveDuplicates. Use this with care and backup your project before using this script. You will find the extension under Window/Remove Duplicates In Same Position.
#pragma strict
import System.Collections.Generic;
class RemoveDuplicates extends EditorWindow {
static var objectList : List.<GameObject>;
@MenuItem ("Window/Remove Duplicates In Same Position")
static function ShowWindow () {
EditorWindow.GetWindow (RemoveDuplicates);
objectList = new List.<GameObject>();
}
function OnGUI () {
if (objectList.Count>0) {
if (GUILayout.Button("Destroy duplicates"))
DestroyDuplicates();
GUILayout.Label("Found "+objectList.Count+" objects to remove.");
} else {
if (GUILayout.Button("Find duplicates.."))
FindDuplicates();
GUILayout.Label("No objects to remove.");
}
}
function FindDuplicates () {
objectList = new List.<GameObject>();
var gosInScene : GameObject[] = GameObject.FindObjectsOfType(GameObject);
for (var x = 0; x<gosInScene.Length; x++) {
for (var y = 0; y<gosInScene.Length; y++) {
if (y!=x) {
if (gosInScene[x].transform.position==gosInScene[y].transform.position && !objectList.Contains(gosInScene[y]) && !objectList.Contains(gosInScene[x]))
objectList.Add(gosInScene[x]);
}
}
}
}
function DestroyDuplicates () {
Undo.RegisterSceneUndo("Remove Duplicates in same position");
for (obj in objectList)
DestroyImmediate(obj);
objectList = new List.<GameObject>();
}
}
Answer by markedagain · Jul 18, 2013 at 04:19 AM
its only normal, you have overlapping vertexs. are you stacking them on top of each other? normally you have to try to stay flush to objects
I copied a lot of walls to fill a big space with them. I didn't realise that there were walls inside each other and now i get this effect. I could manualy delete the extra walls so I don't get that overlapping effect, but that would take a lot of time because there are a lot of walls.
sorry bud, you can leave them inside each other or they will just create the artifacts u presently see. hope it works out
Your answer
Follow this Question
Related Questions
View entire object when on intersection of wall 3 Answers
Why standard projector don't work currectly? 0 Answers
How to force a renderer to render with original material and a specific material 0 Answers
how not to render a layer inside of a cube 0 Answers
Hey how i can increase delay in typewriter effect when last character of full text is dots? 1 Answer