Napisano 3 Kwiecień 201410 l Czy ktos wie jak z poziomy Maxscriptu usnac dany Render element ? Chcialem tylko zazynaczyc ze chodzi tu o Vray'owy render element(np. VRayZdepth) bo maxowa komenda ".RemoveRenderElement" nie dziala z vrayowymi render elementami. Dzieks
Napisano 3 Kwiecień 201410 l W case wstawiasz typy do usunięcia: vrayRenderElements = MaxOps.GetCurRenderElementMgr() doUsuniecia = #() iloscElementow = vrayRenderElements.NumRenderElements() for i = 0 to iloscElementow-1 do ( element = vrayRenderElements.GetRenderElement i case (classOf element) of ( VRayZdepth: append doUsuniecia element ) ) while (doUsuniecia.count > 0) do ( vrayRenderElements.removeRenderElement doUsuniecia[1] deleteItem doUsuniecia 1 ) Edytowane 3 Kwiecień 201410 l przez Tamyl91
Napisano 3 Kwiecień 201410 l Autor Dzieki Tamyl91, dziala jak trzeba :) Po tym co masz na stronce widze, ze troche ogarniasz maxscripta ;). Moglbys mi wiec wytlumaczyc dlaczego kiedy chcialem usunac cos z listy bezposrednio poprzez .removeRenderElement VrayZDepth wywalalo blad "Unable to convert: VRayZDepth to type: MaxObject" a kiedy wrzuci sie to do tablicy to nie ma z tym problemu, a przeciez to wciaz ten sam obiekt (VrayZdepth render element) ? Jeszcze raz dzieki ! Pozdr
Napisano 3 Kwiecień 201410 l Coś musisz mieć nie tak, bo w taki sposób też musi działać: vrayRenderElements = MaxOps.GetCurRenderElementMgr() element = vrayRenderElements.GetRenderElement 0 vrayRenderElements.removeRenderElement element Trick z tablicą jest tylko po to, by móc usunąć wiele elementów za jednym razem, każdorazowe usunięcie zmienia całą indeksację elementów, więc usuwanie ich bezpośrednio w pętli przeszukującej tworzyłoby pewne komplikacje.
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto