Skocz do zawartości
View in the app

A better way to browse. Learn more.

Max3D.pl

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Napisano

Dzięki kursowi ostatnio bawię się w maxscript i piszę własny plug-in. Jest już praktycznie na ukończeniu, ale bardziej robię go dla własnej satysfakcji, gdyż narzędzi przydatnych to w nim nie ma :) . Po drodze często trafiam na mniejsze lub większe problemy, ale udawało mi się je obejść. Niestety na poniższe już mi się objazdów nie udało znaleźć, więc chciałbym się zwrócić z prośbą o pomoc do bardziej zaawansowanych użytkowników w następujących kwestiach:

 

1. To musi być proste, ale chyba mam klapki na oczach bo nie mogę się do tego dogrzebać. Jeżeli chcę przesunąć obiekt w opisane zmiennymi miejsce, czy zmienić nazwę, stosuję:

obiekt = selection

obiekt.pos = [wspx,wspy,wspz]

obiekt.name = \"nazwa\"

No i wszystko jest ok. Tylko teraz jak uzyskać efekt odwrotny. Czyli chcę parametry wybranego elementu (współrzędne, nazwa) pobrać do zmiennych, by móc na nich potem operować.

Tego samego potrzebuję w vertexach spline\'a. Udaje mi się te wartości wywołać w listenerze:

 

getknotpoint $line01 1 1 --współrzędne pierwszego vertexa

[23.8485,11.6306,0]

 

Ale jak przypisać je zmiennym??

 

 

2. Miałem do zrealizowania zadanie w którym użytkownik zaznacza dowolną ilość obiektów, a skrypt wykonuje po kolei na każdym z nich wymagane operacje (konieczne jest aby wykonywał na każdym osobno). Zrealizowałem to w ten sposób:

 

group (selection) name:\"VGTsXVII_turb\"

select ($VGTsXVII_turb)

setgroupopen $VGTsXVII_turb true

for x = $* do if isopengroupmember x then

(

--wykonywane instrukcje na obiekcie x

)

setgroupopen $VGTsXVII_turb false

ungroup $VGTsXVII_turb

 

Jak widać skrypt po kolei \"podchodzi\" do każdego obiektu w scenie i sprawdza, czy należy on do otwartej grupy (w ten sposób zrobiłem rozpoznawanie, na którym obiekcie ma wykonać zadanie). Problem pojawia się, gdy w scenie znajduje się jakakolwiek inna grupa, która jest otwarta. Niby skrypt działa, ale jeszcze z programowania mam takie nawyki, że staram się robić programy \"głupoodporne\", więc nie chciałbym, aby w wymaganiach skryptu było np.: żadna inna grupa nie może być otwarta, kolor obiektów musi być różowy, w winamp\'ie nie może lecieć discopolo, a za oknem musi być dobra pogoda [lol]

 

Więc czy da się dodatkowo sprawdzać, czy obiekt x należy do otwartej grupy o konkretnej nazwie?

 

 

3. A ostatnia sprawa to już w zasadzie na pewno drobnostka. Jak zrobić pole tekstowe, w którym wyświetlana byłaby wartość zmiennej (aktualizowana przy każdej zmianie) ??

 

Jeżeli ktoś jest w stanie w jakikolwiek sposób naprowadzić mnie na rozwiązanie któregoś z tych problemów, będę wdzięczny za wypowiedź.

  • Odpowiedzi 5
  • Wyświetleń 1,9k
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

zaznaczoneObiekty = getCurrentSelection()

pierwszyObiekt = zaznaczoneObiekty[1]

nazwa = pierwszyObiekt.name

 

Tworzy sie tablica z zaznaczonymi elementami, do ktorej dobierasz sie przez index. W komorce przechowywana jest nazwa i .pos.

Napisano
  • Autor

Po burzliwych dyskusjach udało się rozwiązać pierwszy problem :)

 

Dzięki DruG!!

 

No i jeszcze po bliższym zapoznaniu się z nową instrukcją getcurrentselection() okazała się ona także rozwiązaniem na mój drugi problem:

 

grupa = getcurrentselection()

for i = 1 to grupa.count do

(

x = grupa(i) -- tu powinny być kwadratowe nawiasy, ale forum bierze to za formatowanie tekstu wiec jest tak

-- wykonywane instrukcje na obiekcie x

)

 

Więc pozostała już tylko trójeczka :]

 

Napisano

Gdzies czytalem o skrypcie ktory sledzi wartosc wybranej zmiennej, dam znac jak uda mi sie go znalesc.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.