himmel und Sichtweite

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

bjh

BeitragFr, Nov 25, 2011 23:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ups da hab ich was falsches geschrieben. Very Happy
die entfernugen hab ich falsch hingeschrieben.

eigentlich sollte es mit 1,3000 gut funktionieren.

du musst noch BlitzBasic: [AUSKLAPPEN]
FlipMesh sky
machen.
jetzt bin ich endlich draufgekommen Wink
ich glaube, dass das der fehler war

monkfurts

BeitragSa, Nov 26, 2011 0:05
Antworten mit Zitat
Benutzer-Profile anzeigen
hab ich doch schon.

sky = CreateSphere()
ScaleEntity sky, 5, 5, 5
PositionEntity sky, EntityX(cam), EntityY(cam), EntityZ(cam)
EntityParent sky, cam
EntityTexture sky,loadtexture("data\tex\sky.jpg")
FlipMesh sky
EntityOrder sky,10

Kann es sein das die Textur zu groß ist (1024x1024).
Andererseits wenn es an der textur liegen würde könnte ich ja zu mindest eine graue sphere sehen.
win 7 ultimate 64-bit | core i7 2600k 4x3,4 ghz | nvidia gtx 560-ti oc | 6gb ram
 

bjh

BeitragSa, Nov 26, 2011 0:15
Antworten mit Zitat
Benutzer-Profile anzeigen
ok Wink
was genau funktioniert nicht?
versuchs doch mal mit einer anderen textur und so.
oder poste mal den ganzen code.

versuch mal das:
BlitzBasic: [AUSKLAPPEN]
sky = CreateSphere(cam)
ScaleEntity sky, 5, 5, 5
EntityTexture sky,LoadTexture("data\tex\sky.jpg")
FlipMesh sky
EntityOrder sky,1

monkfurts

BeitragSa, Nov 26, 2011 0:28
Antworten mit Zitat
Benutzer-Profile anzeigen
ein screenshot
user posted image


und der code
allerdings noch etwas unordentlich Very Happy


Code: [AUSKLAPPEN]
Graphics3D 0,0,32,1
SetBuffer = BackBuffer


;objecte laden
light = CreateLight()
cam = CreateCamera() 
CameraRange cam,1,3000
gun = LoadMesh("data\cin\guns.3ds")
gun2 = LoadMesh("data\cin\guns.3ds")
cube = CreateCube()
ScaleEntity cube,1,1,1
quader = CreateCube()
ter = LoadMesh("data\cin\ter.3ds")
maue = LoadMesh("data\cin\wall.3ds")
wür = CreateCube()
halle = LoadMesh("data\cin\halle.3ds")
zmauer = LoadMesh("data\cin\zmauer.3ds")
streben = LoadMesh("data\cin\streben.3ds")
ziel = LoadMesh("data\cin\ziel.3ds")

;----------------------------------
;texturen
boden = LoadTexture("data\tex\ground.jpg")

punkt = LoadImage("data\tex\rotpunkt.png")
metal = LoadTexture("data\tex\metal.jpg",16)
mauer = LoadTexture("data\tex\mauer.jpg")
boden = LoadTexture("data\tex\ground.jpg")
wand = LoadTexture("data\tex\wand.jpg")
mauera = LoadTexture("data\tex\mauera.jpg")
strebent = LoadTexture("data\tex\strebenj.jpg")
skyt = LoadTexture("data\tex\sky.jpg")

EntityTexture streben,strebent
EntityTexture halle,mauera
EntityTexture zmauer,wand
EntityTexture maue,mauer
EntityTexture ter,boden

ScaleTexture mauera,0.05,0.2
ScaleTexture boden,0.2,0.2
ScaleTexture mauer,0.08,0.5
ScaleTexture wand,0.06,0.4

