|
|||||||||||||||||||||||||
|
Es gibt auch die Möglichkeit, die unterschiedlichen Lego-Steine mit Hilfe von
Include-Dateien anzusprechen und durch scale, translate und rotate an die
entsprechenden Stellen für ein Lego-Objekt zu bringen. Dieses erfordert
sehr viel Arbeit und Ausdauer, da man nicht nur wissen muss, mit welchem Namen die einzelnen
Lego-Steine aufzurufen sind. Weiterhin ist es nämlich nicht immer einfach, mit translate und rotate
die Steine zu verschieben bzw. zu drehen. Anton Raves hat alle Lego-Steine in einer Include-Datei zusammengestellt. Diese wird ständig erweitert und kann von seiner Seite heruntergeladen werden. Diese Dateien heißen: material*.lib library*.lib Stern steht für die Versionsnummer. Zur Zeit (Juli 2014) gibt es die folgende Version: 1. 541_library.zip (327 kb) - entzipped etwa 3 MB 2. 539_reference_images.zip (15,2 MB) – entzipped etwa 30 MB. Hier liegen alle Lego-Bausteine als JPG-Bild vor. Der Name der JPG-Datei ist der Name für den entsprechenden Legostein. |
||||||||||||||||||||||||
Wenn man die Datei 539_reference_images.zip entzipped, erhält man ein Verzeichnis mit
allen Legosteinen als Bild und deren Namen als JPG-Datei (siehe Bild rechts). So erstellt man ein Lego-Objekt: 1. Die entsprechenden Legosteine müssen mit Hilfe der Bilddateien gefunden werden (Der Name der JPG-Datei ist gleichzeitig der Legostein-Name). 2. Der Legostein muss entsprechend skaliert werden, z.B. scale<0.1,0.1,0.1> 3. Mit Hilfe von translate und rotate muss der entsprechende Legostein an die richtige Stelle gebracht werden. Bei größeren Lego-Objekten kann die Anzahl der Steine naturgemäß schon recht groß werden. Als Beispiel soll hier eine Lok, die auf Schienen steht, angegeben werden. Während die Schienen relativ einfach zusammengefügt werden können, sieht das mit der Lok schon anders aus. |
|
||||||||||||||||||||||||
|
object{train_rails_straight() scale<0.07,0.07,0.07> translate <47,0,-15>} object{train_rails_straight() scale<0.07,0.07,0.07> translate <38,0,-15>} object{train_rails_straight() scale<0.07,0.07,0.07> translate <29,0,-15>} object{train_rails_straight() scale<0.07,0.07,0.07> translate <20,0,-15>} object{train_rails_straight() scale<0.07,0.07,0.07> translate <11,0,-15>} object{train_rails_straight() scale<0.07,0.07,0.07> translate <2,0,-15>} object{train_rails_straight() scale<0.07,0.07,0.07> translate <-7,0,-15>} object{train_rails_straight() scale<0.07,0.07,0.07> translate <-16,0,-15>} object{train_rails_straight() scale<0.07,0.07,0.07> translate <-25,0,-15>} object{train_rails_straight() scale<0.07,0.07,0.07> translate <-34,0,-15>} object{train_rails_straight() scale<0.07,0.07,0.07> translate <-43,0,-15>}} Achtung: Bei den Schienen kann keine Farbe angegeben werden. Sie ist in der lib-Datei auf grey2_tex eingestellt. |
||||||||||||||||||||||||
In der folgenden Tabelle sind die zur Verfügung stehenden Farben zusammengestellt. Sie werden mit
dem Befehl texture{Farbname} eingefügt.
|
object{train_9v_motor(1) scale<0.1,0.1,0.1> translate<4,0,-1>} object{train_bottom6_16(grey_tex) scale<0.1,0.1,0.1> translate<-2,2,-3>} object{train_cabine_window(red_tex,texture{ pigment{Clear}}) scale<0.1,0.1,0.1> rotate <0,0,0> translate <2.8,7.4,-3.1>} object{h_hrblock2_2(red_tex)scale<0.1,0.1,0.1> rotate <0,180,0> translate <-2.1,2.3,-2.2>} object{h_hrblock2_2(red_tex)scale<0.1,0.1,0.1> rotate <0,270,0> translate <-2.1,2.3,0.2>} usw. Achtung: Die Zusammenstellung der Lego-Steine für die Lok ist sehr umfangreich, wie man aus dem (unvollständigem) Code ersehen kann. |