Napisano 31 Maj 201014 l Mam taki skrypcik jak ponize. Dziala ale mam problem. Bo klon pozostaje na swoim miejscu a obiekt ktory klonuje jest przemieszczany mimo tego ze w kodzie jest wszystko ok;/. Jak to mozliwe? Blagam o pomoc. Linia nr 5 tworzy kopie ale jak zagladam do tablicy to ma taka sama nazwe jak obiekt ktory klonuje.a potem nagle po zakonczeniu skryptu nazwy sa uzupelniane o numerek na koncu. No ale mirrorowany jest nie ten obiekt co trzeba. clones = #() a= selection[1] rot = a.rotation pos = a.position maxOps.cloneNodes a expandHierarchy:true actualNodeList:&objs newNodes:&clones --kopiuje cala hierarchie (dzieci) ***opcjonalne c = FindRootObj clones b = c[1] b.parent = undefined --opcjonalne b.rotation = (quat rot.x -rot.y -rot.z rot.w) b.position = pos*[-1,1,1]
Napisano 31 Maj 201014 l Co siedzi w funkcji FindRootObj? Po jej usunieciu obiekt klonowany pozostaje na miejscu a przesuwana jest kopia.
Napisano 1 Czerwiec 201014 l Autor znajduje rodzica polozonego najwyzej w hierarchi z danej tablicy fn FindRootObj curSel= ( local rootObjs = #() curSel = #() curSel = getCurrentSelection() for x in curSel do ( local parentSelected = false local next =false local curObj = x while next==false do ( if curObj.parent == undefined then ( next = true ) else if finditem curSel curObj.parent != 0 then ( parentSelected = true next = true ) else curObj = curObj.parent ) if parentSelected==false then append rootObjs x ) return rootObjs ) Edytowane 1 Czerwiec 201014 l przez guru
Napisano 1 Czerwiec 201014 l Problem rozwiązany na gg, dla chętnych gotowy kod: fn FindRootObj curSel= ( local rootObjs = #() for x in curSel do ( local parentSelected = false local next =false local curObj = x while next==false do ( if curObj.parent == undefined then ( next = true ) else if finditem curSel curObj.parent != 0 then ( parentSelected = true next = true ) else curObj = curObj.parent ) if parentSelected==false then append rootObjs x ) return rootObjs ) clones = #() a= selection[1] rot = a.rotation pos = a.position maxOps.cloneNodes a expandHierarchy:true actualNodeList:&objs newNodes:&clones --kopiuje cala hierarchie (dzieci) ***opcjonalne c = FindRootObj clones b = c[1] b.parent = undefined --opcjonalne b.rotation = (quat rot.x -rot.y -rot.z rot.w) b.position = pos*[-1,1,1] Błąd był w funkcji FindRootObj.
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto