Napisano 7 Czerwiec 201014 l Autor 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?
Napisano 7 Czerwiec 201014 l 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 ..;
Napisano 7 Czerwiec 201014 l Autor 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 :/
Napisano 15 Czerwiec 201014 l Autor 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! :)
Napisano 18 Czerwiec 201014 l 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?
Napisano 18 Czerwiec 201014 l @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 201014 l przez Soviet666
Napisano 26 Czerwiec 201014 l 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 201014 l przez User190
Napisano 27 Czerwiec 201014 l 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.
Napisano 27 Czerwiec 201014 l 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?
Napisano 1 Lipiec 201014 l 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ć :)
Napisano 2 Lipiec 201014 l 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ć :)
Napisano 2 Lipiec 201014 l 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
Napisano 2 Lipiec 201014 l Publika przyjęła przychylnie - jak tylko znajdzie chwilę czasu to przeparsuje i może plunie w stronę gawiedzi wersją kompletną i wszystko mającą ;)
Napisano 2 Lipiec 201014 l 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 ;)
Napisano 4 Lipiec 201014 l 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 201014 l przez beny
Napisano 4 Lipiec 201014 l aleś się postawił teraz ;) swoją drogą ostatnimi czasy nic tylko python i python ew. hscript więc mam drobne naleciałości ;)
Napisano 13 Lipiec 201014 l 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.
Napisano 13 Lipiec 201014 l ogólnie to mam zrigować pociąg. Chcę żeby kołysanie się wagonu było przenoszone z pierwszego wagonu na kolejne...
Napisano 13 Lipiec 201014 l 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ć :)
Napisano 13 Lipiec 201014 l łaśnie czegoś takiego ogólnego potrzebowałem. Nie napisałem expresi ani skryptu od roku i już mam mega dziury na poziomie przeprzedszkolnym ;)
Napisano 14 Lipiec 201014 l b.translateX=`getAttr -time (frame-10) a.tx`; w uproszczonej wersji tak to wygląda :)
Napisano 15 Lipiec 201014 l nie no wszędzie mam zmienne zamiast cyferek :) to taka skrócona wersja była
Napisano 27 Lipiec 201014 l 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 201014 l przez bartolomeo
Napisano 27 Lipiec 201014 l więcej kodu nie ma. problem rozwiązany. Miałem dwa obiekty o tej samej nazwie w scenie :) Edytowane 27 Lipiec 201014 l przez bartolomeo
Napisano 27 Lipiec 201014 l 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.
Napisano 27 Lipiec 201014 l no porblem był porzaiczny. miałem dwa obiekty o tej samej nazwie - "low_arm". Dppiero zaczynam naukę MELa więc cenne doświadczenie dzisiaj. :)
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto