animierte wassertextur in blitz3d - texture doesnt exist?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

bLacKsHeeP

Betreff: animierte wassertextur in blitz3d - texture doesnt exist?

BeitragFr, März 04, 2005 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,
ich habe eine animierte wassertextur mit 32 "frames" in mein terrain einfügen wollen, aber es wird gesagt, die textur existiert nicht!?

Code: [AUSKLAPPEN]
wtex1=LoadAnimTexture("Data/wasser.gif",32,256,256,1,32)

...

ScaleTexture wtex1,64,64


hilfe!!?![/code]

Rob_

BeitragFr, März 04, 2005 18:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube du must erst die texture auf ein object legen bevor du sie scalen kannst.
Zeig doch deinen ganzen code
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX
 

bLacKsHeeP

BeitragFr, März 04, 2005 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
ok
Code: [AUSKLAPPEN]

AppTitle "Giant - The Revolution"

Graphics3D 800, 600, 32, 1
SetBuffer BackBuffer()
Global terrain, Animtex, camera, detail, vmorph, water
Dim c(16,9)
Dim g(16,9)
Dim a(16,9)
Global an#

mesh_skybox = MakeSkyBox("Data\sky")

;
Const ScaleTXZ=2 ;Skalierung des Terrains in X und Z Richtung *2
Const ScaleTY=100 ;Skalierung des Terrains in Y Richtung *100
; Variablen Vordefinition
Height=GraphicsHeight()
Width=GraphicsWidth()
detail=8000
vmorph=1
help=1
shade=1
effect#=0
Font = LoadFont("Tahoma",14,1,0,0)
SetFont Font
AntiAlias True
Global sun=CreateLight(2)   ;2=Punklicht, dadurch gibt es die Wasserreflexion
   MoveEntity sun,2000,450,1300    ;Sonnenlicht an die richtige Position bringen * .
   LightColor sun,100,80,80;Lichtfarbe einstellen
   LightRange sun,2000      ;Weite einstellen
InitializeTerrain()
InitializeCamera()
SetWater()
Wire=0



tex=LoadTexture( "Data\Ground.bmp",9 )
ScaleTexture tex,4,4
tex1=LoadTexture( "Data\GrassClip.bmp",10 )
ScaleTexture tex1,1.5,1.5
ground = CreatePlane(1)
EntityTexture ground,tex : PositionEntity ground,0,-1-.005,0
EntityOrder ground,9

flare = CreatePivot( mesh_skybox )
PositionEntity flare,0,120,-300

s1 = LoadSprite("Data\lens1.jpg",2,camera) : EntityFX s1,9 : ScaleSprite s1,6,6   : EntityColor s1,255,255,242
s2 = LoadSprite("Data\lens2.jpg",2,camera) : EntityFX s2,9 : ScaleSprite s2,1.1,1.1   : EntityColor s2,255,255,220
s3 = LoadSprite("Data\lens3.jpg",2,camera) : EntityFX s3,9 : ScaleSprite s3,1.5,1.5   : EntityColor s3,255,255,200
s4 = LoadSprite("Data\lens4.jpg",2,camera) : EntityFX s4,9 : ScaleSprite s4,1.8,1.8   : EntityColor s4,255,255,180

Figur = LoadMesh("model/figur.x")
PositionEntity Figur, 230,320,55

If KeyDown(17) Then MoveEntity Figur,0,0,1
If KeyDown(30) Then MoveEntity Figur,-1,0,0
If KeyDown(32) Then MoveEntity Figur,1,0,0
If KeyDown(31) Then MoveEntity Figur,0,0,-1
RotateEntity Figur,EntityPitch(Figur)+MouseYSpeed(),EntityYaw(Figur)-MouseXSpeed(),0
ScaleMesh Figur,0.01,0.01,0.01


While Not KeyHit(1)

   PositionEntity mesh_skybox,EntityX(camera,1),EntityY(camera,1),EntityZ(camera,1)

If KeyHit(19) Then Wire=1-Wire
WireFrame Wire

; GRAVITATION

TranslateEntity camera, 0, -2, 0

; GRAVITATION ENDE

; BEWEGUNGEN

If KeyDown(16) Then MoveEntity camera,0,1,0
If KeyDown(18) Then MoveEntity camera,0,-1,0

Y#=TerrainHeight(Terrain,EntityX(Camera)/ScaleTXZ,EntityZ(Camera)/ScaleTXZ)*ScaleTY
If Y#+10>EntityY(Camera) Then PositionEntity camera,EntityX(camera),Y#+10,EntityZ(camera)

If KeyDown(44) Then TurnEntity camera,0,1,0

If KeyDown(46) Then TurnEntity camera,0,-1,0

If KeyDown(17) Then MoveEntity camera,0,0,1

If KeyDown(30) Then MoveEntity camera,-1,0,0

If KeyDown(32) Then MoveEntity camera,1,0,0

If KeyDown(31) Then MoveEntity camera,0,0,-1

; BEWEGUNGEN ENDE

; SPRINGEN
If KeyHit(57) Then sprung=10
If sprung > 0 Then
TranslateEntity camera,0,sprung,0
sprung=sprung-0.1
EndIf
; SPRINGEN ENDE

RotateEntity camera,EntityPitch(camera)+MouseYSpeed(),EntityYaw(camera)-MouseXSpeed(),0

If KeyHit(14) Then
If Effect=0 Then mode=1
If Effect=.16 Then mode=2
End If
If (mode=1) Then
Modify(256,20,Effect)
Effect#=Effect#+.01
If Effect#=0.16 mode=0
End If
If (mode=2) Then
Effect#=Effect#-.01
If Effect#=0 mode=0
Modify(256,20,Effect)
End If

If KeyHit(74) Then
detail=detail-500
If detail<0 detail=0
End If
If KeyHit(78) Then
detail=detail+500
If detail>20000 detail=20000
End If
If KeyHit(47) Then vmorph=1-vmorph
If KeyHit(20) Then shade=1-shade
TerrainDetail terrain,detail,vmorph
TerrainShading terrain,shade
RenderWorld
If KeyHit(59) Then help=1-help
If Help Then
Color 255,255,255
Text 5,15,"Detailstufe: "+detail
If vmorph Then Text 5,25,"Vertex Morphing an" Else Text 5,25,"Vertex Morphing aus"
Text 5,Height-175,"NAVIGATION:"
Text 25,Height-150,"Maus - umsehen"
Text 25,Height-135,"Q - Hoch"
Text 25,Height-120,"E - Runter"
Text 25,Height-75,"A - Links"
Text 25,Height-60,"D - Rechts"
Text 25,Height-45,"W - Vorwärts"
Text 25,Height-30,"S - Rückwärts"
Text Width-125,Height-10,"F1, um Hilfebildschirm zu deaktivieren",1,1
Color 0,255,0
Text Width-150,0,"Giants Terrain von Tibor Csötönyi",1
Text Width-150,10,"©2005 Tibor 'Jim' Csötönyi",1
Text Width/2,Height-17,"Kamera Position X:"+EntityX(Camera)+" Y:"+EntityY(Camera)+ " Z:"+EntityZ(Camera),1
End If
Flip ; Switche den aktuellen Buffer (Doublebuffering)
Wend ; Ende While Schleife
End ; Ende Hauptprogramm
Function Modify(x%,y%,Effect#)
; Setz die Kamera direkt vor das Event
PositionEntity camera,x*ScaleTXZ,40,y-50,1
RotateEntity camera,0,0,0,1
End Function
Function SetWater()
water=CreatePlane() ; Erstellen einer Fläche
PositionEntity water,0,8,0 ; Positionieren der Fläche
wtex1=LoadTexture("Data/WATER2.TGA",8) ; Wassertextur 1 laden
wtex2=LoadTexture("Data/WATER-2_MIP.BMP",8) ; Wassertextur 2 laden
ScaleTexture wtex1,64,64 ; skalieren der Texturen
ScaleTexture wtex2,15,15
EntityTexture water,wtex1,0,1 ; zuweisen der Texturen (siehe Terrain)
EntityTexture water,wtex2,0,0
TextureBlend wtex1,3 ; Wassertextur 1 addieren
EntityAlpha water,.4 ; Setzen der Objekttransparenz auf 70%
End Function
Function InitializeCamera()
camera=CreateCamera() ; Erstellen eines Kameraobjektes
PositionEntity camera,462,25,50 ; Positionieren der Kamera
RotateEntity camera,0,45,0 ; Rotation der Kamera 45° auf der Y-Achse
CameraFogMode camera,1 ; Linearer Horizontnebel AN
CameraFogColor camera,128,196,255 ; Nebelfarbe
CameraFogRange camera,350,550 ; Nebelentfernung Entfernung 0%, Entfernung 100%
CameraClsColor camera,128,196,255 ; Kamerahintergrundfarbe
End Function
Function InitializeTerrain()
terrain=LoadTerrain("Data/heightmap.jpg") ; Erstellen eines Terrainobjektes
TerrainDetail terrain,detail,vmorph ; Terraindetail einstellen
ScaleEntity terrain,ScaleTXZ,ScaleTY,ScaleTXZ ; Terrain skalieren
PositionEntity terrain,0,0,0 ; Terrain auf 0 Punkt verschieben falls es nicht dort ist
plane=CreatePlane(1) ; Horizont erstellen
PositionEntity plane,0,-1,0 ; Horizont etwas nach unten versetzen wegen ueberlappender Faces
basetex=LoadTexture("Data/terrain_text1.jpg",8) ; Grastextur laden
texlvl2=LoadTexture("Data/stone47.bmp",8) ; Erdtextur laden
texlvl1=LoadTexture("Data/heightmap_2.tga",2) ; Höhentextur laden
;Animtex=LoadAnimTexture("powerup2.bmp",8,20,20,0,18)
TextureBlend basetex,3 ; Grastextur addieren
TextureBlend texlvl2,2 ; Erdtextur multiplizieren
TextureBlend texlvl1,1 ; Höhentextur Alphakanal
;TextureBlend Animtex,3
EntityTexture terrain,basetex,0,1 ; Grastextur dem Terrain zuordnen (Index 1)
EntityTexture terrain,texlvl2,0,0 ; Erdtextur dem Terrain zuordnen (Index 0)
EntityTexture terrain,texlvl1,0,2 ; Höhentextur dem Terrain zuordnen (Index 2)
;EntityTexture terrain,Animtex,0,3
; Texturschichten:
;
; Textur Index 7 (8 Texturen sind bei Blitz3D Multitexturmaximum)
; /|\ - Höhentextur
; | - Grastextur
; Textur Index 0 - Erdtextur
; Objekt/Entity
ScaleTexture basetex,35,35 ; Grastextur skalieren X*5, Z*5
ScaleTexture texlvl2,45,45 ; Erdtextur skalieren X*15, Z*15
ScaleTexture texlvl1,512,512 ; Höhentextur skalieren X*512, Z*512
;ScaleTexture Animtex,512,512
EntityTexture plane,basetex,0,1 ; Gras und Erdtexture auch dem Horizont zuweisen in selber Ordnung
EntityTexture plane,texlvl2,0,0 ; damit es mit dem Modell identisch ist und sich nicht all zu sehr
; davon abhebt.
End Function

Function MakeSkyBox( file$ )

   m=CreateMesh()
   ;front face
   b=LoadBrush( file$+"_FR.bmp",49 )
   s=CreateSurface( m,b )
   AddVertex s,-1,+1,-1,0,0:AddVertex s,+1,+1,-1,1,0
   AddVertex s,+1,-1,-1,1,1:AddVertex s,-1,-1,-1,0,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b
   ;right face
   b=LoadBrush( file$+"_LF.bmp",49 )
   s=CreateSurface( m,b )
   AddVertex s,+1,+1,-1,0,0:AddVertex s,+1,+1,+1,1,0
   AddVertex s,+1,-1,+1,1,1:AddVertex s,+1,-1,-1,0,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b
   ;back face
   b=LoadBrush( file$+"_BK.bmp",49 )
   s=CreateSurface( m,b )
   AddVertex s,+1,+1,+1,0,0:AddVertex s,-1,+1,+1,1,0
   AddVertex s,-1,-1,+1,1,1:AddVertex s,+1,-1,+1,0,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b
   ;left face
   b=LoadBrush( file$+"_RT.bmp",49 )
   s=CreateSurface( m,b )
   AddVertex s,-1,+1,+1,0,0:AddVertex s,-1,+1,-1,1,0
   AddVertex s,-1,-1,-1,1,1:AddVertex s,-1,-1,+1,0,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b
   ;top face
   b=LoadBrush( file$+"_UP.bmp",49 )
   s=CreateSurface( m,b )
   AddVertex s,-1,+1,+1,0,1:AddVertex s,+1,+1,+1,0,0
   AddVertex s,+1,+1,-1,1,0:AddVertex s,-1,+1,-1,1,1
   AddTriangle s,0,1,2:AddTriangle s,0,2,3
   FreeBrush b

   ScaleMesh m,100,100,100
   FlipMesh m
   EntityFX m,9
   EntityOrder m,10
   Return m
   
End Function

lucifer

BeitragFr, März 04, 2005 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Man kann keine .gif Datein laden. Also gibt es die Texture auch nicht.
Aktuelles Projekt:
Demonspawn
RPG
 

Kifferopa

Gast

BeitragFr, März 04, 2005 19:24
Antworten mit Zitat
Rob_ hat Folgendes geschrieben:
Ich glaube du must erst die texture auf ein object legen bevor du sie scalen kannst.


Muss man nicht...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group