[B3d] Gras

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

Mr.Keks

Betreff: [B3d] Gras

BeitragFr, Apr 21, 2006 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine kleine, alte Grasspielerei von mir. Wollte die hier mal einfach reintun ^^.
Wegen einiger Mediafiles ein Download.

https://www.blitzforum.de/upload/file.php?id=22
MrKeks.net
 

flashmaxel

Betreff: WoW

BeitragSa, Apr 22, 2006 22:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Sieht sehr gut aus !!! Surprised
Real C programmers never die; they cast to void.

5k41

BeitragSo, Apr 23, 2006 11:48
Antworten mit Zitat
Benutzer-Profile anzeigen
sooo erstmal ein DICKES lob von mir! Nun aber auch ein paar fragen:
Function CreateGrass(ter,ttex,texp$) wieso übergibst du ttex wenn du sie in der FUnktion nicht benutzt (oder bin ich blind)
tex = LoadTexture(texp,2)
gtex = tex
wozu nochmal in gtex speichern wenn du es nicht benutzt? (oder tust dus doch?)
; Das Gras besteht aus 10x10 Meshs. werd ich nicht ganz schlau draus... heißt das das gesamte Grass was angezeigt wird ist nur in 10 gebiete unterteilt?
; In jedem Mesh gibt's 16x16 Sprites mh komisch irgendwie sehen die einzelnen Grassbüschel garnicht so aus:
\|/
/|\
(also von oben gesehen) aber ok das kann an der Random liegen.
dist# = Sqr((EntityX(cam,0)-x*64)^2+(EntityZ(cam,0)-z*64)^2)
ist das schneller als EntityDistance?

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Mr.Keks

BeitragSo, Apr 23, 2006 13:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Gute Fragen! Very Happy Muss ich erstmal in den Code schauen. Der ist von Anfang 2004 ^^

1. ttex scheint wirklich sinnlos zu sein... Wurde bestimmt mal irgendwann genutzt. Aber kann ich mich nicht mehr dran erinnern. ^^

2. tex ist lokal und wird nur in der Funktion genutzt. gtex ist hingegen global. Darum das Spielchen Smile

3. Ja, ich denke, das heißt das. Aber das kann man ja auch ändern.

4. Nene, das sind zufälligangeordnete Quads. Die können sich natürlich kreuzen ^^.

5. Ich berechne ja nicht die EntityDistance(). Ich berechne den Abstand zwischen Meshs unter Vernachlässigung der Y-Koordinaten Smile. Und EntityDistance kocht auch nur mit Wasser... Also es ist genau so ein Pythargoras wie meins Wink
MrKeks.net

5k41

BeitragMi, Apr 26, 2006 16:59
Antworten mit Zitat
Benutzer-Profile anzeigen
schonmal vielen dank! Hat mich schonmal in mehreren sachen weitergebrach:
1. erstellung von "eigenen" sprites
2. unterteilung der map in gebiete und neue form der distanzbrechnung (beschäftige mich ja grad damit wie man am B3D Thread sieht *werbung mach*)
3.wie man ungefähr gras erstellt... werd mir demnächst dafür wahrscheinlich ne engine schreiben ( aber OHNE deinen code und mit anderen Pflanzen auch noch)

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

Steven

ehemals "Steven04"

BeitragDo, Feb 15, 2007 12:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, ich finde den code auch ganz klasse, aber ich habe folgendes Problem: Ich habe mein Terrain mit einem Programm erstellt, sodass ich es als B3D Modell gesichert habe. Nun weiß ich aber nicht, wie ich nun darauf das Gras setzen kann, weil es ja schon mit TerrainY Probleme gibt. Weiß da vllt jemand einen Rat?
Danke schonmal...

FireballFlame

BeitragDo, Feb 15, 2007 14:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, das erste, was mit spontan einfallen würde, wäre, dir dein TerrainY() durch eine Funktion zu ersetzen, die ein Objekt bis zur Kollidion von oben nach unten bewegt.
Das wird bei der Ausführung zwar Ewigkeiten dauern, aber wenn du ein b3d-Meshterrain hast, kannst das ja einmal machen und die Werte dann in einer Datei speichern.
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

DG_

BeitragDo, Feb 15, 2007 17:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

du kannst die Funktion terrainy einfach durch folgende ersetzen

Code: [AUSKLAPPEN]
Function meshterrainy#(mesh,x#,z#)
  Local mesh_hoehe# = MeshHeight#(mesh)
  Local mesh_y# = EntityY#(mesh)
  ;
  EntityPickMode mesh,2
  ;
  Local mesh2 = LinePick(x#,mesh_y#+mesh_hoehe#+10.0,z#,0.0,-1*mesh_hoehe#-10.0,0.0,0)
  Local y# = PickedY#()
  ;
  EntityPickMode mesh,0
  ;
  Return y#
End Function 


so sollte das ganze funktionieren

MfG DG_
DG_ = Der Gärtner
 

Krümel

BeitragDo, Feb 15, 2007 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Klasse gemacht!
Hab ich in irgend einem Forum schonmal gesehen, glaub ich.

StepTiger

BeitragDo, Feb 15, 2007 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Sieht nett aus, auch wenn ich diese Grasstreifen nicht so mag.

Aber (und das ist für dich als Moderator ein gewaltiges Aber):
hieß es nicht, keine Download-Only Codes im Codearchiv?
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Feb 15, 2007 20:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Upload ist ja im Forum geblieben. Es geht ja darum, dass die privaten Server irgendwan absterben und dann nur noch tote Links zur Verfügung stehen. Sollange man sich in diesem Forum befinden kann, solange kann man auch diesen Links downloaden. Wink Ich denke, dass ist das Geheimnis der ganzen Sache.

Mr.Keks

BeitragFr, Feb 16, 2007 18:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Willst mir wohl ans Bein pissen? ^^. Nunja, da das ganze hier einige Medien braucht, wäre es auch nicht weiter hilfreich gewesen, den Code hier direkt reinzusetzen.
MrKeks.net

StepTiger

BeitragFr, Feb 16, 2007 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab keinen Grund, dir ans Bein pissen zu wollen Smile
Ich persönlich verehre dich und freue mich immer über Rat von dir Smile (das mit dem Verehren ist ernst gemeint, zwar übertrieben, aber ernst Smile )
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Felat

BeitragSo, Feb 18, 2007 0:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie kann ich das Gras auf eine 512 x 512 heightmap benutzen? Ich weiss das ich muss das Gras grosser machen aber ich weiss nicht wie?...

NightPhoenix

BeitragSo, Feb 18, 2007 10:32
Antworten mit Zitat
Benutzer-Profile anzeigen
?? O.O
Gras größer machen... Scaleentity

Falls in der For Next Schleife:
Code: [AUSKLAPPEN]
for i=0 to 200
gras(i)=loadmesh("gras.3ds")
scaleentity gras(i),zahl,zahl,zahl
next


höhe des Blitzterrains heraus bekommen: TerrainY (Terrainname)


hoffe das war es was du wissen wolltest
MfG.

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group