Skocz do zawartości

Featured Replies

Napisano

Witam,

 

Próbuje rozgryźć temat zastępowania materiałów. Mam wiele scen w moim archiwum które posiadają materiały standardowe Lambert, Phong etc... W większości plików materiały mają podobne nazwy jak np...

"Lambert": Drewno, Metal, Cegla, Sciana... W scenie głównej tworze bibliotekę materiałów które najczęściej stosuję o podobnych nazwach tyle tylko że w postaci "Mia_material_x_passes". Za każdym razem kiedy importuje scene Maya zamienia mi "Drewno na Drewno1 Drewno2 etc... ... Czy znacie sposób na to by importowane elementy używały już wcześniej utworzonych materiałów w senie głównej. Ewentualnie by importowanymi materiałami nadpisywać istniejące bazując tylko na nazwie materiału a nie jego typie....

 

Pozdrawiam i z góry dziękuje z pomoc...

  • Odpowiedzi 10
  • Wyświetleń 1,8k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

Ze zwyklych materialow na mia material sie nieda. A odnosnie drugiego :), ti divre pytanie gdyż sam się zastanawiałem jak to zrobic.

Pytanie czy chce zeby byly podpiete tekstury czy tez nie? Bo jak nie to mozesz dla mimaterial pozapisywac presety.

Napisano
  • Autor

Szukam cały czas po różnych forach i portalach funkcji w mel-u. Zakładam że jeśli można wyłączyć namespaces przy imporcie materiałów to pewnie też można jakoś wyłączyć auto-zmianę nazwy materiału. W sumie można by napisać skrypt który wykonywałby operacje w stylu [ jeśli widzę material zaczynajacy się na Drewno* -> rozłącz, podłącz materiał w to miejsce materiał istniejący DrewnoMia*x_passes... ] Jak znajdę na to rozwiązanie to opublikuje..

Napisano
  • Autor

Więc ( echo prawdę Ci powie....)

 

Jeśli w importowanych scenach mam SG o tych stałych nazwach np ... SG Drewno SG Metal oraz mając w scenie głównej już wcześniej zdefiniowane materiały to można użyć takiej składni:

 

"DrewnoMia" to gotowy materiał mia_x_passes

SGDrewno to SG zaimportowanego materiału

 

connectAttr -f DrewnoMia.outColor SGDrewno.surfaceShader;

 

Co w prosty sposób przypisze istniejący materiał do zaimportowanej grupy... ale to nie do końca to o co mi chodzi...

Napisano

Taki skrypt do zastępowania materiałów nie jest trudny. Pytanie czy chcesz importować materiały Mentalowe do sceny z normalnymi materiałami, czy importować scenę z mayowymi materiałami do sceny gdzie są już mentalowe materiały (co wydaje się być trochę głupie ;) ).

Napisano
  • Autor

Oczywiście importować materiały mentalowe i zastępować normalne.

czesto mam do czynienia np z generowanymi plikami z Archicada ( 3ds-) które maja te same nazwy typowych materiałów, więc co aktualizację rys. jestem zmuszony do nakładania materiałów on nowa.

Napisano

moze podlacz sobie scene bez materialow przez referencje do jakiejs pustej.

zaladuj materialy i podepnij a w kazdej kolejnej iteracji podmianiaj te zreferencjonowana scene.

Informacje o polaczeniach miedzy nodami pozostana w scenie glownej (te do ktorej ladujesz referencje). Jesli pomiedzy iteracjami nazwy obiektow pozostana niezmienne to wszystko

bedzie pieknie działac.

Napisano
  • Autor

Znalazłem przed chwilą skrypt który całkowicie rozwiązuje temat. Polecam "reducematerial"

Wystarczy w importowanej scenie wyłączyć namespaces, podać name "IMP" dla Clashing nodes i gotowe.

Nie zależnie od typu materiału zamienia go automatycznie na utworzony wcześniej materiał o identycznej nazwie :D :cool:

 

http://www.thomashamilton.org/MelScript.html

Napisano
  • Autor

@Creator jeśli znasz inne równie dobre rozwiązanie to proszę... skrypt który znalazłem wymaga by materiały importowane miały identycznyne nazwy jak te w scenie głównej, co stwarza pewne ograniczenia...

Napisano
@Creator jeśli znasz inne równie dobre rozwiązanie to proszę...

 

Ale CgBartosz Ci podał najlepsze rozwiązanie tej kwestii - bez skryptu i nie ogranicza Cie do nazewnictwa - tak się to robi produkcyjnie.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności