kamerapositionsproblem
Übersicht

InsoBetreff: kamerapositionsproblem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo.. ja schon wieder ein neuer thread von mir ![]() Hab folgendes problem, ich möchte per rechtsklick aus der 3rd person sicht, in eine vogelperspektive(baumodus) wechseln, möchte aber dass man den char noch mit im bild hat.. ansich klappt das, nur hat man den char nicht mit im bild :/ probier hin und her, und kriegs nicht hin. Ich hab mal das beispielprojekt mit hochgeladen, da seht ihr was ich meine Bewegen mit den Pfeiltasten, mit Rechtsklick bau modus öffnen/verlassen. Im baumodus haus bauen mit links klick, mit mausrad objekt drehen, platzieren wieder mit links klick. hoffe jemand kennt die lösung http://www.xup.in/dl,37099074/meshtest.rar/ edit: hab ne datei vergessen ![]() http://www.xup.in/dl,12767751/y2.b3d/ dann noch hier der code: Code: [AUSKLAPPEN] Graphics3D 1024,768,32,2
SetBuffer BackBuffer() ;initialisierung ;Camera bereitstellen camera=CreateCamera() CameraRange camera,0.1,10000 ;Sichtweite der Kamera MoveEntity camera,0,24,10; kamera leicht nach oben schieben TurnEntity camera, 30,0,0 ; kamera etwas neigen EntityType camera,1 ; kamera den kollisionstypen (1) zuordnen Global pln = CreatePlane() EntityPickMode pln,2 EntityAlpha pln,0 ;spieler erstellen body = CreateCube() EntityAlpha body,0.6 ;spieler etwas durchsichtig machen MoveEntity body,0,2,30 ; den spieler an die richtige stelle verschieben EntityRadius body,5 ;kollisionsradius des spielers ScaleEntity body,2,3,1 ;spieler vergrößern EntityType body,1 ;spieler kollisionstyp(1) zuordenen EntityParent camera,body ; den spieler der kamera zuordnen ;licht erstellen light=CreateLight(2) LightRange light,2000 ;die map laden map = LoadMesh("y2.b3d") EntityType map,2 ;kollisionstyp der map einstellen MoveEntity map,0,-20,0 ;ein haus laden Dim house(100) ;Skybox sky = CreateSphere() ;Skybox erstellen ScaleEntity sky,55,55,55 ;skybox vergrößern PositionEntity sky, EntityX(camera), EntityY(camera),EntityZ(camera) ;den himmel richtig positionieren EntityParent sky,camera ;den himmal an die kamera "kleben" EntityTexture sky, LoadTexture("wolken.jpg") ;und schön texturieren FlipMesh sky ;und das ganze invertieren, damit man den himmel von innen sehen kann EntityOrder sky,1 ;himmel wird zuerst gemalt ; SKybox ende lightsky =CreateLight(2,sky) LightRange lightsky,10000 Collisions 1,2,2,2 ; Collisionsart festlegen buildmode2=0 ; id = 1 Type house Field mesh Field x Field y Field z Field id End Type ; While Not KeyDown( 1 ) ;MoveEntity body,0,-0.3,0 ;Gravitation CameraPick camera,MouseX(),MouseY() If buildmode=1 If buildmode2=0 If MouseHit(1) wohnhaus.house = New house wohnhaus\mesh = LoadMesh("house.b3d") EntityAlpha wohnhaus\mesh,0.5 wohnhaus\id = id EntityType wohnhaus\mesh,2 id=id+1 buildmode2=1 EndIf Else TurnEntity wohnhaus\mesh,0,MouseZSpeed()*5,0 PositionEntity wohnhaus\mesh,PickedX(),-265,PickedZ() If MouseHit(1) wohnhaus\x =PickedX() wohnhaus\y= -265 wohnhaus\z = PickedZ() PositionEntity wohnhaus\mesh,wohnhaus\x,wohnhaus\y,wohnhaus\z EntityAlpha wohnhaus\mesh,1 buildmode2 = 0 EndIf EndIf EndIf If buildmode=0 If KeyDown( 205 )=True Then TurnEntity body,0,-3,0 If KeyDown( 203 )=True Then TurnEntity body,0,3,0 If KeyDown( 208 )=True Then MoveEntity body,0,0,-0.8 ;TurnEntity camera,-30,0,0 MoveEntity camera,0,0,-4 TurnEntity camera, 30,0,0 If KeyDown( 200 )=True Then MoveEntity body,0,0,0.8 ;TurnEntity camera,-30,0,0 MoveEntity camera,0,0,4 TurnEntity camera, 30,0,0 EndIf If MouseHit(2) If buildmode=1 buildmode=0 TurnEntity camera,-45,0,0 PositionEntity camera,oldcamx,oldcamy,oldcamz Else buildmode = 1 If buildmode=1 oldcamx=EntityX(camera) oldcamy=EntityY(camera) oldcamz=EntityZ(camera) TurnEntity camera,45,0,0 MoveEntity camera,0,500,0 EndIf EndIf EndIf UpdateWorld RenderWorld Text 0,0,"x: "+PickedX()+", y:"+PickedY()+ ", z:"+PickedZ() Flip Wend End |
||
![]() |
Ana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich wollt den Krams jetzt nicht downloaden und hab den Code nur überflogen, kann also sein das es nicht stimmt aber du neigst die Camera ja insgesamt nur um einen winkel von 75° wenn ich das richtig sehe. Wenn du sie nun sehr weit nach oben bewegst, dann ist dein Char denke ich mal im toten Winkel, bewege die Camera zusätzlich noch ein Stück zurück, dann sollte das auch gehen. | ||
Don't only practice your art,
but force your way into its secrets, for it and knowledge can raise human to divine |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group