Zawartość dodana przez lechoo
-
Wizualizacje fizyczne
Jesli punkty nie sa rozmieszczone chaotycznie, to nie jest to skomplikowane. W najprostszym przypadku moznaby nawet stworzyc plane'a o liczbie vertexow odpowiadajacej liczbie punktow w pliku. Potem wystarczyloby wczytywac wysokosci punktow z kolejnych plikow. Co do koloru to moznaby dane przerobic na bitmape i zmapowac ja na obiekt a max sam juz sobie to zinterpoluje albo przypisac kolory do poszczegolnych vertexow i wtedy rowniez max wyliczy interpolacje.
-
czy jest plugin do tworzenia kół zębatych?
Juz to poprawilem. Nowa wersja jest juz na stronie: Gears.zip
-
czy jest plugin do tworzenia kół zębatych?
Postaram sie dzisiaj to poprawic. Jakby co to dam znac i wrzuce update na strone.
-
Potrzebuję b. prosty skrypt a nie mam głowy do tego...
O ile dobrze zrozumialem to masz juz zanimowanego splinea, chcesz zrobic outline i przy okazji zachowac zrobiona juz animacje. Nie znam sia za dobrze na animacji ale mozna to zrobic bez skryptow. Kopiujesz splinea, na kopi robisz outline, przypisujesz jej modyfikator skin i uzywasz oryginalnego splinea jako kosci. Powinno wystarczyc.
-
triangularyzacja punktow
Juz powinien dzialac.
-
triangularyzacja punktow
Sprobuj tutaj: http://www.iem.pw.edu.pl/~sawickib/dyplom/node9.html
-
triangularyzacja punktow
Moj znajomy pisze na temat tringularyzacji dyplom, podpytam go o jakies linki.
-
turbosmooth toggle
Mozna by to napisac ladniej np. zapamietywac numer modyfikatora turbosmooth zeby nie szukac go za kazdym razem. Napisalem to tak zebys mogl latwo przerobic wszystko na wiecej obiektow w selekcji. rollout test "test" ( checkbox Figure_Mode "Trubosmooth status" enabled:true on test open do ( for i in 1 to selection[1].modifiers.count do ( if (classOf selection[1].modifiers[i] == TurboSmooth) then ( if (selection[1].modifiers[i].enabled == true) then Figure_Mode.checked = true else Figure_Mode.checked = false ) ) ) on Figure_Mode changed theState do ( for i in 1 to selection[1].modifiers.count do ( if (classOf selection[1].modifiers[i] == TurboSmooth) then ( print (classOf selection[1].modifiers[i]) if (Figure_Mode.checked) == true then selection[1].modifiers[i].enabled = true else selection[1].modifiers[i].enabled = false ) ) ) ) createdialog test Jeszcze oczywiscie przydaloby sie sprawdzanie czy wogole jest turbosmooth :)
-
szukam odpowiedniej komendy
O ile wiem to nie ma takiej mozliwosci. Mozna jedynie sprawdzac i ustawiac ilosc dostepnej pamieci podrecznej oraz wywolywac samemu garbage collectora.
-
kompilacja skryptu
Najlepiej wyszukac w searchu "scripted plug-ins". Skrypty tego typu od strony uzytkownika wygladaja jak pluginy co moze byc pomocne dla wielu uzytkownikow bo moga ich uzywac tak jak reszty narzedzi bez zawracania sobie glowy kompilacja itp. Od strony programowania sa tez dosc podobne do tego co jest w sdk, czyli zwyklych pluginow.
-
kompilacja skryptu
Mozna, sa to tak zwane "scripted plug-ins", czyli skrypty ktore zachowuja sie jak pluginy.
-
execute("")
Z punktu widzenia efektu koncowego nie ma roznicy. Jak wpiszesz komende to jest ona poprostu wykonywana, natomiast execute najpierw interpretuje lancuch znakow. Rownie dobrze moglbys w execute wpisac caly skrypt i tez by zadzialalo. Jedyna roznica polega na tym ze execute zwraca wartosc ostatniego wyrazenia. Jesli wykonasz skrypt ponzej to w zmiennej b bedziesz mial wskaznik do boxa str = "box()" b = execute str Jest to rownowazne takiemu skryptowi b = box()
-
sterowanie kamera za pomoca pliku wsadowego
A tak z ciekawosci, co to za soft ma byc? Cos na dyplom?
-
sterowanie kamera za pomoca pliku wsadowego
Jesli chcesz wpisywac rotacje przez podanie kata obrotu wokol 3 osi to musisz wykorzystac eulerangles, przykladowo: at time 1f c.rotation = eulerangles 0 0 180 spowoduje ze obiekt bedzie obrocony o 180 stopni wzgledem osi Z. Taki zapis jest chyba najbardziej "dla ludzi". Angleaxis i kwaterniony okreslaja rotacje przez podanie wektora wokol ktorego obraca sie obiekt i kata o jaki nastepuje obrot.
-
Tworzenie lini urzywajac vertexow
1 - nazwa ksztaltu, wiadomo :) 2 - index splajna w shapie 3 - typ vertexa ktory dodajesz, jak dasz #bezier to bedziesz mial bezierowego vertexa w prowadnicami (nie pamietam jak to sie nazywa, te zolte linie wychodzace z vertexa regulujace krzywizne splajna) 4 - typ segmentu za tym vertexem 5 - wiadomo 6 - jesli w 3 podales #bezier to tutaj musisz polozenie koncow prowadnic 7 - podajesz ktory w kolejnosci na krzywej ma byc ten vertex, jak nic nie podasz to vertex zostanie dodany jako ostatni w kolejnosci Jesli chodzi o parametr 2 to w jednym shapie mozesz miec kilka splajnow, np. jak zrobisz attach dwoch lini. Wtedy masz jeden shape a w nim dwa splajny i to jest wlasnie numer splajna.
-
Tworzenie lini urzywajac vertexow
W helpie: "SplineShape : Shape", poczytaj sobie "Knot Methods". Jest tam funkcja addKnot o ktora pewnie Ci chodzi.
-
Problem z "WHEN".
Takie rzeczy robi sie na callbackach, czyli rejestrujesz funkcje ktora zostanie wykonana dla okreslonego zdarzenia. Niestety dla zmiany constraina nie udalo mi sie znalesc zadnego callbacka, nie sadze zeby taki byl.
-
maxscript
http://www.cgtalk.com/showthread.php?t=214245 http://www.cgtalk.com/showthread.php?t=212440 pod tymi linkami masz troche historii max scriptu, moze sie przyda
-
problem z line
Prawdopodobnie chodzi Ci o curveLength.
-
Ilość elementów formularza zalerzna od zmiennej.
W max scriptcie o ile wiem nie ma mozliwosci dodawania elementow interfejsu dynamicznie. Do glowy przychodza mi dwa sposoby na obejscie tego: -jednym skryptem wygenerowac drugi skrypt z odowednia iloscia potrzebnych kontrolek, Spring joint dziala dosc podobnie tylko ze nie tworzy interfejsu ale skryptowy kontroler -mozna stworzyc dropdown list, wypelnic nazwami obiektow a pod spodem dac jednego checkboxa, teraz klikniecie w checkboxa bedzie dotyczylo aktualnie wybranego obiektu z listy Moze to Ci pomoze.
-
lokalny/globalny uklad odnieisienia
mat = myObj.transform --wrzucasz maciez transformacji do zmiennej mat mat.row4 = ...... -- modyfikujesz maciez, w taki lub inny sposob myObj.transform = mat -- wpisujesz ja z powrotem do obiektu
-
powiązanie pozycji...
Prawdopodobnie po zlinkowaniu Wire Parameters czyta pozycje dummiego w lokalnym ukladzie wspolrzednych sfery. Poniewaz dummi jest zlinkowany do sfery jego pozycja w jej lokalnym ukladzie jest stala, zatem do endpointa trafia ciagle stala pozycja. Mam nadzieje ze po ludzku to wyjasnilem :) Jesli chcesz zrobic wybrzuszenie wedrujace po powierzchi sfery to mozna to zrobic troche inaczej bez wire parameters. -robisz sfere, dummiego i Displace -displace powinien byc tuz pod powierzchnia sfery -linkujesz displace i sfere do dummiego -linkujesz sfere do displace uzywajac bind to space warp -w displace zmieniasz map na spherical i ustawisz parametry strength i decay tak zeby uzyskac wybrzuszenie -teraz krecac dummikiem obracasz wszystko razem i jednoczsnie mozesz przesuwac displace czyli wybrzuszenie wzgledem sfery
-
lokalny/globalny uklad odnieisienia
W drugim punkcie pomylilem sie, okazalo sie ze mialem blad w skrypcie. Nie udalo mi sie przesunac lokalnego ukladu ale mozna to obejsc. Trzeba zczytac macierz transformacji obiektu, przesunac ja (co bedzie odpowednikiem przesuniecia lokalnego ukladu) i w ukladzie macierzy zczytac pozycje interesujacego obiektu. To juz dzialalo bez zarzutu :)
-
powiązanie pozycji...
Nie bardzo rozumiem dlaczego chcesz polaczyc X, Y i Z ze Start Point. Nie prosciej w lewym oknie zaznaczyc Position : Position XYZ i to polaczyc ze Start Point? Podejrzewam ze chcesz sterowac Start Pointem za pomoca pozycji jakiegos obiektu ale nie zrobisz tego podlaczajac osobno do X, Y i Z. Musisz spiac pozycje z pozycja. Dopiero wtedy bedziesz mogl wyciagnac poszczegolne skladowe i cos z nimi robic.
-
lokalny/globalny uklad odnieisienia
[1] mozliwe ze obiekt byl przeskalowany i to zmienilo jego lokalny uklad wspolrzednych (maciez transformacji). Sprobuj dac reset XForm albo Reset Transform w pivocie, wydaje mi sie ze to powinno pomoc [2] np. przesuwajac obiekt wzgledem jego pivota