Pokaż wyniki od 1 do 5 z 5

Wątek: Mel kilka pytan o edycje file node z poziomu kodu.

  1. #1
    Member
    Awatar Sebazx6r
    Dołączył
    Dec 2010
    Lokalizacja
    Warszawa
    Postów
    2779
    Podziękowania

    Domyślnie Mel kilka pytan o edycje file node z poziomu kodu.


    Reklama widoczna tylko dla niezalogowanych użytkowników
    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.

  2. #2
    Member
    Awatar Sebazx6r
    Dołączył
    Dec 2010
    Lokalizacja
    Warszawa
    Postów
    2779
    Podziękowania

    Domyślnie

    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
    Ostatnio edytowane przez Sebazx6r ; 18-03-17 o 01:30

  3. #3
    Member

    Dołączył
    Jan 2005
    Lokalizacja
    Warszawa
    Postów
    217
    Podziękowania

    Domyślnie

    Cytat Zamieszczone przez Sebazx6r Zobacz posta
    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";

  4. #4
    Member
    Awatar Sebazx6r
    Dołączył
    Dec 2010
    Lokalizacja
    Warszawa
    Postów
    2779
    Podziękowania

    Domyślnie

    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.

  5. #5
    Member
    Awatar bolekcg
    Dołączył
    Jan 2012
    Lokalizacja
    Warszawa
    Postów
    22
    Podziękowania

    Domyślnie

    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ę

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •