Skocz do zawartości

Rekomendowane odpowiedzi

Napisano

Z pomoca komendy filedialog2 mam zapisana sciezke do zmiennej i teraz chcialbym ja wpiąć w Image Name file noda. 2 pytanie . Jak z poziomu mela zmienic atrybut color space na np.: RAW. Czytam technical notes ale mi nie wychodzi.

  • Odpowiedzi 19
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano (edytowane)

Zpierwszym juz sobie poradzilem:

select $file;

 

AEfileTextureBrowser ("AEassignTextureCB " + $file[0] + ".fileTextureName") $file[0] image;

 

Pozostaje drugie.

Wydaje mi sie ze trzeba uzyc tej komendy ale nie wiem jak.

setColorSpaceAttrCB

Edytowane przez Sebazx6r
Napisano

select $file;

AEfileTextureBrowser ("AEassignTextureCB " + $file[0] + ".fileTextureName") $file[0] image;

 

Tak nie rób :)

 

 

setAttr -type "string" file3.ftn "dupa.jpg";

setAttr -type "string" file3.colorSpace "Raw";

Napisano

Tak tez mam zamiar to zmienić na opendialog i setAttr. A jaka jest wada takiego postepowania? A z tym kolor RAW to już sobie tez poradziłem :). Dzieki mimo wszystko. Wrqtce mysle z przesiadka na pythona. Z drugiej strony przydalby się melowy tutek do layout u jakiegoś ladniejszego ;).

 

 

Potem zmienie komendę na opendialog.

Napisano

siema Seba.

Monsieur praetorian pisze " Tak nie rób :) "

I pytasz " A jaka jest wada takiego postepowania? " .

 

Nawet nie chodzi o wady, ale dla testu... wystartuj majkę na nowo (zrestartuj) i odpal melowską komendę "AEfileTextureBrowser" (bez argumentów)

Maja wyrzuci Ci błąd " Cannot find procedure "AEfileTextureBrowser" " a idąc Twoim tokiem myślenia powinno " Wrong number of arguments on call to AEfileTextureBrowser "

Powiesz ... przed chwilą maja wiedziała, co robi AEfileTextureBrowser i tylko pytała o argumenty a teraz po restarcie totalnie nie wie co to za procedura ?

To dlatego, że maja jeszcze nie wie (póki nie przypiszesz jakiegoś fileNode'a ręcznie) co to znaczy "AEfileTextureBrowser" . Funkcja/Procedura AEfileTextureBrowser zawarta jest w pliku ( C:/Program Files/Autodesk/Maya2016/scripts/AETemplates/AEfileTemplate.mel ) i jest to można powiedzieć "wrapper" kilku komend- po prostu kolejna procedura.

Zanim użyjesz jakiejkolwiek procedury z pliku AEfileTemplate.mel (jest tam ich dużo między innymi AEfileTextureBrowser ) musisz majce powiedzieć "wczytaj do pamieci taki plik AEfileTemplate.mel" służy do tego komenda source - "source AEfileTemplate.mel" . Przypisanie fileNoda do jakiegoś slotu wykona sobie w tle "source AEfileTemplate.mel" i dlatego później jesteś w stanie wykonywać te komendy- bo już raz zostały wywołane. W necie jest sporo info więc nie będę duplikował, ale poczytaj o globalnych i lokalnych procedurach np tu http://www.braverabbit.com/playground/?p=376 bądź gdziekolwiek ... nawet na stronce autodesku/majki.

 

W skrócie dlaczego praetorian odradza, bo póki nie przeanalizujesz sobie kodu komendy "AEfileTextureBrowser" po prostu nie wiesz co ona robi. Wiesz tylko, że w jakimś stopniu robi to co chcesz, ale czy przypadkiem nie robi za dużo bądź za mało i czy wszystko co robi jest zamierzone?

Ty po prostu chcesz z fileDialoga wziąć ścieżkę do pliku i fileNodzie USTAWIĆ tę ścieżkę plus USTAWIĆ colorSpace . Majowska komenda setAttr służy właśnie temu USTAWIANIU i tyczy się to każdego noda i jego atrybutów. Każdy fileNode ma atrybut fileTextureName, colorSpace oraz wiele innych podobnież transform ma translateX, translateY itd . Prawdopodobnie każdy z atrybutów ustawisz za pomocą setAttr o ile atrybut istnieje na nodzie a nie jako atrybut widziany tylko w atrybutEdytorze (np zasięgi keszowania w jetim)

 

I teraz przeanalizuj sobie kod z tamtego pliku i zobacz czy Ci to odpowiada czy nie i sam dojdziesz do właściwego wniosku.

 

3m się

Napisano

Long time not seen Bolek. A tak tym set attribute już wszystko pozamiatałem dawno. Skrypt już dawno ewaluował. Globalne i lokalne procedury kojarze ale zazwyczaj pisałem je sobie sam i nie umiałem korzystać z tych gotowych. Pocztyam te info na pewno się przydadzą. Na chwile obecna jest wsio zrobione tak jak piszesz ;).

Napisano

No long.... .

""Z drugiej strony przydalby się melowy tutek do layout u jakiegoś ladniejszego ;). "" A jaki tutek masz na myśli ? Albo podpowiem albo odeślę

Napisano (edytowane)

Dzięki za info postaram się przemóc. Z mel'em już całkiem sobie radze lepiej gorzej ale idzie. Kroopson jakies linki bo majkowy help sprawadza się do samych narzedzi. W sumie sam poszukam na tygodniu.

Na tym skończyłem:

 

 

Na razie popełniłem takie cuda :

 

