Skocz do zawartości

lechoo

Members
  • Liczba zawartości

    420
  • Rejestracja

  • Ostatnia wizyta

Zawartość dodana przez lechoo

  1. Nie wiem dokladnie w ktorym miejscu chcesz wykorzystac nazwe obiektu ale domyslam sie ze chodzi ci o to zeby exportowac go bez calej reszty sceny. W takim wypadku musisz zrobic cos takiego: zaznaczasz obiekt select (getNodeByName Mesh_name_Txt.text) i exportujesz wylacznie zaznaczone exportFile str #noPrompt selectedOnly:true
  2. Mozesz pokazac caly skrypt, albo czesc gdzie tworzysz interfejs?
  3. Zwyczajnie wstawiasz to w miejsce 4: for tmCounter = animationRange.start to animationRange.end by spinner_every.value do Oczywiscie chodzi o maxscript reference.
  4. Sam skrypt wrzucasz do zdarzenia on export pressed do ( --tutaj ) Same wartosci ze spinnerow pobierasz tak: spinner_name.value, edittextow edittext_name.text itd. Ogolnie w helpie do kazdego elementu interfejsu masz opis jak pobrac z niego wartosc.
  5. lechoo

    Bugi w max skrypcie

    Dotyczy maxa 9. Kolejne wywolania funkcji menuMan.updateMenuBar() powoduja ze max alokuje coraz wiecej pamieci. Po ktoryms z kolei wykonaniu menu maxa znika.
  6. lechoo

    Shape outline

    Z vertexa wyprowadz sobie dwa wektory, kazdy prostopadly do jednego z segmentow splajna. Kiedy segmenty sa rownolegle kat miedzy wektorami jest rowny 0, kiedy prostopadle 90 itd. Dlugosc tych wektorow o to wielkosc twojego offsetu, a szukane przesuniecie to x (to co na rysunku oznaczyles na zielono). B to kat miedzy wektorami. x = o / cos (B / 2) Chyba w miare dobrze to wytlumaczylem, w razie czego moge pozniej wrzucic jakis rysunek.
  7. lechoo

    Zaznaczenie obiektow

    Kolejne obiekty dodajesz do selekcji funkcja selectMore Zeby dodawac obiekty z kolejnymi numerkami wystarczy zrobic cos takiego: selectMore (getNodeByName ("a" + i as string))
  8. print ((0.124 + 0.5) as integer) print ((0.984 + 0.5) as integer) wypisuje odpowiednio 0 i 1. Tutaj wszystko jest ok.
  9. 0.5 jest wlasnie po to zeby zaokraglal prawidlowo. Konwersja na integera odbywa sie przez usuniecie czesci ulamkowej. Gdyby nie 0.5 efekt bylby jak po zastosowaniu funkcji floor. Spojrze jeszcze na to wieczorem.
  10. Yannick Puech Diego Garcia Marc Lorenz TheGuzz Script Spot Virtual Republic Boboland Brad Noble Paul Neale James R. Cleaveland
  11. W najprostszej wersji taki skrypt moglby wygladac tak: objVCount = getNumVerts $ for v in 1 to objVCount do ( local vPos = in coordsys world getVert $ v setVert $ v [(vPos.x + 0.5) as integer,(vPos.y + 0.5) as integer,(vPos.z + 0.5) as integer] ) update $ W petli pobieramy pozycje kazdego vertexa, zaokraglamy i ustawiamy vertexa na nowej pozycji. Na koniec update obiektu.
  12. Nie da sie przypisac osobnych materialow do roznych faceow obiektu, chyba ze uzyjesz materialu Multi/Sub-Object i poustawiasz poszczegolnym faceom losowe id, wtedy bedzie to wygladalo tak: local fCount = polyOp.getNumFaces $ local sel_array = polyOp.getFaceSelection $ for i in 1 to fCount do ( if (sel_array[i] == true) then polyOp.setFaceMatID $ i (random 1 5) )
  13. Witamy :) Do parsowania stringow najlepsza bedzie funkcja filterString. Jako parametry podajesz lancuch i znaki po ktorych lancuch ma byc podzielony, na wyjsciu funkcja zwraca tablice z poszczegolnymi fragmentami stringa.
  14. To byl jeszcze stary adres mojej strony. Poprawione.
  15. Zamien ta linijke: scale $ [1,wartosc,wartosc] na a.scale = [1,wartosc,wartosc] i bedzie dobrze.
  16. U mnie dziala bez problemow, moze problem tkwi w slashu. Sprobuj zamienic ta linijke: preview_name = (getDir #preview)+ "/"+RecordName.text + ".avi" na: preview_name = (getDir #preview)+ "\\"+RecordName.text + ".avi"
  17. Miales zly argument w addnewspline, teraz w addknot podajesz caly czas ten sam index splajna: 1. Ponizej masz kawalek kodu w ktorym wprowadzilem zmiany. addnewspline nie dodaje istniejacego splajna do innego, dodaje raczej pusty obiekt bedacy pojemnikiem na splajny do ktorego dopiero nalezy cos wpisac, w addknot podajesz index tego pojemnika. local d1 = addnewspline kolo_splajn01 /*d1 = addnewspline dziura02 d1 = addnewspline dziura03 d1 = addnewspline dziura04*/ for i in 1 to (4) do ( kat = i * 360 / 4 if (plusminus == 1) then (plusminus = (-1)) else (plusminus = 1) addknot kolo_splajn01 1 #corner #line [ (r*cos(kat)*plusminus), (r*sin(kat)*plusminus), 0] )
  18. Wszystkie kola przypisujesz do tej samej zmiennej kolo1, wiec na koniec dodajesz do shapa tylko ostatnio stworzone kolo. Nazwij zmienne przechowujace kola roznie albo dodawaj kola do shapa kazdorazowo po ich stworzeniu.
  19. Najprosciej tak: $Plane01.material = getMeditMaterial i i to numer slotu w ktorym jest material.
  20. Troche poeksperymentowalem z get i setEdgeFlags ale nie udalo mi sie odtworzyc takiego bledu. Moze sprobuj po kazdm setEdgeFlags odswiezyc scene, mozliwe ze trzeba wymusic na obiekcie update jakiejs jego wewnetrznej informacji.
  21. W tych liniach (select $'body2) nie masz zamykajacego cudzyslowia, czy jak to sie nazywa :) Event on body2g pressed masz wewnatrz innego eventu, no i nie ma takiego elementu interfejsu jak body2g.
  22. O ile dobrze pamietam to negacje w max scripcie robi sie przy pomocy not a nie wykrzyknika. Jak to zmienisz, to max script wypisze Ci ze zmienna rButton jest undefined. To dlatego ze nie jest to zmienna globalna w maxie ale w lokalna w toolu. Zobacz w helpie rozdzial Mouse Tool Clauses. Zeby zrobic to obracanie obiektu musisz napisac wlasnego toola i dodac obsluge interesujacych cie eventow, w tym przypadku mouseMove. W ciele toola zmienna rButton bedzie juz widoczna i zainicjalizowana w zaleznosci od stanu przyciskow myszy.
  23. lechoo

    LCD czy CRT ?

    Moze masz za jasny? Ja kupilem LCD z regulacja jasnosci podswietlenia i jest git, bo wczesniej mialem ten sam problem.
  24. Mozesz pobrac materialID kazdego fejsa przy pomocy getFaceMatID a potem majac ID sprawdzasz w samym materiale czy taki ID w nim istnieje. Konkretnie sprawdza sie to we wlasciwosci materialu ktora nazywa sie materialIDList. Jest to tablica ktora przechowuje wszystkie ID. Co do innych informacji o obiekcie musisz sprecyzowac o co konkretnie ci chodzi bo jest tego cala masa.
  25. U mnie jest dokladnie to samo. Expression wyglada dobrze ale sekwencja renderuje sie tylko po jego usunieciu. Prowizorycznie mozna napisac skrypt ktory przejdzie przez wszystkie ramki i kazda zrenderuje zapisujac do obrazka.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności