[B3D] FreeTreeLib - schneller Einbau von Bäumen
Übersicht

![]() |
DiedelBetreff: [B3D] FreeTreeLib - schneller Einbau von Bäumen |
![]() Antworten mit Zitat ![]() |
---|---|---|
FreeTreeLib![]() Hab mal etwas mit Blitz3D herumgespielt und mir dabei gedacht ein paar Bäumchen könnten nicht fehlen, herausgekommen ist eine Art Baumgenerator für 3D welcher nach ein paar ausgewählten Parametern schnell einen Baum erstellt und nach Wunsch auch gleich noch ein paar Sprites an die Äste hängt. Hier mal ein Screenshot: Die Funktionen sind in der Datei FreeTree.bb enthalten, in der Sample.bb ist ein kommentiertes Beispiel mit welchem ich die Verwendung der Lib (kann hier überhaupt schon von einer Libary die Rede sein?) erkläre, ein Großteil der Codes kommt dabei aus Schnipseln der B3D-Samples. Hier (das ist der aktuellste Link ![]() FreeTree hat Folgendes geschrieben: CreateTree%(X#, Y#, Z#, Startlänge#, Änderungsfaktor#, Durchgänge%, Verzweigungen%[,Sprite%=0 , Parent%=0, Wind%=True])
*Grüner Text heißt neu hinzugekommen (seit 11. Mai 22:59)
Erstellt einen Baum und gibt ihn als Mesh zurück. Parameter: X# - Die X-Position an der der Baum platziert werden soll Y# - Die Y-Position an der der Baum platziert werden soll Z# - Die Z-Position an der der Baum platziert werden soll Startlänge# - Die Länge mit der die Äste am Anfang beginnen sollen, sie variieren jedoch auch hier bereits+- Änderungsfaktor# - Der Faktor um den die Länge der Äste nach Start von Ast zu Ast abnehmen soll Durchgänge% - Die Zahl der Stufen die gemacht werden sollen, vorsicht vor hohen Zahlen! Verzweigungen% - Die Anzahl der Äste die pro Verzweigung generiert werden sollen Sprite% - Wenn ein Sprite angebenen wird wird dieses an Alle Verzweigungen (außer der Ersten) drankopiert Parent% - Hiermit kann ein Parent für den zu generierenden Baum angegeben werden Wind% - Wenn hier True bzw. 1 angegeben wird, kann der Baum für Windoperationen genutzt werden Rückgabewert: Zurückgegeben wird ein Mesh das den Baum beinhaltet sowie als Childs die ganzen (wenn angeben) zugefügten Sprites enthält. UpdateWind([Speed#=1, Force#=10, Independent%=True, Trees%]) Bewegt die Blätter der Bäume, geplant ist auchnoch eine Bewegung der Bäume selbst. Parameter: Speed# - Gibt die Geschwindikeit an, mit der die Blätter hin und her schaukeln sollen Force# - Ausschlag der Blätterbewegung Independent% - Wenn True bzw. 1 schwingen die Blätter eines Baumes anderst als die der anderen Bäume Trees% - Falls Ture bzw. 1 bewegen sich auch die Bäume Rückgabewert: -Nicht vorhanden- FreeTree(Entity%) Löscht einen mit CreateTree erstellten Baum vollständig aus dem Speicher. Parameter: Entity% - Die Identität eines Baumes der mit CreateTree%(...) erstellt wurde, wird zum Löschen von Bämen empfohlen bei denen der Parameter Wind aktiviert war Rückgabewert: -Nicht vorhanden- Aufgrund der Regeln noch den aktuellen Code der Lib (braucht keine externen Ressourcen): BlitzBasic: [AUSKLAPPEN] ;FreeTreeLib von Diedel, zu finden unter https://www.blitzforum.de/forum/viewtopic.php?t=31680 Und auchnoch der Beispielcode (Die benötigten Dateien liegen dem Download bei): BlitzBasic: [AUSKLAPPEN] ;Grafik initiieren Viel Spaß wünsche ich euch damit in der Hoffnung, dass Ihr damit Etwas anfangen könnt ![]() lg Diedel |
||
- Zuletzt bearbeitet von Diedel am Sa, Nov 06, 2010 15:18, insgesamt 6-mal bearbeitet
vanjolo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Find ich, kurz und knapp, sowas von Genial!!
Ich habe oft das Problem das ich mal schnell eine neues Modell in eine Landschaft setzen möchte um zu sehen wie das Model wirkt. Für mich ist das wirklich hilfreich! Danke Diedel |
||
***************************
in Entwicklung: Tank Battles - Panzeraction Pacific Battles - Rundenstrategie abgeschlossenes Projekt: Harrier Assault |
aletes |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hmm, das sieht echtmal wirklich gut aus ![]() kann ich noch gut gebrauchen |
||
![]() |
Diedel |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, neue Version wäre hochgeladen. Nun mit erster Windunterstützung, mal sehen ob ich meine ganzen Ideen diesbezüglich noch so umsetzen kann ich ich es mir vorstelle. Den ersten Beitrag habe ich dementsprechend editiert, also ab nach oben ![]() Ich vergaß noch die Steuerung im Sample zu erklären auch wenn sie schnell gefunden sein dürfte: Mit dem Mausrad kann man schön zoomen, mit Hilfe der rechten Maustaste kann man wenn sie gedrückt wird durch Bewegungen der Maus die kamera um den Mittelpunkt des Ganzen drehen ![]() So, der erste Beitrag wäre nun auchnoch den Regeln des Codearchivs angepasst ![]() Achja, die einzelnen Bäume/das, was bei CreateTree%(...) als Mesh zurückgegeben wird, ist SingleSurface, nur damit Ihr euch da möglicherweise nicht umsonst um etwas bemüht was bereits drinn ist ![]() lg Diedel |
||
Owned. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group