Większość wyszla z lenistwa nie mam ochoty powtarzac te same rzeczy robic. Jeszcze kilka prostych skryptow mam ale zobaczę z tym pythonem. Wyglada to torche jak projektowanie obiektowe. Kiedys cos dłubałem w Delphi.

Edytowane przez Sebazx6r
Napisano

Z lenistwa zostaje się TD. Ze specyficznego rodzaju lenistwa - takiego które sprawi że wolisz poświęcić tydzień na pisanie skryptu niż godzinę na przeklikanie się po raz setny przez te same opcje :)

Napisano

oo wlasnie xD po n tej poprawce odpalilem sobie helpa mayki tech doc i jazda teraz mam troche luzniej xD a zleconka splynely spoza dzialu bo ludzie mieli dosc czekania na dzial pipeline. Co prawda mel ale grunt ze dzialalo. Kazdy dzial powinien miec TD jednego na bierzace zapotrzebowania :).

Napisano

"Co prawda mel ale grunt ze ... " Mel nie jest taki zły - poczytaj i ewentualnie sam sprawdź

 

http://www.macaronikazoo.com/?p=271

http://radks.blogspot.com/2012/08/performance-comparison-mel-vs-pymel-vs.html

https://groups.google.com/forum/#!topic/python_inside_maya/n8WUdQHhw1k

http://forums.cgsociety.org/showthread.php?t=1153773

"i inni"

 

Jeśli chodzi o jakieś nazwijmy to "podstawowe" toole to nie widzę potrzeby pisania tego w qt, ale jak najbardziej warto się tego nauczyć. Pisanie UI w melu nie jest jakoś bardzo rozbudowane, ale moim zdaniem często wystarczające. Jak zawsze wszystko zależy od tego co i po co robisz i jak wszędzie nie ma jednoznacznej odpowiedzi. Moja osobista opinia - ogarnij to co oferuje maja zanim wskoczysz do qt. Podobnie z pythonem i melem. Ogarnij sobie mela, bo maya.cmds to tylko pythonowa składnia + mel

https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/Maya/files/GUID-C0F27A50-3DD6-454C-A4D1-9E3C44B3C990-htm.html

 

 

Pozdro

Napisano

Wiem, że odpowiedź trochę nie na czasie, ale wrzucę swoje trzy grosze. Jeśli już przesiadać się na pythona, to radzę pymela. Znajdą się oczywiście krytycy, którzy powiedzą, że pymel wolniejszy itp. Ale MEL to jest kara dla programisty uważam. Maya cmds (domyślny Python) to melowe komendy z pythonową składnią, natomiast dopiero pymel wykorzystuje w pełni obiektowe programowanie i jest bardzo przyjemny w pracy.

Napisano

Wg mnie nie jesteś w stanie skutecznie korzystać z PyMel'a jeśli naprawdę dobrze nie rozumiesz mel'a, cmds i OpenMaya. Przy mniejszych toolach sobie poradzisz ale przy naprawdę skomplikowanych zaczynają się poważne schody. Należy też pamiętać że PyMel potrafi być nawet do 100 razy wolniejszy przy niektórych operacjach (potwierdzone info ;) )

Napisano

Zgaduje, że overhead tego poziomu to po prostu nakładanie się wielu wywołań na sb. w takim razie nie można by tego zmniejszyć przepisując rzeczy tak, żeby korzystać jak najbardziej z lazy evaluation w pythonie?

Napisano

nie jeśli musisz np przeiterować się przez face'y mesha albo przez bardzo bardzo dużo obiektów. Wtedy same konstruktory PyMel'owe zaczynają być ciężkie. To jest jednak wrapper na owrapowany wrapper.

Napisano

@praetorian - używam PyMela na codzień, ale nigdy w ten sposób. Tymniemniej potwierdzam, że Pymel w stosunku do mela to czysta przyjemność...

 

@Kroopson - Co do operacji na mesh'ach, to słyszałem, że potrafi być wolny. Póki co nie tworzyłem pluginów operujących na siatce, ale do szerokiego spektrum zastosowań pymel po prostu wystarcza. U nas 99% pipeline'u jest w Pymelu, z wyjątkowymi fragmentami w MELu. Tymniemniej MEL jako język jest bardzo przestarzały - nie ma programowania obiektowego, a składnia tego języka woła o pomstę do nieba.

Napisano

Nie no zgadzam się że MEL'a się nie używa, jeśli już to cmds, ma wszystkie zalety MEL'a a nie ma jego wad. Aczkolwiek potrafi sprawiać problemy w sytuacji kiedy piszesz nową komendę i potrzebujesz w bardzo konkretny sposób sformatować argumenty funkcji. Przykład:

Nie wiem czy ja coś źle robię ale żeby móc przekazać macierz jako listę tak samo jak do komendy xform to musiałem zrobić osobne parsowanie argumentów dla MEL'a i osobne dla cmds'a.

 

Jeszcze jedna sprawa. PyMel to nie jest takie 100% pełne API i miałem taki przypadek że 5 albo 6 programistów dookoła mnie zaczynało pracę w Maya i zakładali że to jest implementacja na takim poziomie jak np w Blenderze, czyli że python bezpośrednio odnosi się do danych aplikacji. Wyjaśnienie im tych trzech psów na podłodze zajęło mnóstwo czasu i frustracji.

 

btw - wiem że wisi toto już w dziale praca ale może nikt tam nie zagląda :P

http://max3d.pl/forum/threads/103467-CDProjektRED-poszukuje-Junior-Specialist-pipeline-TD

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

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności