Napisano 13 Czerwiec 200717 l Witam No właśnie potrzebny jest mi taki oto prosty skrypt, który po uruchomieniu zaokrągla mi współrzędne wszystkich vertexów zaznaczonego obiektu do liczb całkowitych. Nie znam max script, więc jeśli ktoś słyszał o takowym skrypcie to prosze o info (ja w każdym badź razie nie znalazłem). Oczywiście jeśli ktoś ma pomysł jak to napisać (podejżewam że ta sytuacja to banał do napisania) to również będe bardzo wdzięczny za pomoc Pozdrawiam
Napisano 13 Czerwiec 200717 l 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.
Napisano 19 Czerwiec 200717 l Autor Wielkie dzięki Lechoo, skrypt działa i baaardzo mi to ułatwi życie w najbliższym czasie :). Pojawił się tylko jeden problem z sposobem realizajcji tej funkcji, a mianowicie liczby są zaokrąglane do liczb bliższych zeru np. z 0.124 zrobi 0.0 a z 0.984 również do 0.0 a nie jak bym chciał do 1.0 . Jest jakiś w miare prosty sposób by to zmienić? Pozdrawiam ps:Aha i liczby 0.5 zmieniłem na 0.0 z powodów wspomnianych powyżej
Napisano 19 Czerwiec 200717 l 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.
Napisano 19 Czerwiec 200717 l print ((0.124 + 0.5) as integer) print ((0.984 + 0.5) as integer) wypisuje odpowiednio 0 i 1. Tutaj wszystko jest ok.
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto