kollisionsbox für bäume

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

bLacKsHeeP

Betreff: kollisionsbox für bäume

BeitragMi, März 09, 2005 15:19
Antworten mit Zitat
Benutzer-Profile anzeigen
hoi,
ich hab alle online hilfen durchgeguckt aber ich komm nit weiter. ich will kollisionen bei meinem baum haben.
hier der code:
Code: [AUSKLAPPEN]
tree=LoadMesh("model/tree.3ds")
PositionEntity tree, 500, 15, 500
Collisions 1,2,2,2


ich weiß selbst nicht wirklich, was die zahlen bedeuten solln...
helft mir^^

regaa

BeitragMi, März 09, 2005 15:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann solltest du dir alle Onlinehilfe nochmal angucken.
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

Jan_

Ehemaliger Admin

BeitragMi, März 09, 2005 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Zahlen legen fest, welches Objekt mit welchen, --> der Baum muss erstmal zu einer Kollisionsgruppe zugewiesen werden.
between angels and insects
 

bLacKsHeeP

BeitragMi, März 09, 2005 15:23
Antworten mit Zitat
Benutzer-Profile anzeigen
wie mach ich das?^^

lucifer

BeitragMi, März 09, 2005 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit EntityType.
Aktuelles Projekt:
Demonspawn
RPG
 

bLacKsHeeP

BeitragMi, März 09, 2005 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
genauer bitte, is ja nich umsonst dit beginner forum *g*

Jan_

Ehemaliger Admin

BeitragMi, März 09, 2005 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
bLacKsHeeP hat Folgendes geschrieben:
genauer bitte, is ja nich umsonst dit beginner forum *g*
Noch so ein Spruch, Leistenbruch

www.blitzbase.de
between angels and insects

regaa

Betreff: Re: kollisionsbox für bäume

BeitragMi, März 09, 2005 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
bLacKsHeeP hat Folgendes geschrieben:
hoi,
ich hab alle online hilfen durchgeguckt aber ich komm nit weiter.


Du lügst ohne rot zu werden.
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

Jan_

Ehemaliger Admin

BeitragMi, März 09, 2005 15:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Genaueres erfährst du hier:

http://www.blitzbase.de/menu/3h.htm
between angels and insects
 

bLacKsHeeP

BeitragMi, März 09, 2005 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
hat mir nicht wirklich weitergeholfen
code
Code: [AUSKLAPPEN]

tree=LoadMesh("model/tree.3ds")
PositionEntity tree, 500, 15, 500
EntityType tree,1
Collisions 1,2,2,2


was mach ich falsch?

Jan_

Ehemaliger Admin

BeitragMi, März 09, 2005 15:37
Antworten mit Zitat
Benutzer-Profile anzeigen
es kriegt den Type 2, weil es sich nciht bewegt.
hast du den player schon initzialisiert?
between angels and insects
 

bLacKsHeeP

BeitragMi, März 09, 2005 15:41
Antworten mit Zitat
Benutzer-Profile anzeigen
der player ist die kamera....
 

bLacKsHeeP

BeitragMi, März 09, 2005 15:53
Antworten mit Zitat
Benutzer-Profile anzeigen
ok..hier mein ganzer code:
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")



; BAUM
tree=LoadMesh("model/tree.3ds")
PositionEntity tree, 500, 15, 500
EntityType tree,2
; BAUM ENDE

; BAUM
tree2=LoadMesh("model/tree.3ds")
PositionEntity tree2, 360, 15, 400
EntityType tree2,2
; BAUM ENDE

; BAUM
tree3=LoadMesh("model/tree.3ds")
PositionEntity tree3, 350, 15, 530
EntityType tree3,2
; BAUM ENDE

; BAUM
tree4=LoadMesh("model/tree.3ds")
PositionEntity tree4, 350, 15, 444
EntityType tree4,2
; BAUM ENDE

; BAUM
tree5=LoadMesh("model/tree.3ds")
PositionEntity tree5, 590, 15, 520
EntityType tree5,2
; BAUM ENDE

; BAUM
tree6=LoadMesh("model/tree.3ds")
PositionEntity tree6, 720, 12, 300
EntityType tree6,2
; BAUM ENDE

; BAUM
tree7=LoadMesh("model/tree.3ds")
PositionEntity tree7, 820, 10, 500
EntityType tree7,2
; BAUM ENDE

; BAUM
tree8=LoadMesh("model/tree.3ds")
PositionEntity tree8, 420, 12, 500
EntityType tree8,2
; BAUM ENDE



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

;* Auf der Skytextur "sky_f.bmp" ist nämlich die Sonne schon eingezeichnet.
;Jetzt muss noch die 3D-Sonne zurecht positioniert werden, damit die Lensflares auch richtig stimmen.

;Variabalen für Lensflares
Global displaywidth = GraphicsWidth()
Global displayheight = GraphicsHeight()
Global lensflaresvisible% = False

;Arrays der Flares (=Blendenflecken)
Dim flareorig(4)
Dim  flare(7)

;Sonstige Entitys für die Lensflares
Global hudoverlay
;
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
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

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

; KOLLISIONEN
Collisions 1,2,2,1
;KOLLISIONEN 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.9
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 InitializeCamera()
camera=CreateCamera() ; Erstellen eines Kameraobjektes
EntityType camera,1
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 SetWater()
water=CreatePlane() ; Erstellen einer Fläche
PositionEntity water,0,8,0 ; Positionieren der Fläche
wtex1=LoadAnimTexture("Data/wateranim.jpg",264,124,124,0,25) ; Wassertextur 1 laden
wtex2=LoadTexture("Data/water1.jpg",64) ; 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,.6 ; Setzen der Objekttransparenz auf 70%
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,2048,2048 ; 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

Jan_

Ehemaliger Admin

BeitragMi, März 09, 2005 15:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Sage nicht, das das dein Code ist, der sieht sehr geklaut aus (75% jedenfalls)
between angels and insects
 

bLacKsHeeP

BeitragMi, März 09, 2005 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe mir teils ein beispiel genommen an der semesterarbeit auf robsite.de

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group