Jump to content

Szczwana selekcja - Pytanie do PROuserów :)


Juzwa
 Share

Recommended Posts

Witam,

 

Mam kilkadziesiac elementow. Kazdy ma inny kształt. Kazdy sklada sie z kilku tysiecy mniejszych fragmentów (pocietych w RayFire). Potrzeba mi z nich zdjąć "warstwe zewnętrzną". Glowie sie nad tym od wczoraj i mysle ze trzeba bedzie zahaczyc o maxscript, jednak nie wiem zbytnio jaki utworzyc warunek selekcji. Jednak wolalbym maxscripta nei ruszac, nie jestem w tym biegly. Reczne usuwanie to kilkudniowe katorga. Oto screen o co mi dokladnie chodzi (oproszczone oczywiscie, interesuje mnie by pozostaly tylko elementy czerwone):

 

przedpo.png

 

 

Uploaded with ImageShack.us

Link to comment
Share on other sites

Jezeli to co chcesz zaznaczyc ma konkretny material (jesli rayfire przydziela nowe dla partii wewnetrznych, zniszonych), to mozesz po materiale.

 

Mozesz zaznaczac obiekty w czasie animacji?

 

Rayfire moze ewentulanie przydzielic material nowo powstalym elementom przy cieciu, bez zadnych warunkow niestety.

 

Moge wybierac sobie obiekty podczas animacji. Chcialbym wlasnie tego uniknac bo to paskudna reczna robota i zajelaby mi prawdopodobnie caly weekend :)

 

- - - Połączono posty - - -

 

Licze bardziej na cos w stylu: select visible to camera :)

 

P.S. ten czerwony kolor to do podgladu o co mi chodzi

Link to comment
Share on other sites

Cześć.

 

Nie bardzo wiem w jakiej to jest formie, ale jakbyś połączył to wszystko w jeden obiekt editable poly, zaznaczył sub-object "element" i pobawił się zaznaczaniem z "ignore backfacing" to może coś z tego wyjdzie?

Strzelam, nie wiem czy to się uda- a nie mam jak sprawdzić w tym momencie ;)

 

albo jeszcze inaczej - zaznacz sobie widoczne polygony (właśnie za pomocą ignore backfacing) i potem ctrl + click na podgrupę "element".

Link to comment
Share on other sites

@Miłosz3ds - Tez tak myslalem z poczatku. Jednak ignore backfacing to jest troszke inna opcja i zwraca tylko uwage, w ktora strone patrza fejsy. W efekcie zaznaczasz fejsy patrzace w strone kamery, a nie widoczne w kamerze - pamietam ze mialem kiedys z tym juz problem.

Link to comment
Share on other sites

Cholera, masz rację. Pomyliłem kwestię - myślałem, że rzeczywiście są interpretowane fejsy od strony kamery, ale byłem przekonany, że działa to też na przysłaniające się polygony - tzn. jak jeden zasłania drugi - to ten zasłonięty nie jest zaznaczany.

Mój błąd. Pomyślę jeszcze i jak na coś wpadnę to napisze, pozdrawiam! :)

Link to comment
Share on other sites

Heh, wyobrazam sobie, ze jakis skrypt sprawdza bounding box calego obiektu, pozniej kazdego fragmentu i ich polozenia w przestrzeni. Na zasadzie porownania wspolrzednych zaznacza te, ktore sa najblizej krawedzi obiektu, zdejmujac zewnetrzna warstwe;)

 

Duza abstrakcja ;)

Link to comment
Share on other sites

Udało się! Odpowiedz znaleziona na AreaAutodesk, Oto rezultat i o co mi chodzilo:

 

dzialae.png

 

Naprawde ciekawe, prawda? Oto skrypt, który dokładnia działa jak "Select Visible" - juz wyladowal u mnie na shelfie.

 

-----------------------

visobj = #()

 

for obj = 1 to $objects.count do

(

$objects[obj].gbufferChannel = obj

)

 

preferences.maximumGBufferLayers = 1

bitmapsize = 320

bm = bitmap bitmapsize bitmapsize channels:#(#objectID)

render bitmapsize bitmapsize to:bm channels:#(#objectID)

 

for j=0 to bitmapsize-1 do

(

for k=0 to bitmapsize-1 do

(

Test = getchannel bm [j,k] #objectID

TestString = Test as string

TestString = trimleft TestString "#("

TestString = trimright TestString ")"

testasnumber = TestString as integer

if (TestString !="0") then(appendIfUnique visobj $objects[testasnumber])

)

)

select visobj

-------------------------------------

 

P.S. http://area.autodesk.com/forum/autodesk-3ds-max/maxscript/solved-select-objects-visible-to-camera/page-1/ a to link z calym tematem

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy