Passivansicht erstellen

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Alexnator

Betreff: Passivansicht erstellen

BeitragDo, Okt 19, 2006 19:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Guten Tag,

seit ein paar Tagen versuch in eine Passivansicht zu erstellen.
Also wie bei vielen Rollenspielen. Ich hab es aber nicht hinbekommen.
Ich habe auch keine Idee wie ich es machen könnte.
Also es soll ungefehr so sein, dass man ein Mesh sieht hinter dem eine Kamera hinterher fliegt. Ich hab urgendwo gelesen, dass es mit Pivot gehen könnte. Aber ich habe keine Ahnung wie.

Danke im vorraus.
 

Dreamora

BeitragDo, Okt 19, 2006 19:23
Antworten mit Zitat
Benutzer-Profile anzeigen
such mal nach 3rd Person Camera, Verfolgerkamera und ähnlichen Dingen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Alexnator

BeitragDo, Okt 19, 2006 20:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke schön ich wusste keine Begriffe wonach ich suchen sollte.
Jetzt hab ich es gefunden aber jetzt hab ich noch eine Frage.
Ich hab das gemacht.
Jetzt folgt die Kamera dem Kreis.
Code: [AUSKLAPPEN]
kreis = CreateSphere(16)
cam = CreateCamera(viereck)

ich hab danach noch versucht mit maus die Kamera zu drehen.
Hat auch funktioniert nur aber die dreht sich an einer Stelle.
Ich will aber, dass die sich um den Kreis dreht.
Wie mache ich das??
Ich denke mal mit Pivot aber wie geht das???
Danke im vorraus.

StepTiger

BeitragDo, Okt 19, 2006 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
kreis=CreateSphere()
piv=CreatePivot(kreis)
cam=CreateCamera(piv)

while not keydown(1)
turnentity piv,0,MouseXSpeed(),0
renderworld
wend


besser?
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Alexnator

BeitragDo, Okt 19, 2006 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke schön.
Das ging sehr schnell.
Dieser Forum und die Leute sind einfach Klasse.
Smile Smile
 

Alexnator

BeitragDo, Okt 19, 2006 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmmmm.
Ich habe noch eine Frage.
Also ich möchte jetzt machen , dass wenn ich mousezspeed() drehe , dass er dann entweder näher oder weiter von dem Pivot ist.
Mit zoomen hab ich schon ausprobiert. Ich finde das sieht schlecht aus.
Gibt es vieleicht urgendein Befehl, dass die Kamera näher zum Mesh in der mitte kommt? Oder könnte ich es urgendwie anders machen?
Danke im vorraus. Smile

StepTiger

BeitragDo, Okt 19, 2006 22:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
moveentity cam,0,0,MouseZSpeed()
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Alexnator

BeitragFr, Okt 20, 2006 16:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke schön.
Entschuldigung , dass ich so oft frage aber ich hab noch eine Frage.
Und zwar ich hab das jetzt alles gemacht, dass sich die Kamera um eine Mesh bewegt aber ich kann es unendlich mal drehen lassen und zoomen also mit mouseZspeed() kann ich auch unendlich lang deswegen hab ich ne Frage ob es urgendwie geht, dass man nur in einem winkel von 180° um die Mesh drehen kann?
Also ich hab hier noch ein Bildchen gezeichnet damit man es besser verteht.
user posted image
also bin zu den Punkten z.b..
Danke im vorraus. Smile Smile Smile Smile

Black Spider

BeitragFr, Okt 20, 2006 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Du müsstest checken wie weit der Pivot schon gedreht wurde:
Code: [AUSKLAPPEN]

kreis=CreateSphere()
piv=CreatePivot(kreis)
cam=CreateCamera(piv)

while not keydown(1)
If EntityYaw(piv) < 90 And EntityYaw(piv) > - 90
turnentity piv,0,MouseXSpeed(),0
End If
renderworld
wend


Beim Zoomen ist das ein ähnliches verfahren, prüfen ob die Kamera schon zu nahe am objekt ist oder zu weit weg, dann zoomen verbieten.
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif
 

Alexnator

BeitragFr, Okt 20, 2006 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die schnelle Antwort aber leider funktioniert es nicht ganz.
Es dreht dich nur in eine Richtung und dann nur bis 90° und dann bleibt stehen kann dann nichts mehr machen.

derAtomkeks

ehemals "Sethus"

BeitragFr, Okt 20, 2006 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht liegt das dadran, dass mousexspeed auch mehr als 1 sein kann und dass dadurch yaw von piv größer als90 / kleiner als -90 wird. Dann müsstest du vor dem endif noch über prüfen ob entityyaw(piv) kleiner als -90 / größer als 90 ist, und gegebenen Falls dann auf -89 / 89 setzten.
 

Alexnator

BeitragFr, Okt 20, 2006 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke.
Das mit dem auf 89 /-89 setzen hört sich logisch an wenn man so überlegt aber das mit dem ersten Satz hab ich net ganz komplett verstanden.
Könnte vieleicht jemand den Code aufschreiben damit ich es besser verstehen kann??
Danke im vorraus. Smile Smile Smile

Black Spider

BeitragSa, Okt 21, 2006 13:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
If EntityYaw(piv) < 90 And EntityYaw(piv) > - 90
turnentity piv,0,MouseXSpeed(),0
Else

turnentity piv,0,-(EntityYaw(piv)/90),0

End If


du schaffst es den EntityYaw durch drehen der Maus auf 90.435 zu stellen, was ja auch größer als 90 ist,
deswegen wird eine weitere Rotation verhindert. Wenn du´s nun wieder zurückdrehen willst, musst du dafür sorgen das der Yaw wieder kleiner als 90 (bzw. größer als -90) ist,
das macht "turnentity piv,0,-(EntityYaw(piv)/90),0", denn Yaw / 90 ergibt irgendwas um 1 (vorrausgesetzt du hast auch die sperre bei 90),

z.B.
Yaw = 90.9
-> Rotation blockiert,
Yaw = Yaw - (Yaw/90)
Yaw = 89.9
-> Rotation wieder freigegeben

(bei Yaw = - 90.9 genauso)
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group