Odświeżymy trochę.
Ponieważ zobligowałem się do wystawienia swojego skryptu wstawiania drzewek, toteż to czynię. Efekty można zobaczyć choćby tu:
http://eu07.pl/forum/index.php/topic,6827.msg158125.html#msg158125A teraz do rzeczy. Ten pojedynczy skrypt jest
wersją testową, która do końca mnie nie satysfakcjonuje (Was pewnie też :)) z racji posiadania kilku ograniczeń, o których za chwilę. Ale że posypały się PW po publikacji serii screenów [link powyżej] z trasy, na której drzewka były wstawiane przy jego właśnie użyciu, wystawiam tu ten skrypt:
http://eu07.pl/userfiles/2193/devs-random_tree_script.rarW paczce znajdują się dwa pliki - skrypt tworzenia drzewek i skrypt eksportowania scenerii. Ten drugi podmieniamy z już istniejącym (co jest konieczne - inaczej w innych [starych] skryptach nasze drzewka stworzone tym narzędziem się nie wyeksportują). Co sprytniejsi mogą sobie to podpiąć do drugiego przycisku, ale większego sensu to nie ma ;)
Teraz należy otworzyć edytorem tekstu plik main.ms, znaleźć i dodać następujące wpisy:
Szukamy:
fileIn (scriptDirectory+"CreateIncTree.ms")
Dodajemy po nim to:
fileIn (scriptDirectory+"CreateIncRandomTree.ms")
Szukamy:
button bIncTree "Tree Inc" width:70 height:16
lub:
button bIncTree "Zielen" width:70 height:16
Dodajemy po nim to:
button bIncRandomTree "Random Tree" width:70 height:16
Szukamy:
removeRollout CreateIncTree MainFloater
Dodajemy po nim to:
removeRollout CreateIncRandomTree MainFloater
Szukamy:
on bIncTree pressed do
(
removeRollouts()
addRollout CreateIncTree MainFloater
)
Dodajemy po nim to:
on bIncRandomTree pressed do
(
removeRollouts()
addRollout CreateIncRandomTree MainFloater
)
Opis samego narzędzia:
Dzięki niemu w 3ds możemy jednym kliknięciem wstawić drzewo/krzak o różnej teksturze (opcjonalnie), wysokości, szerokości i kącie wstawienia, przy czym nie trzeba po każdym kliknięciu wciskać przycisku, aby móc znów wstawić drzewko - klikniemy od razu kilka razy i od razu będziemy mieć kilka różnych drzewek. W przypadku drzew możemy sobie wybrać typ drzewek, które chcemy wstawić wybierając tylko odpowiednią pozycję na liście: świerki, sosny i drzewka liściaste (proszę nie pytać dlatego tak - jakoś tak mi się widziało :)) - przy czym można mieszać te kombinacje zaznaczając np. wszystkie pozycje :) Jedynym problemem jest wysokość we współrzędnych, jaką trzeba samemu dobrać (skrypt nie dopasowuje drzewek do trójkątów terenu [nie wiem, czy to w skryptach 3dsa jest możliwe - a jeśli tak, to w jaki sposób]). Tak więc skrypt wstawia drzewka i krzaki na wysokości ustalonej w polu "Z" - można w ten sposób od razu wpisać, przez co drzewka będą wstawiać się na żądanej wysokości. O ile na płaskim terenie problemu nie będzie, o tyle przy nierównym trzeba będzie się gimnastykować w odpowiednie dobieranie parametrów (przesuwanie ręcznie kwadracika na tę chwilę ewolucji skryptu odpada, dlatego trzeba będzie od razu albo edytować parametr Z przed wstawieniem, albo edytować parametr we właściwościach drzewka [w Object Properties - > User Defined]). W przypadku drzew jest mniejszy ból przy niedokładności tego parametru - z wysokiego drzewka będzie trochę niższe, albo krzak - co efektu bardzo nam zieleni nie popsuje. Ale przy krzakach trzeba być dokładnym :) Ponieważ w paczce znajduje się plik odpowiedzialny za eksport tylko poprzez przycisk 'SCM Export' (czyli eksport do SCM), drzewka wyeksportują się tylko przy użyciu przycisku eksportu do scm.
Nie daję całego zestawu skryptów, ponieważ mają większe bugi [no, może dla wiedzącego jak się nimi posługiwać nie :)] - a jest wśród nich np. skrypt od ładnego wstawiania budynków :) Poprawki obecnego skryptu może będą - jak się znajdzie czas, chęci, motywacja i... Jubaj wie co jeszcze ;] No chyba, że ktoś mnie ubiegnie i zrobi to szybciej :)
To chyba tyle.
EDIT: 06.04.2010
Ważna aktualizacja, dzięki której nie psuje się wstawianie torów przez ten skrypt. Dzięki za info od kolegi
@ISDR.