Losowe rozmieszczanie obiektów 3ds Max – Tips & tricks



Opublikowane: 12 lip / 2017 Kategoria: 3ds Max, Tagi: , , , ,

Tworzysz sceny, które wymagają losowego rozmieszczenia dużej ilości elementów?  Zobacz jak je rozmieścić za pomocą specjalnego skryptu do 3ds Max-a.


Bywa, że projektując scenę potrzebujemy rozmieścić losowo dużą ilość obiektów.  Zrozumiałe jest, że rozmieszczanie setek, tysięcy czy milionów elementów w przestrzeni jest bardzo pracochłonne, dla tego z pomocą przyjdzie nam podstawowa znajomość programowania. Umiejętność pisania skryptów w 3ds Max-ie, czy każdym innym oprogramowaniu do obróbki 3D, jest bardzo przydatna i wysoce ceniona. Przeważnie opiera się to na języku Python. Tym razem wspólnie rozmieścimy obiekty używając prostego skryptu, za którego pomocą program sam losowo rozlokuje nasze obiekty w zdefiniowanej przez użytkownika przestrzeni.  Jak to zrobić?


1. Po pierwsze stworzyć obiekt do kopiowania, Shift+Obrót w opcjach ustawienie ilości skopiowanych elementów (100) i zatwierdzenie.
Kliknij, aby powiększyć

Kliknij, aby powiększyć

(kliknij obrazek, aby go powiększyć)
2. Jak widać w lewej kolumnie mamy do rozlokowania wiele obiektów.
Kliknij, aby powiększyć

(kliknij obrazek, aby go powiększyć)

3. W pasku narzędzi wyszukujemy Narzędzia Scripting, po czym w rozwijanej wstążce wybieramy New Script. Otworzy nam się okno tekstowe pozwalające na wpisanie kodu.

Kolejnym krokiem będzie wpisanie następującej treści:

Kliknij, aby powiększyć

(kliknij obrazek, aby go powiększyć)
4. Objaśnienie zasady działania: jest to prosty kod, który przy śladowej znajomości podstaw logiki można zrozumieć.

  1. Linijka „selObjs in selection do” – jest to swego rodzaju przekierowanie do obiektów na które będzie oddziaływać dalsza część kodu, w tym przypadku będą to (jak jest to zapisane w kodzie) obiekty aktualnie zaznaczone przez użytkownika à in selection
  1. Następnie otwarty nawias dzięki któremu będziemy w stanie zawrzeć kilka komend do wykonania.
  1. Komenda selObjs.pos.x, selObjs.pos.y, selObjs.pos.z =(random 0 300)- selObjs.pos.– treść ta odnosi się do osi w której będzie odbywać się rozmieszczenie. Tworząc trzy takie komendy w jednym nawiasie tworzymy tak naprawdę sześcian/graniastosłup o bokach X, Y, Z, w którego objętości będzie odbywało się losowe rozmieszczanie obiektów. Zawarte w nawiasach liczby określają miejsca wierzchołków każdego z boku np.:pos.y = (random 5 69) stworzy nam rozmieszczanie wzdłuż osi Y o długości zaczynającej się w jednostce 5 a kończącej w jednostce 69 względem środka sceny.

Następnie zatwierdzamy nasz skrypt (mając cały czas zaznaczone obiekty do rozmieszczenia) i ze wstążki w oknie skryptów wybieramy zakładkę Tools i Evaluate All:

Kliknij, aby powiększyć

(kliknij obrazek, aby go powiększyć)
5. Efekt mówi sam za siebie:
Kliknij, aby powiększyć

(kliknij obrazek, aby go powiększyć)
6. Manipulując liczbami w nawiasie można zmieniać wielkość przestrzeni w której ma odbywać się rozmieszczanie, a co za tym idzie- zmniejszać lub zwiększać zagęszczenie:
Kliknij, aby powiększyć

(kliknij obrazek, aby go powiększyć)

 

 

Źródło: PCC Polska / Patryk Konieczny