himmel und Sichtweite
Übersicht

bjh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ups da hab ich was falsches geschrieben. ![]() die entfernugen hab ich falsch hingeschrieben. eigentlich sollte es mit 1,3000 gut funktionieren. du musst noch BlitzBasic: [AUSKLAPPEN] FlipMesh skymachen. jetzt bin ich endlich draufgekommen ![]() ich glaube, dass das der fehler war |
||
![]() |
monkfurts |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok ![]() 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) |
||
![]() |
monkfurts |
![]() Antworten mit Zitat ![]() |
---|---|---|
ein screenshot
![]() und der code allerdings noch etwas unordentlich ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Setz mal das ans Ende deiner Hauptschleife (und das andere RenderWorld und UpdateWorld() natürlich entfernen).
BlitzBasic: [AUSKLAPPEN]
Übrigens solltest du dir das hier noch angucken, ist ganz praktisch: https://www.blitzforum.de/foru...ight=hurra |
||
--- |
bjh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh mein Gott.
Es funktioniert!!! Ich binn dir so dankbar. ![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
meinst du er dreht sich?
dann mach vor renderworld und am besten nach updateworld noch ein rotateentity sky,0,0,0,1 |
||
![]() |
monkfurts |
![]() Antworten mit Zitat ![]() |
---|---|---|
perfekt funktioniert ![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
soweit ich weiß bringt das in 3d nichts
und schön, dass ich dir helfen konnte ![]() wenn sonst noch was ist, einfach schreiben. und viel spaß beim programmieren. ![]() |
||
![]() |
monkfurts |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok dann was das
danke ![]() |
||
win 7 ultimate 64-bit | core i7 2600k 4x3,4 ghz | nvidia gtx 560-ti oc | 6gb ram |
![]() |
monkfurts |
![]() Antworten mit Zitat ![]() |
---|---|---|
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. ![]() |
||
win 7 ultimate 64-bit | core i7 2600k 4x3,4 ghz | nvidia gtx 560-ti oc | 6gb ram |
bjh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich glaub, ich kenn die textur ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group