Sebazx6r Napisano 18 Marzec 2017 Napisano 18 Marzec 2017 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.
Sebazx6r Napisano 18 Marzec 2017 Autor Napisano 18 Marzec 2017 (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 18 Marzec 2017 przez Sebazx6r
praetorian Napisano 18 Marzec 2017 Napisano 18 Marzec 2017 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";
Sebazx6r Napisano 18 Marzec 2017 Autor Napisano 18 Marzec 2017 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.
bolekcg Napisano 23 Marzec 2017 Napisano 23 Marzec 2017 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ę
Sebazx6r Napisano 26 Marzec 2017 Autor Napisano 26 Marzec 2017 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 ;).
bolekcg Napisano 28 Marzec 2017 Napisano 28 Marzec 2017 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ę
Kroopson Napisano 2 Kwiecień 2017 Napisano 2 Kwiecień 2017 Ja bym polecał jak najszybciej przeskoczyć na pythona + PySide do robienia UI do narzędzi.
Sebazx6r Napisano 2 Kwiecień 2017 Autor Napisano 2 Kwiecień 2017 (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 2 Kwiecień 2017 przez Sebazx6r
Kroopson Napisano 3 Kwiecień 2017 Napisano 3 Kwiecień 2017 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 :)
Sebazx6r Napisano 3 Kwiecień 2017 Autor Napisano 3 Kwiecień 2017 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 :).
bolekcg Napisano 4 Kwiecień 2017 Napisano 4 Kwiecień 2017 "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
Juliusz Napisano 22 Maj 2017 Napisano 22 Maj 2017 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.
Kroopson Napisano 23 Maj 2017 Napisano 23 Maj 2017 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 ;) )
legomir Napisano 23 Maj 2017 Napisano 23 Maj 2017 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?
Kroopson Napisano 23 Maj 2017 Napisano 23 Maj 2017 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.
Juliusz Napisano 23 Maj 2017 Napisano 23 Maj 2017 @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.
Kroopson Napisano 24 Maj 2017 Napisano 24 Maj 2017 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
bolekcg Napisano 25 Maj 2017 Napisano 25 Maj 2017 Yo. A to jeszcze wgad ode mnie ... a w zasadzie to nie ode mnie ale jakby ktoś kiedyś przeglądał wątek to
Rekomendowane odpowiedzi
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ę