wasser wie in wow
Übersicht

lukasimgruetBetreff: wasser wie in wow |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie schaffe ich es das mein Wasser wie in WoW aussieht?
Das besteht ja nir aus einer Fläche und Sprites. Oder kann ich ein gif. Bild von animiertem Wasser auf die Plane einfügen? |
||
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Könntest du das Wasser aus WoW einmal für nicht-WoW-Spieler beschreiben? ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gif Animationen kann man so nicht in B3D benutzen. Du kannst sie aber zu einem Strip umwandeln und LoadAnimTexture![]() Schau mal in den Showcase: https://www.blitzforum.de/showcase/344/ |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
lukasimgruet |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also das wasser sieht so aus:
http://p3.focus.de/img/gen/q/S..._467xA.jpg |
||
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
DU könntest ja auch MultiTexturing benutzen und jede Textur dann etwas anders bewegen, damit kann man ganz schöne Wellen-Effekte machen. Und falls du auch noch so eine Brandung haben möchtest, so kannst du dies ganz einfach mit Sprites erreichen. | ||
lukasimgruet |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gibt es ein Beispiel dafür? | ||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es geht ganz leicht, du musst nur B3D lernen. Hilfreich: EntityAlpha![]() ![]() ![]() |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
lukasimgruet |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja, da bin ich gerade dran. Ich muss also viele einzelne Bilder nebeneinander tun? | ||
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzHilfe sagt dazu :
Zitat: Diese Anweisung lädt eine animierte Textur. Es funktioniert eigentlich wie LoadTexture, nur enthält dieses Bild gleich mehrere kleine Texturteile nebeneinander. Jede Textur hat die gleiche Breite und Höhe. Es dürfen auch keine Lücken zwischen den Bildern vorkommen. Wenn man die Animation mit EntityTexture zuweist, dann muss man das Animation-Frame angeben.
Du solltest schon Links auch lesen wenn man sich schon die Mühe macht sie dir zu posten. cu |
||
lukasimgruet |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es geht bei mir net kann mir bitte jemand helfen?
Code: [AUSKLAPPEN] water=CreatePlane() watertex = LoadAnimTexture("wasser.jpg", 1, 1024, 128, 1, 8) EntityTexture water, watertex EntityShininess water,1 MoveEntity water,0,265,0 EntityAlpha water,0.8 Es kommt die Fehlermeldung das die Textur nicht existiert. Sie ist aber im gleichen Verzeichnis. |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sicher, dass jeder Frame (jedes Einzelbild) eine Größe von 1024 hat? Wohl eher 128, oder? | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
lukasimgruet |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
es wird nun zwar angezeigt aber nicht animiert ![]() Hier mal der ganze Code: Code: [AUSKLAPPEN] Graphics3D 1680,1050,32,1 SetBuffer BackBuffer() Const Walk_1=1, Walk_2=2 terrain=LoadTerrain("Heightmap.jpg") text1=LoadTexture ("colormap.png") text2=LoadTexture ("mapt2.bmp") EntityTexture terrain,text1,0,0 EntityTexture terrain,text2,0,1 TerrainDetail terrain,8000 ScaleEntity terrain,50,900,50 ScaleTexture text1,256,256 ScaleTexture text2,3,3 MoveEntity terrain,0,0,0 EntityType terrain, 1 water=CreatePlane() watertex = LoadAnimTexture("wasser.jpg", 1, 128, 128, 0, 8) EntityTexture water, watertex EntityShininess water,1 MoveEntity water,0,265,0 EntityAlpha water,0.8 skytex = LoadTexture("sky2.jpg",1+8+16+32) sky = CreateSphere(64) FlipMesh sky EntityFX sky,1+16 ScaleEntity sky,24000,18000,24000 EntityOrder sky,1000 EntityTexture sky,skytex MoveEntity sky,5000,0,6000 cam = CreateCamera() MoveEntity cam,0,300,0 CameraFogMode cam, 2 CameraRange cam,1,30000 CameraFogRange cam,100,6000 CameraFogColor cam,40,140,255 CameraClsColor cam,40,140,255 EntityType cam, 2 EntityRadius cam, 10, 10 light=CreateLight() TurnEntity light,45,90,0 dwarf = LoadMD2("modelle/söldner.md2") dwarf_tex = LoadTexture("texturen/söldner.tga") EntityTexture dwarf, dwarf_tex PositionEntity dwarf,4000,390,3500 EntityType dwarf,2 ScaleEntity dwarf,2,2,2 EntityRadius dwarf, 45 Collisions 2,1,2,2 While Not KeyHit(1) RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 MoveMouse 512,384 If KeyDown(32) MoveEntity cam,-50,0,0 If KeyDown(17) MoveEntity cam,0,0,50 If KeyDown(31) MoveEntity cam,0,50,0 If KeyDown(30) MoveEntity cam,50,0,0 If KeyDown(203) MoveEntity dwarf,-20,0,0 If KeyDown(208) MoveEntity dwarf,0,0,20 If KeyDown(200) MoveEntity dwarf,0,20,0 If KeyDown(205) MoveEntity dwarf,20,0,0 TranslateEntity dwarf,0,-.35,0 ; schwerkraft If KeyHit(57) = 1 Then start = 3 - start AnimateMD2 dwarf, 1, 0.1, 2, 40 EndIf UpdateWorld() RenderWorld() Flip Wend ClearWorld |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
das musst du schon selbst übernehmen und alle zB 100 ms einen counter weiter laufen lassen kannst dir ja bom 3. BCC mein game Parcour angucken das macht genau das mit der Hintergrundtextur | ||
![]() |
faeX |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich tippe ja bei dem WoW-Wasser eher auf Bumpmapping, aber das wäre jetzt wohl doch viel zu kompliziert. Je nachdem wieviele Einzelbilder deine Textur hat, kannst du ganz einfach eine Animation machen:
Code: [AUSKLAPPEN] Const intMilliSecsPerFrame% = 100 Const intFrameCount% = 16 ; ANZAHL DER FRAMES EINSETZEN!!! EntityTexture water, watertex, Int((MilliSecs()/intMilliSecsPerFrame) Mod intFrameCount) "intMilliSecsPerFrame" definiert, wie lange ein Einzelbild angezeigt werden soll. ![]() Nun, wie funktioniert der Code? Der sogenannte Index für ein Einzelbild bei einer animierten Textur startet bei 0 und endet bei der Anzahl der Einzelbilder minus 1. Bei 16 Einzelbilder wären also die Nummern (Index) von 0 bis 15. Mit MilliSecs()/intMilliSecsPerFrame rastern wir die Zeit. Das heißt der Wert der rauskommt erhöht sich nicht mehr jede Millisekunde um 1, sondern alle 100 Millisekunden um 1, läuft also 100 mal so langsam. Damit jetzt aber nach 1,6 Sekunden der Wert bei 16 liegt (das würde ja einen Laufzeitfehler verursachen, das 16. Bild gibt es ja nicht) wird noch ein Mod ![]() Ein paar Beispiele: 5 Mod 2 = 1 8 Mod 8 = 0 700 Mod 150 = 100 10 Mod 8 = 2 Ja, ich hatte ziemliche Langeweile, als ich dieses Beispiel geschrieben hab'... Und gib dir gefälligst Mühe, das zu verstehen! ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group