Camerapick bei orthographischer Projektion

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

derAtomkeks

ehemals "Sethus"

Betreff: Camerapick bei orthographischer Projektion

BeitragDi, Mai 25, 2010 9:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi @ all,

da meinen Nachtrag in letzten Thread wohl keiner mehr gesehen hat, mach ich jetzt doch nen Neuen auf Smile
Ich habe folgendes Problem: Ich habe in einem Editor drei Kameras, deren Projektionsmodus auf orthographisch gestellt ist.
Wenn ich mit diesen CameraPick ausführen will, um per Mausklick Objekte auszuwählen, pickt er trotzdem so, als wenn die Projektion perspektivisch wäre. Ich muss also manchmal NEBEN ein Objekt klicken, um es zu picken. Kann man das irgendwie umstellen oder per Hand ausrechnen?

Danke schonmal,
Sethus

Silver_Knee

BeitragDi, Mai 25, 2010 11:24
Antworten mit Zitat
Benutzer-Profile anzeigen
hast du den Cameraviewport beachtet?

sonst bb.com->bug melden^^

derAtomkeks

ehemals "Sethus"

BeitragDi, Mai 25, 2010 11:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja den Viewport hab ich beachtet. Wenn ich den Projektionsmodus auf perspektivisch stelle, funktioniert es ja auch super.
Ich kann mir allerdings nicht vorstellen, dass ich der erste bin, der dieses Problem hat, es haben doch schon mehr Leute in BB 3D-Editoren gebastelt und sicher nutzen alle den orthographischen Projektionsmodus... Oder? Very Happy
 

Fredko

BeitragDi, Mai 25, 2010 12:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Bist du sicher, dass du nach CameraProjMode kamera%,2 den Befehl CameraPick ausführst? Bzw. CameraViewPort beachtest?
Denn anders kann ich mir den Fehler nicht herleiten (da im folgendem Code alles reibungslos klappt [mit Linksklick die Perspektive ändern]).
BlitzBasic: [AUSKLAPPEN]

Graphics3D 640,480,32,2
SetBuffer BackBuffer()

Global kam=CreateCamera(),kammode=0
PositionEntity kam,0,0,-10


Global box=CreateCube()
EntityPickMode box,2
ScaleEntity box,1,1,5
PositionEntity box,-2,0,0
Global box2=CreateCube()
EntityPickMode box2,2
PositionEntity box2,2,0,0
ScaleEntity box2,0.5,0.5,5
EntityColor box2,255,0,0

Repeat
Cls

If MouseHit(1)
kammode=1-kammode
If kammode=0
CameraProjMode kam,1;Normal
CameraZoom kam,1
Else
CameraProjMode kam,2;Orthographisch
CameraZoom kam,0.1
EndIf
EndIf

CameraPick kam,MouseX(),MouseY()

RenderWorld

If PickedEntity()=box Then Text 0,0,"BOX"
If PickedEntity()=box2 Then Text 0,0,"BOX2"

Flip
Until KeyHit(1)
End
!

derAtomkeks

ehemals "Sethus"

BeitragDi, Mai 25, 2010 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh man. Ich hab den Code sooft durchgeguckt, aber man muss es anscheinend von anderen gesagt bekommen Very Happy
Ich hatte nach dem Rendern:

Code: [AUSKLAPPEN]
WireFrame True
CameraProjMode eCamTop,2
CameraProjMode eCamSide,2
CameraProjMode eCamFront,2
CameraProjMode eCamPrev,0
RenderWorld

WireFrame False
CameraProjMode eCamTop,0
CameraProjMode eCamSide,0
CameraProjMode eCamFront,0
CameraProjMode eCamPrev,1
RenderWorld


Vergessen, die Projektion wieder einzuschalten Embarassed
Ich danke euch Very Happy
MfG,
Sethus

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group