Camera ausrichten!
Übersicht

![]() |
IguanBetreff: Camera ausrichten! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Wie kann ich meine Cam annähernd auf ein objekt ausrichten? ich habs schonmal mit AlignToVector versucht, aber in meiner BB3D-Version, die ich seit gestern habe, kann man bei diesem Befehl kein Tempo mehr angeben! Und PointEntity geht ja auch nicht, da die cam dann sofort, ohne verzögerung auf das Objekt zeigen würde... ![]() |
||
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Pseudo Code
Code: [AUSKLAPPEN] .set_camera_target
[Camera Winkel speichern] PointEntity Camera, Target [Camera Zielwinkel Speichern] [Camera Winkel zurücksetzen] .mainloop (handle_camera) [Camera langsam von Winkel auf Zielwinkel ausrichten] |
||
![]() |
Iguan |
![]() Antworten mit Zitat ![]() |
---|---|---|
DANKE! ![]() Noch 3 weitere Fragen: 1. Wieso kann ich bei meiner BB3D-Vollversion kein Tempo beim Befehl ALIGNTOVECTOR mehr angeben? 2. Gibt es das bei eurer Version auch nicht mehr? 3. Gibt es einen Befehl, der die Winkel zwischen 2 objekten berechnet, oder muss man da auf den guten alten Pythagoras zurückgreifen? |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zu 1.) Also bei geht's... Probier doch mal selbst. Vielleicht hattest du die Parameter verwechselt (ist mir auch schon mal passiert).Code: [AUSKLAPPEN] Graphics3D 640,480,16,2
SetBuffer BackBuffer() camera=CreateCamera() light=CreateLight() PositionEntity camera,0,0,-5 RotateEntity light,90,0,0 cylinder=CreateCylinder(20) sphere=CreateSphere() ScaleEntity cylinder,1,3,1 PositionEntity cylinder,0,0,5 EntityAlpha sphere,.8 EntityColor sphere,255,100,100 While Not KeyHit(1) If KeyDown(200) Then MoveEntity sphere,0,.1,0 If KeyDown(208) Then MoveEntity sphere,0,-.1,0 If KeyDown(203) Then MoveEntity sphere,-.1,0,0 If KeyDown(205) Then MoveEntity sphere,.1,0,0 AlignToVector cylinder,EntityX(sphere),EntityY(sphere),-5,2,.01 RenderWorld Flip Wend End Zu 2.) Siehe Punkt 1 Zu 3.) ql:Atan2 |
||
HW |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mit Pythagoras kannst du übrigens nur Seitenlängen und keine Winkel ausrechnen. Für Winkel benötigst du trigonometrische Funktionen. In diesem Fall, wie oben schon von hectic annähernd erwähnt, benötigst du den Tangens. | ||
![]() |
Iguan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi, danke für deine Antwort!
Wenn ich dein code ausführe, kommt der Fehler "Too many parameters" und dies bei der Zeile mit ALIGNTOVECTOR.. ![]() ich kapiers nicht... in der BB3D-Demoversion konnte ich das Tempo noch angeben.. jetzt mit der Vollversion nicht mehr! ![]() ![]() |
||
HW |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich (mit B3D Version 1.94) hab damit absolut keine Probleme. Hast du das neueste Update? | ||
![]() |
Iguan |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() ![]() Hätte nicht gedacht, dass die mir eine alte Version verkaufen... jetzt habe ich auch V1.94 |
||
![]() |
Iguan |
![]() Antworten mit Zitat ![]() |
---|---|---|
noch ein problemchen...
ich habe folgenden code: Code: [AUSKLAPPEN] Graphics3D 640,480,32,2 Pfad$ = "Bla:\blablabla\blabla\" Sonne = LoadSprite(Pfad$ + "Sonne.bmp",4) EntityFX Sonne,16 ScaleSprite Sonne,80,80 PositionEntity Sonne, 0, 0, 0 Planet01 = LoadSprite(Pfad$ + "Planet01.bmp",4) EntityFX Planet01,16 RadiusP01 = 200 WinkelP01# = 20 ScaleSprite Planet01, 4, 4 PositionEntity Planet01, (Cos(WinkelP01#) * RadiusP01), 0, (Sin(WinkelP01#) * RadiusP01) EntityParent Planet01, Sonne Cam = CreateCamera() CameraRange Cam,1,10000 PositionEntity Cam, 0,480,0 RotateEntity Cam, 90,0,0 AmbientLight 255,200,180 SetBuffer BackBuffer() While Not KeyHit(1) ; Taste "1" If KeyDown(2) Then AlignToVector Cam,EntityX(Planet01),EntityY(Planet01),EntityZ(Planet01),1,.001 AlignToVector Cam,EntityX(Planet01),EntityY(Planet01),EntityZ(Planet01),2,.001 AlignToVector Cam,EntityX(Planet01),EntityY(Planet01),EntityZ(Planet01),3,.001 MoveEntity Cam,0,0,1 End If UpdateWorld RenderWorld Flip Wend End wieso steuert die Kamera nicht auf den Planeten zu?[/syntax] |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group