Updateworld problem

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Schnuff

Betreff: Updateworld problem

BeitragDi, Okt 17, 2006 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
hi, ich bin gerade dabei ein 3D Shooter zu proggen, momentan habe ich ein kleines level und man steuert die kammera...

jetzt habe ich das problem, wenn ich vor reenderworld einCode: [AUSKLAPPEN]
updateworld
setze, wird das Koordinaten verhältnis abgeändert(wenn ich laut anzeige im hau bin, bin ich aussen vor,...)
nehme ich es aber raus, funktionieren die collisionen nicht mehr.

was ist da das problem Question
Programmers dont die. They gosub without return...
 

Dreamora

BeitragDi, Okt 17, 2006 17:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnten wir etwas Code bekommen?
Deine Erklärung macht relativ wenig Sinn, denn was Updateworld macht ist die Transformationen berechnen und propagandieren sowie Kollisionen berechnen und ein paar andere Dinge.

Koordinatenverhältnis wird nix abgehändert, ausser du hast alles an ein Pivot gepackt und das pivot nicht uniform skaliert (x,y,z scale unterschiedlich), da dann auch alle Childs entsprechend schief skaliert werden.

Auch ist es sinnvoll, bei Meshes die für Polygonkollision genutzt werden sollen, ScaleMesh zu nehmen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Blitzcoder

Newsposter

BeitragDi, Okt 17, 2006 17:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du vielleicht Updateworld irgendwann vergessen, und versucht Sachen zu animieren? Und dann aufgegeben, aber einen animate Befehl dringelassen?
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)
 

Schnuff

BeitragDi, Okt 17, 2006 22:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics3D 1024,768,0,2
HidePointer
   MenuCam=CreateCamera():AmbientLight(255,255,255):MoveEntity MenuCam,0,0,-5
   House=LoadMesh("gfx\House1\h.01.b3d"):EntityType House,2:ScaleMesh House,1.2,1.2,1.2:HideEntity House
   Include"U\Menu.bb"
   
   ShowEntity house
   CameraViewport MenuCam,-1,-1,0,0
   Cam=CreateCamera():EntityType Cam,1:CameraRange cam,0.01,100000:PositionEntity cam,-18,2,41
   CameraViewport Cam,0,0,1024,768
   
   Collisions 1,2,2,2
   
   ;sch=1
Repeat
   If sch Then TranslateEntity cam,0,-.2,0
   
   
   mouse_y#=mouse_y#+MouseYSpeed()
   mouse_x#=mouse_x#+MouseXSpeed()
   
   If mouse_y#<-170 Then mouse_y#=-170
   If mouse_y#> 170 Then mouse_y#= 170
   
   RotateEntity cam,mouse_y#/2,-mouse_x#/2,0,0
   
   If KeyDown(200) Then MoveEntity cam,0,0, 0.2
   If KeyDown(208) Then MoveEntity cam,0,0,-0.2
   
   If durchgang=20 Then
      MoveMouse 512,384
      durchgang=1
   Else
      durchgang=durchgang+1
   EndIf
   
   If KeyHit(58) Then sch=1 Xor sch
   
   UpdateWorld
   RenderWorld
   Text 0, 0,"X("+EntityX(cam)    +") Y("+EntityY(cam)  +") Z("+EntityZ(cam)   +")"
   Text 0,15,"P("+EntityPitch(cam)+") Y("+EntityYaw(cam)+") R("+EntityRoll(cam)+")"
   Flip
Until KeyHit(1)
End


Menu.bb ist noch leer...

und die play cam, wird an (-6.7),(2),(34) gesetzt...
Programmers dont die. They gosub without return...
 

Dreamora

BeitragDi, Okt 17, 2006 22:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Damit wird die Kollision relativ schwer.
Da fehlt der Entity Radius für die Kamera, also wirst du "fast immer" durch die Wand fliegen mit deiner Kamera.

Auch diese CamRange Werte kannst du direkt wieder ändern. 0.01 bis 100000 geht net. Damit bekommst du massive Tiefenbufferfehler und das ohne das du Alpha zu benutzen brauchst. Entweder 1 bis 10000 oder 0.01 bis 1000 wenns gut läuft. (am besten 0.1)

Weder von 0.01 noch bis 100'000 ist eine akzeptable Lösung und wird auch garnicht benötigt ... brauchst nur die Objekte nicht so riesig zu machen.
Damit würdest du dir nur massive Z-Buffer Probleme und performance einbrüche garantieren weil so gut wie nix "versteckt" werden könnte. (denn alles was im Sichtbereich ist wird gerendert, egal ob es hinter etwas anderem ist oder nicht.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
  • Zuletzt bearbeitet von Dreamora am Mi, Okt 18, 2006 7:17, insgesamt einmal bearbeitet
 

Schnuff

BeitragDi, Okt 17, 2006 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, ich glaube ich gebe dieses projekt lieber auch auf(wie alle anderen bis jetzt...)

naja, danke noch mal Embarassed
Programmers dont die. They gosub without return...
 

Dreamora

BeitragMi, Okt 18, 2006 7:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Und warum das?
Weil dein Design angepasst werden muss an eine reale Nutzung?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group