Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 07.12.2003, 13:05 Titel: Kamera |
|
|
Kann mir wer sagen, wieso das nicht geht? Das sind die kameraeinstellungen für ein orthogonales editorfenster (draufsicht). Die bewegung entlang x/z funkt, nur beim zoomen auf y passiert kurz nichts, dann ist das objekt auf einmal weg...
Code: |
// wenn linker u. mittlerer mb -> zoomen
if (dims.rgbButtons[0] & 0x80)
{
m_CamView1.vPos.y += (float)dims.lX * 20.0f * m_fTimeRate;
}
// nur mittlerer mb -> bewegen
else
{
m_CamView1.vPos.x -= (float)dims.lX * 20.0f * m_fTimeRate;
m_CamView1.vPos.z += (float)dims.lY * 20.0f * m_fTimeRate;
}
m_CamView1.vLookAt.x = m_CamView1.vPos.x;
m_CamView1.vLookAt.z = m_CamView1.vPos.z;
m_CamView1.vLookAt.y = m_CamView1.vPos.y - 1.0f;
|
|
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 07.12.2003, 13:31 Titel: |
|
|
Bei Ortogonalen Kameraansichten verschwindet die Tiefe. Dass, was du als Zoomen bezeichnest, ist kein Zoomen, sondern nur ein verändern der Kameraposition in die Tiefe. Weg ist das Objekt deshalb, weil es sich plötzlich hinter der Kamera befindet... _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 07.12.2003, 13:41 Titel: |
|
|
ja gut, das ist mir auch klar, aber 'die position der kamera auf der y- achse' sollte ja eigentlich flüssig verändert werden... |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 07.12.2003, 13:46 Titel: |
|
|
Kann man da nicht den Bildausschnitt der gerendert werden soll in der Kamera angeben. Ich glaub bei der orthogonalen POerspektive war das möglich.
Hat nicht mit der Bildschirmgrösse zu tun. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 07.12.2003, 14:06 Titel: |
|
|
hmm, weiß nicht genau was du meinst...die projektionsmatrix erstelle ich so:
Code: |
void CScene::SetOrthProjection(HWND hWnd)
{
RECT rect;
GetClientRect(hWnd, &rect);
float width = (float)(rect.right / 100.0f);
float height = (float)(rect.bottom / 100.0f);
D3DXMatrixOrthoLH(&m_mProjOrth, width, height, 0.1f, 100.0f);
}
// dann halt...
m_lpDevice->SetTransform(D3DTS_PROJECTION, &m_mProjOrth);
|
|
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 07.12.2003, 16:11 Titel: |
|
|
Das width & height müsstest du gleichmäßig vergrössern oder verkleinern um dein zoom hinzubekommen. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 07.12.2003, 17:16 Titel: |
|
|
ahh, keine schlechte idee, so müßte es gehen...aber warum mein code nicht funkt würd mich trotzdem interessieren... ich wollt eigentlich die projektionsmatrix gleich für 3 fenster nehmen. |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 07.12.2003, 19:18 Titel: |
|
|
Ja, das könnte daran liegen weil es in der ortho. Perspektive keine Perspektiven korrektur gibt.
Aber was genau möchtest du machen ? Unterschiedliche Bliuckwinkel/Positionen ?
Bei dieser Perspektive bringt das vor und zurückbewegen auf der Tiefenachse nichts. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 08.12.2003, 20:02 Titel: |
|
|
wie gesagt, das wird ein editorfenster(draufsicht) in dem man die kamera auf x/z bewegen und auf y reinzoomen kann. ein ganz normales editorfenster eben.
dass sich bei einer orth. perspektive die tiefenachse anders verhält, wußte ich nicht, hab grad ein bißchen rumexperimentiert:
würfel a=2 steht auf 0,0,0
orth. perspektive
kamera:
z=0.0 -> würfel n. sichtbar
z=1.0 -> immer noch nicht
z=1.1 -> sichtbar
z=100 -> sichtbar, selbe größe
sobald die kamera außerhalb des würfels ist, sieht man ihn (klar). ab dann ist die kameraposition aber irrelevant, ich sehe den würfel immer in derselben größe, egal ob z=100 oder z=2, solange ich die perspektiveneinstellungen nicht ändere. how strange is that? wie geht man damit jetzt um? immer dafür sorgen dass die kamera höher positioniert ist (bei draufsicht) als der höchste punkt der ganzen geometrie und über die perpektive zoomen? |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 08.12.2003, 21:21 Titel: |
|
|
Ja klar kannst du machen. Einfach ne Schleife durchlaufen lassen welches deiner Objekte am nähchsten zu der Kamera ist. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 08.12.2003, 21:30 Titel: |
|
|
das ist ja voll bescheuert....die hätten das gleich so machen sollen, dass man irgendeine positive Zahl (1) für z.B die z position angeben muß um dann halt hinter allen objekten zu stehen und gleich die perspektiveneinstellungen verwenden zu können... |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 08.12.2003, 22:19 Titel: |
|
|
Ist nicht unbedingt bescheuert. Kann ja sein das du mitten im Programm die perspektive wechseln möchtest. Ausserdem kann das ja nicht immer erwünscht sein das alle Objekte vor dir sind. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 08.12.2003, 22:25 Titel: |
|
|
naja, danke jedenfalls, ich hab das jetzt so umgebaut und es funktioniert super. |
|
Nach oben |
|
|
|