Skocz do zawartości

Featured Replies

Napisano

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]

  • Odpowiedzi 3
  • Wyświetleń 1,6k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

Co siedzi w funkcji FindRootObj? Po jej usunieciu obiekt klonowany pozostaje na miejscu a przesuwana jest kopia.

Napisano
  • 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 przez guru

Napisano

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

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności