Terrain laden
Übersicht

Gehe zu Seite Zurück 1, 2, 3 Weiter
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
er hat geschrieben es kommt keine fehlermeldung,mdave | ||
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
@blitzking
also langsam wirds nervig... Spiel mal ein bisschen mehr herum. Das Mesh ist auf jeden Fall geladen worden und ist auch vorhanden. Lediglich die Camera ist falsch positioniert,bzw. das Mesh falsch skalliert... wenn du die camera auf 0,0,0 erstellst und dein Mesh auch auf 0,0,0 erstellst, ist es nur logisch das die camera irgendwo im mesh oder unter dem mesh steht. Oder sie schaut in die falsche richtung. Probiere mal den code: Code: [AUSKLAPPEN] Graphics3D 640,480,32,2 SetBuffer BackBuffer() camera=CreateCamera() moveentity camera,0,10,-5 light=CreateLight() terrain=LoadMesh ("C:\Users\Benjamin\Desktop\landscape.3ds") ScaleEntity terrain,0.05,0.05,0.05 entitycolor terrain,255,0,0 While Not KeyDown(1) If KeyDown ( 31)=True Then MoveEntity camera,0,0,-0.1 pointentity camera,terrain UpdateWorld RenderWorld Flip Wend einfach mit pointentity auf das mesh pointen, und jetzt viel rumbewegen ! irgendwann muss das mesh zu sehen sein. |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaube Mastermann hat recht: der steht mit der Camera unterhalb des Terrain.
Also soll er Camera rauf/runter einbauen und vor allem eine Drehung dee Camera. Nur so kann der das Terrain suchen. BlitzBasic: [AUSKLAPPEN] MoveEntity camera,0,50,0 ; oder 500...oder 5000 Wäre nicht auch ein AmbientLight() während der Suche besser? Möglicherweise steht auch sein Licht unter dem Terrain! |
||
vanjolo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ah, erledigt, sorry hab nicht den ganzen thread gelesen. | ||
blitzking |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe es jetzt geschafft meine landschaft zu laden und sie wird auch angezeigt,aber teilweise schwarz
Code: [AUSKLAPPEN] Graphics3D 640,480,32,2
SetBuffer BackBuffer() pivot=CreatePivot() camera=CreateCamera(pivot) light=CreateLight() RotateEntity light,90,0,0 terrain=LoadMesh ("D:\Benni_Daten\Media\Blitz3d\Mesh\Insel.3ds") PositionEntity terrain,0,0,MeshDepth(terrain)*2 While Not KeyDown(1) Local x_speed#,y_speed# x_speed=(MouseXSpeed()-x_speed)/3+x_speed y_speed=(MouseYSpeed()-y_speed)/3+y_speed MoveMouse 320,240 TurnEntity camera,+y_speed,0,0 TurnEntity pivot,0,-x_speed,0 If KeyDown ( 17)=True Then MoveEntity camera,0,0,1 If KeyDown ( 31)=True Then MoveEntity camera,0,0,-1 If KeyDown ( 30)=True Then MoveEntity camera,-1,0,0 If KeyDown ( 32)=True Then MoveEntity camera,1,0,0 RenderWorld Flip Wend End |
||
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mach mal ne texture drauf,ob es dann auch noch ist
tex=loatexture("...") entitytexture terrain,tex,0,0 |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Möglicherweise stehst Du mit der Kamera zu weit weg oder mitten in einem Berg? Ist das schwarz in richtung Bildschrmrand? oder gibt es Löcher im Mesh? | ||
blitzking |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich glaub du hattest recht,dass ich in einem bergstehe
aber wie mache ich einen Hintergrund und dass die ego-prespektive richtig funktioniert |
||
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mit der kamera guckt in der hilfe nach kamera
da ist nebel und hintergrundfarbe und sowas |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
CameraClsColor![]() ![]() Zur Egoshootersteuerung gibt's ne Menge im Codearchiv, verwende die Forensuche. |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
blitzking |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nochmal zum terrain
egal was ich mache es wird zwar angezeigt aber nicht ganz kann mir mal einer nen code schicken wie er .3ds terrains lädt? |
||
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du machst das eig richtig,mch mal das meshdepth weg | ||
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: ich glaub du hattest recht,dass ich in einem bergstehe aber wie mache ich einen Hintergrund und dass die ego-prespektive richtig funktioniert ich weis nicht irgendwie habe ich das Gefühl, du solltest dich nochmal von vorne an mit 3D beschäftigen(damit meine ich durcharbeiten). ![]() ![]() ![]() ![]() Die Suche ist zwar nicht perfekt, aber zum Thema ego shooter camera(First Person) findet man echt viel. Gruß Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auch wenn deine Figur auf den Terrain steht, kann es sein, dass die Camera noch mitten im Berg ist. Ändert sich denn irgendwas, wenn du mal mit der Camera fliegst?
in die Repeat/Until: MoveEntity Camera 0,1,0 |
||
Krischan |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
blitzking hat Folgendes geschrieben: nochmal zum terrain
egal was ich mache es wird zwar angezeigt aber nicht ganz kann mir mal einer nen code schicken wie er .3ds terrains lädt? Hab da mal schnell was zusammengebastelt. Das Terrain wird zunächst auf 1.0 mittels Fitmesh normalisiert/zentriert und dann auf die feste Grösse von 1024x1024 skaliert, was mit den Kameraeinstellungen harmonisiert. Das ist praktisch, wenn das Terrain eine zunächst unbekannte Dimension hat, so holt man es auf eine für die Szene passende Grösse. Dazu noch eine Freecam und das wars eigentlich auch schon. Zum Terrain ist noch zu sagen, dass evt. die Normals geflippt sein können, dann entweder NACH dem Laden noch Flipmesh terrain oder EntityFX Terrain,1+16 verwenden - ausserdem sollten natürlich die UV-Koordinaten schon gesetzt sein wenn man eine Textur verwenden möchte. Steuerung mit Maus und Pfeiltasten, SPACE = Wireframe. Download [758KB 7zip SFX] ![]() Hier der simple Code: Code: [AUSKLAPPEN] Graphics3D 800,600,32,2
Global GameSpeed%=60 Global Screenwidth%=GraphicsWidth() Global Screenheight%=GraphicsHeight() Global FramePeriod%=1000/GameSpeed Global FrameTime%=MilliSecs()-FramePeriod Global DeltaTimeOld% ; Kamera cam=CreateCamera() CameraRange cam,1,1024 PositionEntity cam,0,0,0 CameraClsColor cam,150,200,255 CameraFogColor cam,150,200,255 CameraFogMode cam,1 CameraFogRange cam,1,1024 RotateEntity cam,0,90,0 ; Terrain laden, auf 1 normalisieren und auf 1024 skalieren terrain=LoadMesh("terrain.3ds") FitMesh terrain,-0.5,-0.5,-0.5,1,1,1,1 ScaleEntity terrain,1024,1024,1024 EntityFX terrain,1 MoveMouse Screenwidth/2,Screenheight/2 While Not KeyHit(1) ; Frametween calculation Local FrameElapsed%,FrameTicks%,FrameTween#,t% Repeat FrameElapsed=MilliSecs()-FrameTime Until FrameElapsed FrameTicks=FrameElapsed/FramePeriod FrameTween=Float(FrameElapsed Mod FramePeriod)/Float(FramePeriod) ; Frametween loop For t=1 To FrameTicks ; Frametween Captureworld FrameTime=FrameTime+FramePeriod : If t=FrameTicks Then CaptureWorld ; SPACE = Wireframe If KeyHit(57) Then wf=1-wf : WireFrame wf ; Kamerabewegung FreeCam(cam,85,1) UpdateWorld Next RenderWorld FrameTween Text 0,0,"Tris: "+TrisRendered() Text 0,15,"Pos: "+EntityX(cam)+"X "+EntityY(cam)+"Y "+EntityZ(cam)+"Z" Flip 0 Wend End Function FreeCam(camera%,maxpitch#=85.0,movespeed#,rotspeed#=16.666,rotfloat#=8.0) Local movex#,movez#,dx#,dy#,dk#,dt%,t% Local pitch# ; Pfeiltaste = Bewegen movex=KeyDown(205)-KeyDown(203) movez=KeyDown(200)-KeyDown(208) ; weiche Bewegung t=MilliSecs() : dt=t-DeltaTimeOld : DeltaTimeOld=t : dk=Float(dt)/rotspeed dx=(Screenwidth/2-MouseX())*0.01*dk : dy=(Screenheight/2-MouseY())*0.01*dk TurnEntity camera,-dy,dx*0.1*dk*rotfloat,0 ; Pitch begrenzen pitch=EntityPitch(camera,1) : If pitch>maxpitch Then pitch=maxpitch Else If pitch<-maxpitch Then pitch=-maxpitch ; Kamera drehen und bewegen RotateEntity camera,pitch,EntityYaw(camera,1),0,1 MoveEntity camera,movex*movespeed,0,movez*movespeed End Function |
||
blitzking |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hab mir dein terrain demo geholt und auch mal mein terrain darin ausprobiert, aber es wird wieder wie in meinem eigenen programm nur teilweise angezeigt | ||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Könntest du dein Terrain-Model mal im Archiv hochladen? | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
blitzking |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hab es hochgeladen schau unter der beschreibung terrain
der name der datei is Insel.3ds |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da gibt es tatsächlich Stellen ohne Triangles. Also ein Fehler in deinem Terrainerstellungsprogramm.
PS: 33000 Tris sind für ein Terrain ziemlich viel. Schau mal, ob du da was reduzieren kannst ![]() |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
Krischan |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Tja, die Datei ist selbst fehlerhaft und hat vermutlich zu viele Vertices / Polygone - Du solltest Dich mal mit dem Polygon-Limit von 3DS-Dateien beim Export beschäftigen. In meinem Screenshot kannst Du sehen, dass das Terrain nur teilweise geladen ist, ausserdem sind die Normals geflippt, d.h. in der Form nur von unten sichtbar (es sei denn man benutzt EntityFX 16).
![]() Hier zum Vergleich mein Terrain: ![]() |
||
Gehe zu Seite Zurück 1, 2, 3 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group