;----------------------------------------
;positionieren scalieren drehen
PositionEntity cube,EntityX(cam),EntityY(cam) -10,EntityZ(cam)
PositionEntity gun,EntityX(cam),EntityY(cam),EntityZ(cam)
PositionEntity gun2,EntityX(cam),EntityY(cam),EntityZ(cam)
MoveEntity gun,EntityX(cam),EntityY(cam)-5,EntityZ(cam)+20
MoveEntity gun2,EntityX(cam),EntityY(cam)-5,EntityZ(cam)+20
MoveEntity cube,0,0,0
PositionEntity ziel,50,500,500
ScaleEntity ziel,500,50,500

EntityParent cam,cube
EntityParent gun,cam
EntityParent gun2,cam
MoveEntity cube,EntityX(cam),300,EntityZ(cam)
MoveEntity cube,EntityX(ter),EntityY(ter)+ 200,EntityZ(ter)
MoveEntity cam,0,30,0
MoveEntity zmauer,0,-28,0
MoveEntity streben,0,61,0
TurnEntity gun,0,180,0
TurnEntity gun2,0,180,0
MoveEntity gun,8,-2.5,0
MoveEntity gun2,-8,-2.5,0
;-------------------------------------------------------------
EntityType cube,1
EntityType ter,2
EntityType maue,2
EntityType halle,2
EntityType zmauer,2
EntityType ziel,3
;skybox

sky = CreateSphere()
ScaleEntity sky, 5, 5, 5
PositionEntity sky, EntityX(cam), EntityY(cam), EntityZ(cam)
EntityParent sky, cam
EntityTexture sky,skyt
FlipMesh sky
EntityOrder sky,1


;--------------------------------------------------------------

statusy=0
schuss# = 0

Collisions 1,2,2,3
Collisions 1,3,2,3
Collisions 3,2,2,3
EntityPickMode ziel,2
entity = CameraPick(cam,1366/2,768/2)
msy# = MouseYSpeed()
msx# = MouseXSpeed()
gunturnz# = 0


While Not KeyHit(1)

RenderWorld
UpdateWorld

DrawImage punkt,1366/2-16,768/2-16
   entity = CameraPick(cam,1366/2,768/2) 
   If entity <> 0 And MouseDown(1) Then schuss# = schuss# + 0.01
Flip
msy# = MouseYSpeed()
msx# = MouseXSpeed()
If KeyDown(17) Then MoveEntity cube,0,0,1.2
If KeyDown(42) And KeyDown(17) Then MoveEntity cube,0,0,2
If KeyDown(31) Then MoveEntity cube,0,0,-0.6
If KeyDown(32) Then MoveEntity cube,0.4,0,0
If KeyDown(30) Then MoveEntity cube,-0.4,0,0
If KeyDown(19) Then WireFrame 1
If KeyDown(20) Then WireFrame 0
Animating(gun)
TurnEntity cam, msy#/2,0,0
TurnEntity cube,0, -msx#/2,0
MoveEntity cube,0,-2,0
MoveMouse 1366/2,768/2
If MouseDown(1) And gunturnz# < 7 Then gunturnz# = gunturnz# + 0.06
If Not MouseDown(1) Then gunturnz# = gunturnz# - 0.08
If gunturnz# < 0 Then gunturnz# = 0
TurnEntity gun2,0,0,-gunturnz#
TurnEntity gun,0,0,gunturnz#
If schuss# < 1 MoveEntity ziel,0,-2,0
If schuss# = 1 Then FreeEntity ziel
If schuss# > 1 Then schuss# = 2

Wend




 

Lakorta

BeitragSa, Nov 26, 2011 0:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Setz mal das ans Ende deiner Hauptschleife (und das andere RenderWorld und UpdateWorld() natürlich entfernen).

BlitzBasic: [AUSKLAPPEN]

UpdateWorld() ;<--- Vor RenderWorld() ausführen
RenderWorld()
Flip()


Übrigens solltest du dir das hier noch angucken, ist ganz praktisch: https://www.blitzforum.de/foru...ight=hurra
---
 

bjh

BeitragSa, Nov 26, 2011 0:47
Antworten mit Zitat
Benutzer-Profile anzeigen
setz mal das ein, was ich gepostet hab.

