Napisano 29 Czerwiec 201113 l Witam. Czy zna ktoś może jakiś darmowy plugin/skrypt, który pozwala na import animacji zapisanej w mdd. lub sekwencji obj do Mayi? Potrzebuję tego, ponieważ robię animację postaci w Cinemie 4D, a symulację ubrań chcę zrobić poprzez nCloth, gdyż cloth engine w c4d nie obsługuje kilku warstw materiałów... Mam z c4d wyeksportowaną zanimowaną postać w .mdd, lecz nie mam jak jej zaimportować. Eksporter mdd do mayi mam, ale importera nie. Jest ponoć program Point Oven, który sobie z tym radzi, ale wolałbym znaleźć jakiś darmowy plugin. Dzięki i pozdro
Napisano 29 Czerwiec 201113 l Siema, Jak mialem mega jazdy i zalezalo mi na czasie to robilem cos takiego: Importowalem wszystkie objty do sceny i uzywalem tego skrypu do tworzenia polaczen miedzy geometria a wezlem choice. kluczujesz tylko parametr selector i powinno byc ok. Tylko scena duza. string $selection[] = `ls -sl`; string $choiceNode = `createNode choice`; int $i; for($i=0; $i{ string $shapes[] = `listRelatives -s $selection[$i]`; print $shapes; connectAttr -f ($shapes[0] + ".outMesh") ($choiceNode + ".input[" + $i + "]"); } string $newMesh = `createNode mesh`; connectAttr ($choiceNode + ".output") ($newMesh + ".inMesh");
Napisano 29 Czerwiec 201113 l Importowalem wszystkie objty do sceny i uzywalem tego skrypu do tworzenia polaczen miedzy geometria a wezlem choice. jeszcze lepiej imho byłoby użyć node'a blendshape. Co prawda jest trochę zabawy z ustawianiem driven keys na poszczególnych "klatkach" ale można sobie retime'ować animację tak zapisaną.
Napisano 29 Czerwiec 201113 l Autor Dzięki za pomoc. ;) Znalazłem jednak dużo szybsze i łatwiejsze rozwiązanie. Do exportu w c4d użyłem darmowego pluginu do RealFlow i zapisałem sekwencję jako pliki .bin. A potem tym samym pluginem tylko że do Majki zaimportowałem animację. Pozdro
Napisano 30 Czerwiec 201113 l jeszcze lepiej imho byłoby użyć node'a blendshape. Co prawda jest trochę zabawy z ustawianiem driven keys na poszczególnych "klatkach" ale można sobie retime'ować animację tak zapisaną. ale to i tak bedzie lerp ;) ale gratulujemy rozwiazania problemu :)
Napisano 1 Lipiec 201113 l Spoko - powiedz mi jeśli się mylę ale: zakładając że translacja punktów odbywa się w czasie T pomiędzy wartościami 0 a 1 (interpolujemy pomiędzy dwoma klatkami), to pozycje punktu możemy wyznaczyć w uproszczeniu jako funkcję f(T). W klatkach kluczowych, zapisanych przy eksporcie mamy wartości f(0) = A, f(1) = B Możemy również na podstawie interpolacji liniowej wyznaczyć położenie punktów f(-0,25) = A', oraz f(1,25) = B' Po odbiciu A' względem A oraz B' względem B otrzymujemy już nic innego jak odcinek krzywej beziera i na podstawie tego możemy już sobie wyznaczać położenie punktu w zakresie U od 0 do 1. Oczywiście jest to nie do osiągnięcia w Maya bez pisania pluginu ale już w takim houdinim nie byłoby chyba aż tak kosmicznie skomplikowane :)
Napisano 1 Lipiec 201113 l ... Po odbiciu A' względem A oraz B' względem B otrzymujemy już nic innego jak odcinek krzywej beziera i na podstawie tego możemy już sobie wyznaczać położenie punktu w zakresie U od 0 do 1 ... Ogolnie to bedzie linia prosta ale w sumie krzywa Beziera też może być prosta wiec luzik. Jestem ZA tym rozwiazaniem tak czy inaczej pod warunkiem że mesh nie zmienia ilości faców a już na pewno nie zmienia vertex id, bo wtedy blend shapy się rozłożą :)
Napisano 4 Lipiec 201113 l W klatkach kluczowych, zapisanych przy eksporcie mamy wartości f(0) = A, f(1) = B Możemy również na podstawie interpolacji liniowej wyznaczyć położenie punktów f(-0,25) = A', oraz f(1,25) = B' Nie zgadzam sie z toba, mowisz o ekstrapolacji, interpolacje mozesz wykonac miedzy f(0) = A i f(1) = B. Jezeli chcesz interpolowac w przedziale f(-0.25) to wartosci funkcji beda inne( np f(-1) = C, f(0) = A ), albo nie rozumiem Twoich intencji. Dla mnie na cache animacji mozna spojrzec jako twierdzenie Lagrange, wtedy przemieszczasz punkty wzdluz wektora, ktory jest pierwsza pochodna po polozeniu. Przykro mi ale z benym tez sie nie zgadzam :) Wydaje mi sie ze blend shape robi liniowa interpolacje miedzy punktami, jezeli napsizemy to tak: point lerp(point sartP, point endP, float value) to dowolna funkcje z przedzialu 0-1 mozemy wrzucic do value, ale dalej to bedzie liniowa interpolacja miedzy punkatmi. Opisujemy tylko jej 'predkosc' zmiany. Jezeli chcielbysmy stworzyc interpolacje bazowana na wielomianach bernstaina to musimy wziac n+1 punktow, czyli n+1 ramek. Dochodza do tego jeszcze warunki na brzegach np gdy T=0. albo jestem w smiertelnym bledzie :) Pisalem kiedys cos takiego do maya, to byl binarny obj: Uzywalem tego do przerzucania geometrii pomiedzy houdinim i maya. Dzialalo calkiem sprawnie musze to odgrzebac w wolnej chwili i wypuscic na swiat jako free. P.S. Coraz gorzej pisze po polsku :( nie jestem z tego szczesliwy i bardzo przepraszam za bledy. Na zakladzie nie mam polskiej klawiatury. Tlumaczy sie tylko winny, wiec jestem winny wszystkim niedopatrzeniom ktore tutaj popelnilem. Edytowane 4 Lipiec 201113 l przez bareja
Napisano 4 Lipiec 201113 l chyba cos sie jednak mijamy w toku rozumowania :) bo: a) nie chodzilo mi o interpolacje wielomianowa Lagranga lecz o zwykle twierdzenie pochodnych (v=dy/dx) b) tak, topologia musi byc identyczna, aczkolwiek mozna zrobic blenshape na polu wektorowym, a nastepnie adwekcje, wtedy topologia nie musi sie zgadac. c) to nie zadanko domowe, nie przyklad wrapowania, tylko praktyczny przyklad wspoldzielenia geometrii miedzy softami, ktore ma zastosowanie w kazym wiekszym studiu. Z Maya Cache nic nie zrobisz. Tfu! d) dla mnie, taka extrapolacja nie ma sensu. Edytowane 4 Lipiec 201113 l przez bareja
Napisano 4 Lipiec 201113 l Oj, Piotrek, Piotrek, kiedy Ty dorośniesz :). Nie będę publicznie komentował takich postów, choć strasznie mnie korci... Oczywiście jest to nie do osiągnięcia w Maya bez pisania pluginu ale już w takim houdinim nie byłoby chyba aż tak kosmicznie skomplikowane W Houdinim bierze się TimeBlendSOP (także interpoluje liniowo) i podmienia się wewnątrz blendshapeSOPa na Vopa, w którym splineVOP interpoluje atrybuty (P,N etc) po jednej z dostępnych krzywych... jakieś 3 minuty roboty. Takie rozwiązanie mniej więcej działa, chociaż nie jest do ideał, raz że generalnie spliny nie są najlepszym interpolatorem funkcji, dwa, że jak zauważył beny, istnieje problem zmiennej topologii, z którym zależnie od przypadku można sobie lepiej lub gorzej radzić*. Ideałem byłby oczywiście super-sampling, czyli po prostu klatki pośrednie w ilości wystarczającej do minimalizowania błędu interpolacji liniowej. Przypadkiem się składa, że, wobec niekończących się problemów z poprawnym przenoszeniem geometrii między programami, siedziałem ostatnio nad podobnym zagadnieniem. Chciałem pozwolić Mantrze interpolować geometrię według uznania. Czyli mieć prawdziwy multi-sampling motion blur na geometrii skopanej przez import z innych programów (bo multi-sampling na własnej geometrii jest oczywiście dostępny). pozdro, skk. * - objty z Mai i Xsi mają bardzo często zmienne indeksy punktów/vertexów, więc Houdini musiał się zaopatrzyć w MatchTopologySOP, który zakładając, że topologie są identyczne, tylko źle zindeksowane, znajduje właściwą kolejność pt/vtx. Dla chmury punktów (cząsteczki), trzeba je indeksować po ID, a nie kolejności, co bywa powolne albo wręcz niemożliwe). No i w końcu zdarza się indeksować punktu po ich uv..., ale to okropnie niedokładne rozwiązanie :)
Napisano 4 Lipiec 201113 l nie chcialem byc nie mily ... :) P.S. Time co... ? ;) Edytowane 4 Lipiec 201113 l przez bareja
Napisano 6 Lipiec 201113 l No z 10 minut się produkowałem i bareja mi nawet na niego odpowiedział. Luzik, pewnie bredziłem bez sensu :)
Napisano 6 Lipiec 201113 l mam nadzieję, że to technika, a nie moderator... cenzura i wykluczenie. Czytałem właśnie, że ojciec Rydzyk pojechał do Brukseli uskarżać się na dyskryminację w Polsce. Nie wierzyłem, a tu proszę....
Napisano 6 Lipiec 201113 l Ja słyszałem, że kilka dni temu na kilka godzin zawiesiły się wszystkie serwery facebooka i 5 milionów użytkowników w panice wybiegło na ulice ze swoimi zdjęciami pytając przechodniów czy je lubią.
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto