Destroyer Napisano 7 Czerwiec 2010 Autor Napisano 7 Czerwiec 2010 Hej przepraszam, że zakłócam spokój ale mam maleńkie pytanko i nigdzie nie mogę znaleźć na nie odpowiedzi Otóż przy tworzeniu GUI chcę zrobić textField i obok niego slider zupełnie tak samo jak przy użyciu sliderGrp ale jako oddzielne obiekty bo tylko wtedy będe miał kontrolę nad szerokością tych obiektów a w slidergrp niestety co by nie wpisywać text field zostaje stały czy więc da się połączyć textfield ze sliderem czy też jestem skazany na slidergrp?
Kroopson Napisano 7 Czerwiec 2010 Napisano 7 Czerwiec 2010 Oj men niestety nie używam MEL'a już dobre pół roku ale spróbuj się zainteresować layoutami. Jak sobie zrobisz: columnLayout; textField; slider; setParent ..; to powinny się poustawiać obok siebie. Piszę niestety z pamięci ale generalnie tak to powinno wyglądać. (Ofkors może się okazać że to nie był columLayout tylko rowLayout ale niestety trochę za dużo ostatnio siedziałem w wxWidgets i PyQt i nie pamiętam MEL'a :( Mam nadzieję że pomoże PS. Tak to chyba bardziej rowLayout tu się nada. od razu ci powiem że musisz mu określić z góry ilość kolumn i pamiętaj o ustawieniu rodzica dla tego layouta przez setParent ..;
Destroyer Napisano 7 Czerwiec 2010 Autor Napisano 7 Czerwiec 2010 dzięki Kroopson za szybka odpowiedź, ale nie o to chodziło :) nie mam problemu z ułożeniem GUI i layoutami tylko szukam sposobu innego niż uzycie floatSliderGrp na to żeby floatField i Slider były ze sobą połączone i miały wspólną wartość a rowLayout z setParent ..; takiej funkcjonalności nie ma :/
Destroyer Napisano 15 Czerwiec 2010 Autor Napisano 15 Czerwiec 2010 Sorry, że odpisuję dopiero teraz ale wcięło mnie po drodze :) -cc działa bez problemów, że też sam na to nie wpadłem :) chyba liczyłem na prostsze połączenie right of the box :) anyway dzięki za pomoc! :)
Soviet666 Napisano 18 Czerwiec 2010 Napisano 18 Czerwiec 2010 Lamerskie pytanie: Ściągłem sobie en trial do Maya i chce zrobić swoje pierwsze w życiu coś :P. Obejrzałem parę tutków, ale żaden nie odpowiada na moje pytanie :(. Otóż stworzyłem krzywą za pomocą CV Curve Tool, następnie wykonałem jej duplikat, przesunąłem nieco do góry. Połączyłem obydwie za pomocą Surfaces > Loft. Teraz następuje problem (:P): jak sprawić, ażeby ta moja krzywa, która jest, powiedzmy, zamkniętym kołem, była wypełniona w środku? Na razie mam tylko "ścianki". Czy CV Curve Tool się w ogóle do tego nadaje?
Soviet666 Napisano 18 Czerwiec 2010 Napisano 18 Czerwiec 2010 (edytowane) @Marten: nie, chcę zrobić pełną bryłę. Takie coś. Tylko, że w ten sposób tworzę jedynie "ścianki", a chcę, żeby środek był wypełniony. Ups, zły topic. Przepraszam. Edytowane 18 Czerwiec 2010 przez Soviet666
kamode Napisano 18 Czerwiec 2010 Napisano 18 Czerwiec 2010 Isoparm - surfaces - planar Ale co to pytanie ma do MELa... ?
Gość User190 Napisano 26 Czerwiec 2010 Napisano 26 Czerwiec 2010 (edytowane) Jak wybadać w scenie najmniejszą i największą odległość obiektu/ów od kamery? Potrzebuję jakby dynamicznego ZDeptha, w dwóch wariantach - jeden, który będzie wraz z animacją obiektu zmieniał sobie do niego skalę i drugi, który zmierzy odległości wszystkch obiektów na scenie na początku i końcu animacji i względem tego dobierze wartości wyjściowe dla ZDeptha. Pytanie jak takie dwa pomiary przeprowadzić? Mam skrypcik w którym ręcznie mogę podać odległość min i max, ale chciałbym go bardziej zautomatyzować i przystosować do dwóch wariantów pracy - statycznej i dynamicznej. Z góry dzięki za pomoc i sory za lamerskie pytanie - przesiadam się z maxa i chcę to zrobić możliwie bezboleśnie w jak najkrótszym czasie ;) Edytowane 26 Czerwiec 2010 przez User190
ca mel Napisano 27 Czerwiec 2010 Napisano 27 Czerwiec 2010 Właściwie wcale nie musisz tego robić skryptem. Maya jest na tyle cudowna, że nie znając żadnego mela można bardzo dużo zdziałać łącząc ze sobą praktycznie wszystko. Zrób sobie measure tool, czyli dwa lokatory z odległościomierzem, jeden przyparentuj (albo lepiej użyj point constraint) do aktywnej kamery, a drugi do najdalszego obiektu. Wyjście z pomiarem odległości przekieruj do old maximum w węzłach szadera głębokości. Osobiście wolę jednak liczyć głębokość tak jak jest z automatu, a w postprodukcji ustawiam jej autolevele. Szybko i bez dodatkowego grzebania. Pozdrawiam.
Gość User190 Napisano 27 Czerwiec 2010 Napisano 27 Czerwiec 2010 Ale to i tak wymaga jakiegoś wstępnego ustawienia measure tool i przypinania. Taki wariant już stosowałem i przy dużej ilości plików jest męczący. Chciałbym to możliwie maksymalnie zautomatyzować tak, żeby obiekt w najgorszym wypadku tylko zaznaczyć i wszystko liczyło się samo. Jak to mawiają, czas to pieniądz ;) Trzeba by napisać skrypcik tworzący measure tool, czy jest jakiś automat do tego?
beny Napisano 1 Lipiec 2010 Napisano 1 Lipiec 2010 Generanie measure tool to takie dość proste narzędzie jest i można je sobie samemu napisać ... przykład measure tool od kamery persp do pSphere1 obiektu: vector $pointA=`getAttr persp.translate`; vector $pointB=`getAttr pSphere1.translate`; vector $wektor=$pointA-$pointB; $distance = mag($wektor); nie ma co za bardzo kombinować programistycznie, a raczej matmy więcej używać :)
Kroopson Napisano 2 Lipiec 2010 Napisano 2 Lipiec 2010 Beny wszystko pięknie ale teraz pobierasz translacje tylko w przestrzeni lokalnej tych obiektów, czyli jak będziesz miał je sparentowane do czegokolwiek to już się nie będzie wynik zgadzał :) Proponuję: sel = `ls -sl`; if sizeof(sel) == 1 { $objA == "persp"; $objB == $sel[0]; } else { $objA == $sel[0]; $objB == $sel[1]; } vector $pointA=`xform -q -rp -ws $objA`; vector $pointB=`xform -q -rp -ws $objB`; vector $wektor=$pointA-$pointB; $distance = mag($wektor); Nie jestem pewien czy taka deklaracja zmiennej typu vector zadziała bo nie używam Maya już ponad pół roku, ale generalnie powinno hulać :)
beny Napisano 2 Lipiec 2010 Napisano 2 Lipiec 2010 Masz 100% racji Czarny Bracie. Takież przeoczenie?? JA?? ... późno było, chory jestem i już od pół roku na emeryturze, więc musisz mi wybaczyć mą niekompetencję w temacie. Tak czy inaczej mam nadzieję, że idea została załapana przez słuchaczy :) Z drugiej jednak strony twój kod też Maya by przyjęła z niesmakiem - a dokładnie pierwsze 2 linijki byś dostał syntax error :P
Gość User190 Napisano 2 Lipiec 2010 Napisano 2 Lipiec 2010 Publika przyjęła przychylnie - jak tylko znajdzie chwilę czasu to przeparsuje i może plunie w stronę gawiedzi wersją kompletną i wszystko mającą ;)
ca mel Napisano 2 Lipiec 2010 Napisano 2 Lipiec 2010 Wszystko pięknie i wspaniale, ale zróbcie chłopcy zawodowcy jeszcze tylko automatyczne tworzenie melem nowej warstwy z przypisanym doń nowym shaderem w overridzie ktory to dostanie w set range wynik Waszych pomiarów :P Mierzyć odległość to każdy potrafi ;)
beny Napisano 4 Lipiec 2010 Napisano 4 Lipiec 2010 (edytowane) global proc setDistance() { $sel = `ls -sl`; $maxScale = 20; vector $pointA=`getAttr persp.translate`; vector $pointB=`getAttr ($sel[0] + ".translate")`; vector $wektor=$pointA-$pointB; $distance = mag($wektor); $newMat = `shadingNode -asShader lambert`; $newRamp = `shadingNode -asTexture ramp`; removeMultiInstance -break true ($newRamp + ".colorEntryList[1]"); removeMultiInstance -break true ($newRamp + ".colorEntryList[2]"); connectAttr -force ($newRamp+".outColor") ($newMat + ".incandescence"); setAttr ($newMat + ".color") -type double3 0 0 0 ; $valRemap = linstep(0,$maxScale,$distance); setAttr ($newRamp+".colorEntryList[0].color") -type double3 $valRemap $valRemap $valRemap ; } nameCommand -annotation "Set Distance" -command "setDistance()" setDistanceTool; hotkey -k "u" -name "setDistanceTool"; Co robi powyższe - zaznaczasz obiekt na ktorego podstawie chcesz uzyskac "odcien szarosci", wciskasz "u" i tworzy Ci sie ramp w odcieniu szarosci zaleznie jak daleko jest ten obiekt. $maxScale daje Ci punkt referencyjny gdzie jest maks czyli od tego punktu jest "biało" (1.0 1.0 1.0). Mozesz sobie zrobic scriptJoba np. tak: scriptJob -event "SelectionChanged" "setDistance"; i będzie Ci to robił za każdym razem jak zmieni Ci się selekcja. Nie wiem do czego to ma być bo z tego co rozumiem co chcesz zrobić to zupełnie bym inne podejście zrobił. Mój powyższy kod nie załatwi nikomu sprawy od ręki, ale ja tylko daję instrukcję co jak wykonać. Wierz mi, że wszystko da się zrobić i nie ma problemu, muszę wiedzieć DOKŁADNIE co ma robić narzędzie - spotykasz się wtedy z klientem i następnego dnia ma dostarczone. Pozdrawiam, Beny Edytowane 7 Lipiec 2010 przez beny
Kroopson Napisano 4 Lipiec 2010 Napisano 4 Lipiec 2010 aleś się postawił teraz ;) swoją drogą ostatnimi czasy nic tylko python i python ew. hscript więc mam drobne naleciałości ;)
bartolomeo Napisano 13 Lipiec 2010 Napisano 13 Lipiec 2010 pytanie: mam obiekt A i mam obiekt B. B ma mieś animację opóźnioną o x ramek w stosunku do A. W sensie taka sama animacja, tylko 5 ramek później.
Kroopson Napisano 13 Lipiec 2010 Napisano 13 Lipiec 2010 chcesz to robić MEL'em czy skopiować tylko animację?
bartolomeo Napisano 13 Lipiec 2010 Napisano 13 Lipiec 2010 ogólnie to mam zrigować pociąg. Chcę żeby kołysanie się wagonu było przenoszone z pierwszego wagonu na kolejne...
Kroopson Napisano 13 Lipiec 2010 Napisano 13 Lipiec 2010 hmmmmm... Ja to bym zrobił atrybut na każdym wagonie "timeoffset" i atrybut "kolys" który spiąłbym jakimś driven key'em z rotacją. najłatwiej ci będzie na każdy wagon zaaplikować expression w takiej postaci że: $wagon = "nazwawagonu" //np. wagon1_ctrl $kolys = `getAttr -t (time - ($wagon + ".timeoffset")) "lokomotywa.kolys"`; setAttr ($wagon + ".kolys") $kolys; Ofkors to tylko ogólny opis zasady działania aaa - i na lokomotywie też "kolys" musi być :)
bartolomeo Napisano 13 Lipiec 2010 Napisano 13 Lipiec 2010 łaśnie czegoś takiego ogólnego potrzebowałem. Nie napisałem expresi ani skryptu od roku i już mam mega dziury na poziomie przeprzedszkolnym ;)
bartolomeo Napisano 14 Lipiec 2010 Napisano 14 Lipiec 2010 b.translateX=`getAttr -time (frame-10) a.tx`; w uproszczonej wersji tak to wygląda :)
Kroopson Napisano 14 Lipiec 2010 Napisano 14 Lipiec 2010 no niby tak ale fajnie by mieć jakąś kontrolę nad tym no nie? :)
bartolomeo Napisano 15 Lipiec 2010 Napisano 15 Lipiec 2010 nie no wszędzie mam zmienne zamiast cyferek :) to taka skrócona wersja była
bartolomeo Napisano 27 Lipiec 2010 Napisano 27 Lipiec 2010 (edytowane) Cannot convert data of type float[] to type float taki errror mi wyskakuje po tym skrypcie. float $upArmLength = 0; float $lowArmLength = 0; float $fullLength = 0; string $driver = "arm_distShape.distance"; $upArmLength = `getAttr low_arm.tx`; $lowArmLength = `getAttr hand.tx`; $fullLength = $upArmLength + $lowArmLength; Ktoś wie o co chodzi? Edytowane 27 Lipiec 2010 przez bartolomeo
bartolomeo Napisano 27 Lipiec 2010 Napisano 27 Lipiec 2010 (edytowane) więcej kodu nie ma. problem rozwiązany. Miałem dwa obiekty o tej samej nazwie w scenie :) Edytowane 27 Lipiec 2010 przez bartolomeo
asblaze Napisano 27 Lipiec 2010 Napisano 27 Lipiec 2010 Jeśli to oczywiste co napiszę - to przepraszam :) Resetowałeś majkę? Możliwe że zmienne już istnieją i zdefiniowane są jako arraye. Jeśli to możliwe, to każdy skrypt bierz w klamry :) wtedy nie będzie pozostawiał po sobie syfów.
bartolomeo Napisano 27 Lipiec 2010 Napisano 27 Lipiec 2010 no porblem był porzaiczny. miałem dwa obiekty o tej samej nazwie - "low_arm". Dppiero zaczynam naukę MELa więc cenne doświadczenie dzisiaj. :)
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ę