bei dem ganzen verschieben:
Zitat:
PositionEntity cube,EntityX(cam),EntityY(cam) -10,EntityZ(cam)
PositionEntity gun,EntityX(cam),EntityY(cam),EntityZ(cam)
PositionEntity gun2,EntityX(cam),EntityY(cam),EntityZ(cam)
MoveEntity gun,EntityX(cam),EntityY(cam)-5,EntityZ(cam)+20
MoveEntity gun2,EntityX(cam),EntityY(cam)-5,EntityZ(cam)+20
MoveEntity cube,0,0,0
PositionEntity ziel,50,500,500
ScaleEntity ziel,500,50,500

kann es gut möglich sein, dass da dein sky irgendwo ist.

monkfurts

BeitragSa, Nov 26, 2011 0:55
Antworten mit Zitat
Benutzer-Profile anzeigen
1.
Der Himmel wird immer noch nicht angezeigt.
Außerdem flimmert alles.
Als wäre jedes zweite bild schwarz.

2.
Außerdem verstehe ich nicht was das mit den link soll.
Ist mein spiel so schlecht programmiert das es total langsam leuft.
ich hab 2% CPU und 4% Grafikkarten Auslastung beim spielen.
win 7 ultimate 64-bit | core i7 2600k 4x3,4 ghz | nvidia gtx 560-ti oc | 6gb ram

monkfurts

BeitragSa, Nov 26, 2011 1:04
Antworten mit Zitat
Benutzer-Profile anzeigen
bjh hat Folgendes geschrieben:
setz mal das ein, was ich gepostet hab.
kann es gut möglich sein, dass da dein sky irgendwo ist.


Dass verstehe ich jetzt nicht.
Was soll ich reinfügen.

Meinst du das bei dem einem ein Cam in der klammer steht.
denn dann kommt ne Fehlermeldung
win 7 ultimate 64-bit | core i7 2600k 4x3,4 ghz | nvidia gtx 560-ti oc | 6gb ram
 

bjh

BeitragSa, Nov 26, 2011 1:04
Antworten mit Zitat
Benutzer-Profile anzeigen
nein ich denke er meint das wegen update- und renderworld.
das mit dem flimmern musst du so machen:

while not keyhit(1)

;alles, was mit 3d zu tun hat

updateworld
renderworld

;alles, was mit 2d zu tun hat, z.b. drawimage

flip

wend
end


du kannst aber statt nur dem flip am anfang vor graphicsBlitzBasic: [AUSKLAPPEN]
timer=CreateTimer(60)
schreiben und dann in der hauptschleife anstatt flip BlitzBasic: [AUSKLAPPEN]
WaitTimer timer
Flip 0


das schont den pc noch mehr
kannst in der hilfe nachlesen

und funktioniert das mit dem himmel jetzt?

ich hab einen fehler gemacht :
setzt mal das ein: BlitzBasic: [AUSKLAPPEN]
sky=CreateSphere(10,cam)

man muss nämlich erst noch die segmentanzahl angeben

monkfurts

BeitragSa, Nov 26, 2011 1:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Also jetzt Kenn ich mich gar nicht mehr aus.
Das mit dem flimmern ist jetzt gelöst.
Das mit dem himmel funktioniert nicht .
Ich schreib noch mal meinen aktuellen Code da ich mich nicht weis ob ich alles richtig gemacht habe


Code: [AUSKLAPPEN]
timer=CreateTimer(60)
Graphics3D 0,0,32,1
SetBuffer = BackBuffer
Wire = 128
AntiAlias 0
;objecte laden
light = CreateLight()
cam = CreateCamera() 
CameraRange cam,1,3000
gun = LoadMesh("data\cin\guns.3ds")
gun2 = LoadMesh("data\cin\guns.3ds")
cube = CreateCube()
ScaleEntity cube,1,1,1
quader = CreateCube()
ter = LoadMesh("data\cin\ter.3ds")
maue = LoadMesh("data\cin\wall.3ds")
wür = CreateCube()
halle = LoadMesh("data\cin\halle.3ds")
zmauer = LoadMesh("data\cin\zmauer.3ds")
streben = LoadMesh("data\cin\streben.3ds")
ziel = LoadMesh("data\cin\ziel.3ds")

