Terrain begrenzung und Objekte die sich Anpassen...
Übersicht

crazy_downBetreff: Terrain begrenzung und Objekte die sich Anpassen... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, ich möchte mein Terrain begrenzen und habe mir das jetzt so gedacht, das ich über eine Highmap den Rand Extrem bergig mache das meine Figur da nicht mehr hoch laufen kann. und dahinter evtl. zur Sicherheit irgendwie eine grenze also eine art Cube der drumherum verläuft. Kann ich das Irgendwie machen ?
Kann ich irgendwie meiner Figur mitteilen, das wenn der Winkel steiler als einer bestimmter grad ist, das sie dann nicht mehr da lang kann ? und ich möchte in meinem Terrain Bäume verteilen. Diese sind .x datein die ich per Rand() verteilen lasse. Kann ich diese irgendwie an den Boden also das Terrain binden, das sie sich egal wie es aussieht immer an den Boden anpassen und nicht in der Luft schweben ? Danke schonmal.. greetz crazy_down |
||
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. Collisions() + 'Gravitation'
2. TerrainY() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
crazy_down |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dangöö, gleich mal nach schauen. | ||
crazy_down |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So, ich hoffe das ist jetzt nicht Thread-Pushen oder wie man das nennt.
Aber es gehört zu einer meiner Fragen ![]() Code: [AUSKLAPPEN] Dim tree(20)
Function trees() For count = 1 To 20 tree(count)=LoadAnimMesh("baum.3DS") ScaleEntity tree(count),0.15,0.15,0.15 ScaleEntity tree(count),0.15,0.15,0.15 y#=EntityY(tree(count)) x#=EntityX(tree(count)) y#=EntityY(tree(count)) terra_y#=TerrainY(terrain,x#,y#,z#) SeedRnd MilliSecs() SeedRnd Rand(0,10000) ;PositionEntity tree(count),RndSeed(),terra_y#,RndSeed() Next End Function So sieht ein teil vom code aus. Ich lasse vor meiner while schleife die auf ESC wartet die Funktion Trees() starten. Theoretisch soltle das aber in der While-schleife passieren da man ja imemr die y koordinate braucht sonst schwebt er in der Luft oder ist im terrain weil er nur die erste y Daten nimmt. Mache ich es in der While schleife, ruckelt es weil er ja jedes mal den Baum läd und nicht nur einmal. ICh will ihn einmal laden aber 20 mal setzen. Irgendwie hänge ich da grade. Hat wer einen kleinen Tip bitte ? Danke schonmal greetz crazy_down |
||
Problemchen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hoi, eine gute Hilfe für dich selbst ist, wenn du vielleicht über jede Codezeile einen kleinen Kommentar schreibst, damit du selbst weisst, was du getippt hast. Im obigen Code sind irgendwie ein paar 'Flüchtigkeitsfehler' drinne.
Ich meine, probiers mal so: Code: [AUSKLAPPEN] ;Zufallsseed setzen
SeedRnd MilliSecs() ;Platz für 20 Bäume schaffen Dim tree(20) ;Masterbaum einlesen mastertree=LoadAnimMesh("baum.3DS") Function trees() ;Schleife einleiten For count = 1 To 20 ;Baum vom Masterbaum kopieren tree(count)=CopyMesh(mastertree) ;X und Z Koordinaten per Zufall bestimmen x#=rand(0,max_terrain_xkoordinate) z#=rand(0,max_terrain_zkoordinate) ;Terrainhöhe der X/Z Koordinaten vom Terrain lesen y#=TerrainY#(terrain,x#,0,z#) ;Baum skalieren und an X/Z positionieren ScaleEntity tree(count),0.15,0.15,0.15 PositionEntity tree(count),x,terra_y#,RndSeed() Next End Function Damit siehst du sofort, welche Werte du schon hast oder noch brauchst innerhalb deines Codes. Nur so als Tip ![]() Die Funktion setzt 20 Bäume an zufälliger Position im Terrain ab. Du brauchst die Funktion nur einmal aufrufen, wenn du das Terrain anschließend nicht mehr modifizierst. Viel Spaß wünscht Problemchen |
||
crazy_down |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi vielen dank für deinen Tip, ich werde das wirklich machen es ist einfach Übersichtlicher und bei der Fehlerfindung wirklich behilfich.
Code: [AUSKLAPPEN] ;Masterbaum einlesen
mastertree=LoadAnimMesh("baum.3DS") Ich glaube das sollte ein global mastertree sein oder ? denn wenn nicht funktioniert es nicht. als 2. Wird der Baum außerhalb des Terrains gesetzt und nur 1 mal stand 20. also er ermittelt irgendwie nicht die terrain koordinaten. [/code] |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group