Skocz do zawartości

lechoo

Members
  • Liczba zawartości

    420
  • Rejestracja

  • Ostatnia wizyta

Zawartość dodana przez lechoo

  1. 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.
  2. Juz to poprawilem. Nowa wersja jest juz na stronie: Gears.zip
  3. Postaram sie dzisiaj to poprawic. Jakby co to dam znac i wrzuce update na strone.
  4. 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.
  5. Juz powinien dzialac.
  6. Sprobuj tutaj: http://www.iem.pw.edu.pl/~sawickib/dyplom/node9.html
  7. Moj znajomy pisze na temat tringularyzacji dyplom, podpytam go o jakies linki.
  8. 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 :)
  9. O ile wiem to nie ma takiej mozliwosci. Mozna jedynie sprawdzac i ustawiac ilosc dostepnej pamieci podrecznej oraz wywolywac samemu garbage collectora.
  10. lechoo

    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.
  11. lechoo

    kompilacja skryptu

    Mozna, sa to tak zwane "scripted plug-ins", czyli skrypty ktore zachowuja sie jak pluginy.
  12. lechoo

    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()
  13. A tak z ciekawosci, co to za soft ma byc? Cos na dyplom?
  14. 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.
  15. 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.
  16. W helpie: "SplineShape : Shape", poczytaj sobie "Knot Methods". Jest tam funkcja addKnot o ktora pewnie Ci chodzi.
  17. lechoo

    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.
  18. lechoo

    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
  19. lechoo

    problem z line

    Prawdopodobnie chodzi Ci o curveLength.
  20. 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.
  21. 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
  22. 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
  23. 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 :)
  24. 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.
  25. [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
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności