safian Napisano 24 Październik 2011 Share Napisano 24 Październik 2011 Witam, napotkałem się z zagadką, której nie mogę rozwiązać. Mianowicie moim zamysłem jest stworzenie z cząsteczek wyemitowanych z emittera kulę. Tymi cząsteczkami są animowane ptaki i czy jest jakiś zacny sposób na okiełznanie tych ptoków, aby utworzyły kulę? Próbowałem z newton fieldem, ale latały one jak odrzutowce, a nie oto mi chodzi. Mój niedoświadczony móżdżek nie ma pojęcia w jaki sposób to zrobić, liczę na Waszą pomoc i z góry dziękuję. Przykład w załączniku. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Marshall Napisano 24 Październik 2011 Share Napisano 24 Październik 2011 Rozwiązaniem jest instancer (zaanimowany(-e) ptak(-i)) oraz goal (sphere) + odrobinkę MEL'a (rotationPP,goalPP,goalU,goalV,index + co kto lubi) :). Pozdrawiam. Si. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 25 Październik 2011 Autor Share Napisano 25 Październik 2011 Dzięki wielkie, goal się udał, będę musiał jeszcze trochę pokombinować. Nasuwa mi się jeszcze pytanie, w jaki sposób mogę zatrzymać animację ptaka, gdy już będzie tworzył ów kulę? Chodzi mi głównie o to, że dałem do instancera snapshoty animowanego ptaka i czy da radę w danym momencie po prostu zatrzymać tą animację? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
jaras Napisano 25 Październik 2011 Share Napisano 25 Październik 2011 moze wypalenie cache i zatrzymanie go w okreslonej klatce ? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Marshall Napisano 25 Październik 2011 Share Napisano 25 Październik 2011 Hmm.. jeżeli Twoje ptaki mają instance z włączonym cycle animate to myślę (tzn. tak mi się wydaje :rolleyes: ) że tutaj należy skupić swoją uwagę tj. możesz zrandomizować całość z odrobiną kodu + zapewne "wyłączyć" animację w pewnym momencie w zakładce "Cycle". Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
legomir Napisano 25 Październik 2011 Share Napisano 25 Październik 2011 A ten sposób co Ci mówiłem? W GraphEditorze możesz po prostu wyciszyć kanał wtedy ;) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
asblaze Napisano 26 Październik 2011 Share Napisano 26 Październik 2011 Na creativecrash.com jest fajny skrypt do symulacji ławic. Tym bym się posiłkował. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 26 Październik 2011 Autor Share Napisano 26 Październik 2011 (edytowane) @asblaze Masz na myśli brainbugz? @legomir Działa, działa, ale tym sposobem nie da rady stworzyć dobrej kuli z tych ptaków. EDIT: Poradziłem się legomira i skryptem podpiąłem ptaki do vertexów sphere'a. O taką kule z ptaków mi chodziło, jednak pozostaje kwestia w jaki sposób miejsce startu ustawić za książką, a następnie żeby wróciły do swojego miejsca? Moja nieobeznanie w cząsteczkach już męczy. Edytowane 26 Październik 2011 przez safian Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 30 Listopad 2011 Autor Share Napisano 30 Listopad 2011 Hej, odświeżam temat, bo wróciłem do tego, a zmienił się pomysł na to. Mianowicie zastanawia mnie czy da radę zrobić to w ten sposób, aby ptaki tak jakby wlatywały w obiekt, a następnie ten obiekt się wraz z wlatywaniem wypełniał/kompletował? Chodzi mi o taki obiekt jak niżej: Macie jakieś pomysły, które by mnie naprowadziły na efekt końcowy? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
piopiowawa Napisano 30 Listopad 2011 Share Napisano 30 Listopad 2011 nawet jeśli jakoś to zmęczysz to jak to potem planujesz wyrenderować ? ;) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 1 Grudzień 2011 Autor Share Napisano 1 Grudzień 2011 Dobre pytanie :D. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
piopiowawa Napisano 1 Grudzień 2011 Share Napisano 1 Grudzień 2011 moja rada jeżeli nie znasz chociażby podstaw to lepiej nie zabieraj się za particle :p Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 1 Grudzień 2011 Autor Share Napisano 1 Grudzień 2011 Zawsze pomoże help, który już mi wyjaśnił jak te particle wyrenderować :). Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beny Napisano 1 Grudzień 2011 Share Napisano 1 Grudzień 2011 Particle są banalne - wystarczy kumać dobrze skryptowanie, operacje na wektorach, macierzach, mieć ogólne pojecie o optymalizacji algorytmów i oko do ruchu i śmigasz wszystko co chcesz. Polecam! Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 1 Grudzień 2011 Autor Share Napisano 1 Grudzień 2011 Particle są banalne - wystarczy kumać dobrze skryptowanie, operacje na wektorach, macierzach, mieć ogólne pojecie o optymalizacji algorytmów i oko do ruchu i śmigasz wszystko co chcesz. Polecam! Fakt! Bez umiejętności skryptowania kontrola nad particlami jest dla mnie strasznie oporna... Anyway, sobie już poradziłem z poprzednim problemem. Teraz mam taki jeden tyci-tyci - mianowicie sobie volume axisem chcę wciągnąć moje ptaszyska z kuli. Fakt, faktem wysysam je, ale jest to strasznie niepłynne (błyskawicznie po pierwszej klatce wyrywa je z formy kuli, a mi bardziej zależy na płynnym wyssaniu). Jeżeli ktokolwiek zrozumiał ten bełkot to prosiłbym o radę. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beny Napisano 1 Grudzień 2011 Share Napisano 1 Grudzień 2011 Słabo zrozumiałem ... ale pewnie masz strength na volume axis za duży noi na particlach masz conserve - zmniejsz do 0.98 albo nawet mniej 0.95 albo jeszcze mniej i zobacz czy się coś zmienia. Ogólnie parametr converve działa per substep więc jest mega czuły i poniżej 0.9 to zaczyna się mega ostre hamowanie particli bez sił. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 1 Grudzień 2011 Autor Share Napisano 1 Grudzień 2011 Troszeczkę kombinowałem z conserve i niestety dalej to samo. W volume axis magnitude mam ustawione nawet na 0.01 i efekt ten sam. Dziwna sprawa.Tutaj screen efektu, o jaki mi chodzi. Może ktoś ma pomysł na inne rozwiązanie. :) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
ca mel Napisano 2 Grudzień 2011 Share Napisano 2 Grudzień 2011 Może pokombinuj z drag field. Ustaw bardzo małe oddziaływanie volume axis i ujemny kulisty drag field z ujemnym zanikiem przyśpieszający z czasem cząstki. Samemu volume axis też warto zrobić fade zaniku. Zobacz na obrazku w helpie co zrobi attenuation w połączeniu z invert. Miękkie wejście w pole siłowe, pewnie tego Ci trzeba. http://download.autodesk.com/us/maya/2010help/index.html?url=Fields__Work_with_volume_axis_fields.htm,topicNumber=d0e393274 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beny Napisano 2 Grudzień 2011 Share Napisano 2 Grudzień 2011 Jak dla mnie to attenuation w ogóle tam nie ma - ustaw Attenuation na 1.0 i z dyni. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 2 Grudzień 2011 Autor Share Napisano 2 Grudzień 2011 Pogmatwana sprawa! Za każdym razem, jakim bym fieldem tego nie robił, z jak małą czy dużą siłą, nie wiadomo jakim attenuation cały czas mi wyrywa te ptaki, a następnie idzie płynnie... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beny Napisano 2 Grudzień 2011 Share Napisano 2 Grudzień 2011 Może Ty masz cache na tych particlach? :> Weź podrzuć scenę - coś nakombinowałeś. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 2 Grudzień 2011 Autor Share Napisano 2 Grudzień 2011 Nie, nie ma cache. Może rzeczywiście coś przekombinowałem. Proszę, o to scena: http://www.mediafire.com/?ne2k8njxbx8n513 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Marshall Napisano 2 Grudzień 2011 Share Napisano 2 Grudzień 2011 Hi. Jeżeli chodzi o wszelakie Field'y to uwierz mi wszystko jest w helpie całkiem jasno wytłumaczone :). Twoim problemem jest wydaje mi się Attenuation które działa na zasadzie: jak bardzo przyłożona siła maleje od centrum volume axis field (jednostką są unity z tego co pamiętam) - oczywiście możesz całość odwrócić poprzez tick w "invert attenuation". Pomoże Ci to wszystko zwizualizować skrót klawiszowy "T" po zaznaczeniu VAF. W połączeniu z Conserve powinieneś dostać efekt który chcesz uzyskać. Pozdr. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 2 Grudzień 2011 Autor Share Napisano 2 Grudzień 2011 (edytowane) @MarshallCały czas wertuję helpa, kombinuję na wszystkie sposoby z attenuation i cały czas jest efekt tego wyrywania się ptaków. Pierwsza klatka - żadnej reakcji, druga klatka - nagły zryw ptaków o większą odległość, a następnie działa wszystko tak jak bym chciał.Dla zobrazowania tego zrobiłem szybki playblast: http://www.youtube.com/watch?v=8jn8wni9bmM Edytowane 2 Grudzień 2011 przez safian Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Marshall Napisano 2 Grudzień 2011 Share Napisano 2 Grudzień 2011 http://www.sendspace.com/file/41ukc5 Nie wiem czy dokładnie o to chodziło ale próbowałem :). 1 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 2 Grudzień 2011 Autor Share Napisano 2 Grudzień 2011 No po prostu nie wierzę. Robiłem tym samym sposobem, kluczując magnitude i wychodził kicz. Muszę wydedukować to jeszcze raz i zobaczyć co źle robiłem. Mimo wszystko Marshall wielkie dzięki, bardzo mi pomogłeś, a szczególnie uspokoiłeś psychicznie (pokój cały zadymiony ;). Zresztą dzięki wszystkim, którzy próbowali mi pomóc, bardzo mi się podoba, że można na Was liczyć ;). Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beny Napisano 2 Grudzień 2011 Share Napisano 2 Grudzień 2011 Miesiek, jak zauważyłeś masz w Rotation options ustawiony "Aim direction" na "Velocity". Jak się nie ruszają particle Twój wektor Velocity jest zerowy, więc Maya nie zmienia orientacji biektu, który jest skierowany w prawo. Co u Ciebie się dzieje to jak particle się zaczynają ruszać tostają automatycznie niezerowy wektor w lewo i stąd masz to pierdyknięcie, a potem już spokojnie lecą. Jako, że środek obrotu masz "w ogonie ptaka" to masz gigantyczny przeskok. 1 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 2 Grudzień 2011 Autor Share Napisano 2 Grudzień 2011 Dzięki wielkie beny, teraz czarno na białym wiem co było przyczyną :). Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 6 Grudzień 2011 Autor Share Napisano 6 Grudzień 2011 Hej, little odświeżenie. Mam jeszcze jedno pytanie, w jaki sposób obrócić te ptakulce? W sensie, może to dziwne, ale chciałbym, aby tyłem wylatywały z tej kuli :D. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beny Napisano 6 Grudzień 2011 Share Napisano 6 Grudzień 2011 musisz je lekko poruszyć w stronę w którą chcesz żeby były odwrócone - np. jakimś fieldemi "Aim Direction" usstawiony na "velocity" Ci załatwi sprawe. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 6 Grudzień 2011 Autor Share Napisano 6 Grudzień 2011 Niby załatwia sprawę, ale właśnie, gdy dam aim direction na velocity to wracamy do poprzedniego problemu - jest pierdyknięcie podczas wylatywania z kuli. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beny Napisano 6 Grudzień 2011 Share Napisano 6 Grudzień 2011 No to najpierw pociągnij je lekko w prawo żeby dostały jakikolwiek wektor w prawo (może być na jednej klatce o 0.0001 mm) a potem dopiero rób z nimi co tam chcesz - powinno zadziałać. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 6 Grudzień 2011 Autor Share Napisano 6 Grudzień 2011 Działa mistrzu! Dzięki jeszcze raz. :) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 7 Grudzień 2011 Autor Share Napisano 7 Grudzień 2011 (edytowane) Kolejne odświeżenie, kolejne pytanie :P.W jaki sposób jestem w stanie dać różne kolory, na losowo wybrane ptaki? Powiedzmy mam 5 materiałów i chciałbym, aby każdy ptak losowo miał nałożony jeden z tych materiałów, a co jeszcze ważne - nie zmieniały się w czasie jak to zrobiłem przed chwilą... Teraz w instancerze dodałem po 20 snapshotów animacji ptaka z każdego materiału i właśnie po każdych 20 snapshotach danego koloru ten sam ptak zmienia kolor na następny kolor - chciałbym to zniwelować! Szperając trochę po necie wyczytałem, że w Mai ustawienie losowego shadera z geometrią (tudzież moimi ptakami) jest nie możliwe. Próbowałem również atrybutem rgbPP, ale nic z tego... Edytowane 7 Grudzień 2011 przez safian Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
praetorian Napisano 7 Grudzień 2011 Share Napisano 7 Grudzień 2011 krótko mówiąc - niedasie. Nie ma możliwości przekierowania atrybutów partikli, przez instancer, do shadera. Podobno finalRender dla mayi to potrafi, ale tylko tak slyszałem. Pozostaje ci zrobić kilka kopii snapshotów z roznymi materiałami. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 7 Grudzień 2011 Autor Share Napisano 7 Grudzień 2011 W tym sęk, że tak na początku zrobiłem - zrobiłem 5 kopii snapshotów, dałem je wszystkie do instancera i gdy przykładowo przelecą snapshoty o kolorze pomarańczowym to wszystkie potem stopniowo ptaki zmieniają kolor na powiedzmy niebieski, bo są to kolejne snapshoty w kolejce w instancerze. Mi chodzi o efekt, aby każdy ptak miał swój kolor przez całą animację. Są na to jakieś inne sposoby? Ewentualnie jest inny sposób na podłączenie animacji ptaka do cząsteczek od tego ze snapshotami? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beny Napisano 7 Grudzień 2011 Share Napisano 7 Grudzień 2011 Jakto się nie da - wszystko się da tylko trza by to ładnie oskryptować i na podstawie Id particla zrobić kolejne sekwencje - do zrobienia, ale musiałbyś poskryptować trochę, więc zrób tak jak mówi praetorian - kilka wersji snapshotów z różnymi materiałami. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 7 Grudzień 2011 Autor Share Napisano 7 Grudzień 2011 Jakto się nie da - wszystko się da tylko trza by to ładnie oskryptować i na podstawie Id particla zrobić kolejne sekwencje - do zrobienia, ale musiałbyś poskryptować trochę, więc zrób tak jak mówi praetorian - kilka wersji snapshotów z różnymi materiałami.Tak jak mówiłem - po zrobieniu kilku wersji snapshotów ptaki zmieniają kolor, a to jest dla mnie nie pożądany efekt. Aczkolwiek znalazłem inne wyjście z tej sytuacji. Mianowicie cząstki są podpięte pod vertexy sphere. W takim razie zrobię 5 wersji sphere z powycinanymi tak vertexami, aby te 5 wersji tworzyło cały jeden sphere, a następnie do każdego nParticleShape podepnę 5 wersji instancera, gdzie do każdego z osobna podepnę instancera z innym kolorem ptaków. Trochę chaotyczne i pracochłonne, aczkolwiek dzięki temu uzyskam pożądany efekt :). Mimo wszystko dzięki za pomoc. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beny Napisano 8 Grudzień 2011 Share Napisano 8 Grudzień 2011 Masz tutaj prezent. Jak zaznaczysz jakiś obiekt polygonowy to poniższy kod Pythonowy w jego wertexach stworzy Ci particle. Nie byłoby to Ci za bardzo potrzebne gdyby nie fakt że tworzy on tyle obietków partiklowych ile wpiszesz w parametrze "numberOfCopies". Co więcej, nie stworzy już particla w miejscu gdzie particle już jest. Czyli teraz do każdego obiektu particlowego podepnij sobie teraz swoje animacje z różnymi kolorami i jesteś w domu: import maya.cmds as cmds import random import math objHold = cmds.ls(sl=True) if (len(objHold)>0): numberOfCopies = 5 allParticleObjs = [] for counter in range(0,numberOfCopies): newPartObj = cmds.particle() allParticleObjs.append(str(newPartObj[0])) vertNum = int(cmds.polyEvaluate(objHold, v=True )) for vertId in range(0,vertNum): holdVert = objHold[0] + ".vtx[" + str(vertId) + "]" partPos = cmds.xform(holdVert, ws=True, a=True, q=True, t=True) particleObject = math.floor(random.uniform(0,numberOfCopies)) cmds.emit( object=allParticleObjs[int(particleObject)], position=(partPos[0],partPos[1],partPos[2]) ) else: cmds.warning("Zaznacz jakis obiekt polygonowy") Wisisz mi piwo :) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 8 Grudzień 2011 Autor Share Napisano 8 Grudzień 2011 (edytowane) Kurde, stary. Jesteś genialny :), piwo to za mało :d. Tak głupio mi jeszcze narzekać, ale po "go to start of playback range" particle w podglądzie znikają, a w outlinerze są. Wiesz może co się dzieje? Po renderze też ni widu ni słychu partikli. Zauważyłem też, że jak chcę sobie je obrócić atrybutem spriteTwistPP (nParticleShape1.spriteTwistPP = frame *4; ) to nic się nie zmienia. Btw. próbowałem particlesami oraz nParticlesami i to samo. Edytowane 8 Grudzień 2011 przez safian Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beny Napisano 8 Grudzień 2011 Share Napisano 8 Grudzień 2011 A faktycznie :D sorki - jak wykonasz skrypt to zaznacz obiekty partiklowe i zrób "solvers->initial state->set for selected", mój błąd :) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 8 Grudzień 2011 Autor Share Napisano 8 Grudzień 2011 Faktycznie, teraz gra gitara. Nie wiem stary co Cię natchnęło, aby to napisać, ale mimo wszystko jeszcze raz wielkie dzięki! Geniusz dynamiki :D. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
praetorian Napisano 8 Grudzień 2011 Share Napisano 8 Grudzień 2011 panowla... po co tak kombinować :) da się z kilkoma kopiami snapshota (z różnymi shaderami). załączam przykładową scenkę. http://www.sendspace.com/file/lscras 1 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 8 Grudzień 2011 Autor Share Napisano 8 Grudzień 2011 Czy dobrze to wydedukowałem - zmieniłeś tylko cycle na none z seq? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
praetorian Napisano 8 Grudzień 2011 Share Napisano 8 Grudzień 2011 Nie bardzo rozumiem o co pytasz. Zrobiłem tę scenę od początku, więc nie miałem co zmieniać. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 9 Grudzień 2011 Autor Share Napisano 9 Grudzień 2011 Fakt, źle skonstruowałem pytanie, ale mniejsza. Takie kombinacje były, ponieważ w mojej scenie są już utworzone particle i jak miałem ustawione wszyściutko jak w twojej scenie to moje ptaki migotały - tak jak to już miało miejsce u mnie wcześniej. Zdaje się, że to działa tylko przy emitowaniu cząstek. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beny Napisano 9 Grudzień 2011 Share Napisano 9 Grudzień 2011 Da się na kilkanaście sposobów to zrobić podejrzewam. sefiankowi napisałem po prostu małe narzędzie do jego metody, każdy robi jak lubi :) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
praetorian Napisano 9 Grudzień 2011 Share Napisano 9 Grudzień 2011 Zdaje się, że to działa tylko przy emitowaniu cząstek. To bez znaczenia - cała "logika" wyboru cyklu i klatki z cyklu jest w expressions, a to co jest w creation expression i nie działa na nieemitowanych partiklach, można przenieść do runtime expr (zamieniając rand() na noise()). Twoje ptaki migotały (rany, jak to brzmi :) ) pewnie dla tego, że każda cząsteczka przebiegała po każdym cyklu (snapshocie), zamiast w obrębie jednego, wcześniej wylosowanego. Zajrzyj do expressions, bo mam wrażenie, że zerknąłeś tylko na atrybuty instancera. 1 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
safian Napisano 9 Grudzień 2011 Autor Share Napisano 9 Grudzień 2011 Twoje ptaki migotały (rany, jak to brzmi :) ) pewnie dla tego, że każda cząsteczka przebiegała po każdym cyklu (snapshocie), zamiast w obrębie jednego, wcześniej wylosowanego. Tak, właśnie przyczyną było to, że po jednym cyklu, instancer od razu leciał do kolejnego, zamiast zostać przy tym jednym. Szczerze mówiąc Panowie byliście moją lekcją podstaw cząstek, więc trudno jakkolwiek było mi samemu z tym walczyć. Kolejny raz wielkie dzięki (ja pierdziele, ile razy już mi pomogliście :) ) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
beny Napisano 12 Grudzień 2011 Share Napisano 12 Grudzień 2011 (edytowane) To bez znaczenia - cała "logika" wyboru cyklu i klatki z cyklu jest w expressions, a to co jest w creation expression i nie działa na nieemitowanych partiklach, można przenieść do runtime expr (zamieniając rand() na noise()). Twoje ptaki migotały (rany, jak to brzmi :) ) pewnie dla tego, że każda cząsteczka przebiegała po każdym cyklu (snapshocie), zamiast w obrębie jednego, wcześniej wylosowanego. Zajrzyj do expressions, bo mam wrażenie, że zerknąłeś tylko na atrybuty instancera. Dopiero zajrzałem do tego co podesłałeś. Jak wywalisz creation expression a w before dynamics przerobisz na: seed(id); pS.birdId = int(rand(pS.numOfBirds)); pS.geoId = pS.cycleFrames*pS.birdId + frame%pS.cycleFrames; to będzie lepiej. Co więcej wrzuciłbym numOfBirds i CycleFrames też do tej ekspresji i niech się liczy z automatu i wywalić to z atrybutów shapa - bez sensu trzymać na to oddzielne parametry i zmieniać za każdym razem jak się animacja zmieni. Coś na kształt: $instancerName = "instancer1"; $snapShotObj = "snapshot1"; $st = `snapshot -q -st $snapShotObj`; $et = `snapshot -q -et $snapShotObj`; $cycleFrames = ($et[0] - $st[0] + 1); $numBirds = size(`instancer -q -obj $instancerName`) / $cycleFrames; seed(id); pS.geoId = $cycleFrames*(int(rand($numBirds))) + frame%$cycleFrames; Noi generalnie Twoja metoda jest dużo efektywniejsza niż safiank zaproponował, ale skoro safiank zaczyna przygodę z dynamiką to może tę metodę niech na razie nie wykorzystuje, bo chyba za dużo ekspresji w ekspresji :) Ale resp z szacunkiem za optymalizację idzie :D Pozrawiam! M edit: birdId też jest w sumie nie potrzebne bo jedziemy po id particla :) Edytowane 12 Grudzień 2011 przez beny Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
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ę