;----------------------------------
;texturen
boden = LoadTexture("data\tex\ground.jpg")

punkt = LoadImage("data\tex\rotpunkt.png")
metal = LoadTexture("data\tex\metal.jpg",16)
mauer = LoadTexture("data\tex\mauer.jpg")
boden = LoadTexture("data\tex\ground.jpg")
wand = LoadTexture("data\tex\wand.jpg")
mauera = LoadTexture("data\tex\mauera.jpg")
strebent = LoadTexture("data\tex\strebenj.jpg")
skyt = LoadTexture("data\tex\sky.jpg")

EntityTexture streben,strebent
EntityTexture halle,mauera
EntityTexture zmauer,wand
EntityTexture maue,mauer
EntityTexture ter,boden

ScaleTexture mauera,0.05,0.2
ScaleTexture boden,0.2,0.2
ScaleTexture mauer,0.08,0.5
ScaleTexture wand,0.06,0.4

;----------------------------------------
;positionieren scalieren drehen
PositionEntity cube,EntityX(cam),EntityY(cam) -10,EntityZ(cam)
PositionEntity gun,EntityX(cam),EntityY(cam),EntityZ(cam)
PositionEntity gun2,EntityX(cam),EntityY(cam),EntityZ(cam)
MoveEntity gun,EntityX(cam),EntityY(cam)-5,EntityZ(cam)+20
MoveEntity gun2,EntityX(cam),EntityY(cam)-5,EntityZ(cam)+20
MoveEntity cube,0,0,0
PositionEntity ziel,50,500,500
ScaleEntity ziel,500,50,500

EntityParent cam,cube
EntityParent gun,cam
EntityParent gun2,cam
MoveEntity cube,EntityX(cam),300,EntityZ(cam)
MoveEntity cube,EntityX(ter),EntityY(ter)+ 200,EntityZ(ter)
MoveEntity cam,0,30,0
MoveEntity zmauer,0,-28,0
MoveEntity streben,0,61,0
TurnEntity gun,0,180,0
TurnEntity gun2,0,180,0
MoveEntity gun,8,-2.5,0
MoveEntity gun2,-8,-2.5,0

sky = CreateSphere()
ScaleEntity sky, 5, 5, 5
EntityTexture sky,LoadTexture("data\tex\sky.jpg")
FlipMesh sky
EntityOrder sky,1
;-------------------------------------------------------------
EntityType cube,1
EntityType ter,2
EntityType maue,2
EntityType halle,2
EntityType zmauer,2
EntityType ziel,3



;--------------------------------------------------------------

statusy=0
schuss# = 0

Collisions 1,2,2,3
Collisions 1,3,2,3
Collisions 3,2,2,3
EntityPickMode ziel,2
entity = CameraPick(cam,1366/2,768/2)
msy# = MouseYSpeed()
msx# = MouseXSpeed()
gunturnz# = 0


While Not KeyHit(1)
   entity = CameraPick(cam,1366/2,768/2) 
   If entity <> 0 And MouseDown(1) Then schuss# = schuss# + 0.01



msy# = MouseYSpeed()
msx# = MouseXSpeed()
If KeyDown(17) Then MoveEntity cube,0,0,1.2
If KeyDown(42) And KeyDown(17) Then MoveEntity cube,0,0,2
If KeyDown(31) Then MoveEntity cube,0,0,-0.6
If KeyDown(32) Then MoveEntity cube,0.4,0,0
If KeyDown(30) Then MoveEntity cube,-0.4,0,0
If KeyDown(19) Then WireFrame 1
If KeyDown(20) Then WireFrame 0
Animating(gun)
TurnEntity cam, msy#/2,0,0
TurnEntity cube,0, -msx#/2,0
MoveEntity cube,0,-2,0
MoveMouse 1366/2,768/2
If MouseDown(1) And gunturnz# < 7 Then gunturnz# = gunturnz# + 0.06
If Not MouseDown(1) Then gunturnz# = gunturnz# - 0.08
If gunturnz# < 0 Then gunturnz# = 0
TurnEntity gun2,0,0,-gunturnz#
TurnEntity gun,0,0,gunturnz#
If schuss# < 1 MoveEntity ziel,0,-2,0
If schuss# = 1 Then FreeEntity ziel
If schuss# > 1 Then schuss# = 2
UpdateWorld()
RenderWorld()
DrawImage punkt,1366/2-16,768/2-16

WaitTimer timer
Flip 0
Wend
win 7 ultimate 64-bit | core i7 2600k 4x3,4 ghz | nvidia gtx 560-ti oc | 6gb ram
 

bjh

BeitragSa, Nov 26, 2011 1:19
Antworten mit Zitat
Benutzer-Profile anzeigen
ich schreibe immer BlitzBasic: [AUSKLAPPEN]
SetBuffer BackBuffer()
aber das ist wahrscheinlich egal.

ersetzte jetzt mal das sky=createsphere() durch sky=createsphere(10,cam) und lass das entityparent sky,cam und positionentity sky,... weg.

monkfurts

BeitragSa, Nov 26, 2011 1:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh mein Gott.
Es funktioniert!!!
Ich binn dir so dankbar. Very Happy
Nur der himmel bewegt sich mit der Kamera mit.
Was kann ich tun.
win 7 ultimate 64-bit | core i7 2600k 4x3,4 ghz | nvidia gtx 560-ti oc | 6gb ram
 

bjh

BeitragSa, Nov 26, 2011 1:28
Antworten mit Zitat
Benutzer-Profile anzeigen
meinst du er dreht sich?
dann mach vor renderworld und am besten nach updateworld noch ein rotateentity sky,0,0,0,1

monkfurts

BeitragSa, Nov 26, 2011 1:36
Antworten mit Zitat
Benutzer-Profile anzeigen
perfekt funktioniert Smile

Jetzt hab ich noch ne frage hat zwar nix mit himmel zu tun
aber warum ändert sich nichts wenn ich antialias anmache.
Ich hab mal den Beispielcode aus der Hilfe genommen
und dann gestartet. Wenn ich dann lehr-taste drücke ändert sich am treppeneffect nichts.
win 7 ultimate 64-bit | core i7 2600k 4x3,4 ghz | nvidia gtx 560-ti oc | 6gb ram
 

bjh

BeitragSa, Nov 26, 2011 1:40
Antworten mit Zitat
Benutzer-Profile anzeigen
soweit ich weiß bringt das in 3d nichts

und schön, dass ich dir helfen konnte Wink
wenn sonst noch was ist, einfach schreiben.
und viel spaß beim programmieren. Very Happy

monkfurts

BeitragSa, Nov 26, 2011 1:41
Antworten mit Zitat
Benutzer-Profile anzeigen
ok dann was das
danke Very Happy
win 7 ultimate 64-bit | core i7 2600k 4x3,4 ghz | nvidia gtx 560-ti oc | 6gb ram

monkfurts

BeitragSa, Nov 26, 2011 18:23
Antworten mit Zitat
Benutzer-Profile anzeigen
ein Problem wär da noch.
Wenn ich nach oben sehen sind da so falten.
Also da lauft alles zusammen.
Mit positiontexture oder turnentiy hab ich es nicht ändern können.
user posted image[/URL]
win 7 ultimate 64-bit | core i7 2600k 4x3,4 ghz | nvidia gtx 560-ti oc | 6gb ram
 

bjh

BeitragSa, Nov 26, 2011 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
ich glaub, ich kenn die textur Wink
das problem hat man halt mit einer sphere.
vielleicht kannst du sie um 90° drehen und ein bisschen nach unten verschieben, damit diese 2 enden unter dem horizont sind.
oder du veränerst die textur so, dass man das nicht mehr sieht.

monkfurts

BeitragSa, Nov 26, 2011 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja die Textur hab ich eh nur zum testen aus dem Internet gezogen.
Vielen Dank.
win 7 ultimate 64-bit | core i7 2600k 4x3,4 ghz | nvidia gtx 560-ti oc | 6gb ram

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group