Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

30.11.2003, 20:34

Mein Mouse Picking ...

Hi !

Ich Picke im Editor momentan nach der DX Sample Methode, das ist leider recht lahm bei 32*32*4 collisionen (wenn man 4 leafs im sichtbereich hat).

Daher wollt ich mal Fragen ob ihr schnellere Methode kennt ?
(Davids LinePick kann ich nich nutzen weil ich nich 2D Mousecoords -> 3D Mousecoords umrechnen kann, irgendwie kommen bei mir komische Zeilen raus von 0.3 bis 0.8f ... :( )

Und im Editor ne halbe Stunde für einen Berg zu sitzen is echt n bissl Hammer :( Hoffe hier hat jemand paar Tips / Ideen für mich :(

2

01.12.2003, 00:45

Ich hab da ne Idee wie ich mein Mouse Picking schneller machen kann.

Habs schonmal im ZFX geschrieben. Ich will Praktisch Davids LinePick dafür benutzen und dann ein großes Plane erstellen (0,0,0 bis 128,0,128) und dann damit mir die fehlende Höhe geben lassen.

Nur wie komm ich von 800,600 auf x 20.0f, z 20.0f ? (<< beispiel)

Zitat


Hi

Ich hab mal ne Frage, wie kann ich von 2D (Mousecoords) zu 3D Coords (X, Z) kommen ?

Welche Matrix muss ich mit was multiplizieren und welche werte mit dem Vektor ?

Quellcode

1
2
3
4
D3DXVECTOR3 v;
    v.x =  (((2.0f * MouseX) / dhGraphics::GetScreenWidth()) - 1.0f) / g_cCamera.GetProjectionMatrix()._11; 
    v.y = -(((2.0f * MouseY) / dhGraphics::GetScreenHeight()) - 1.0f) / g_cCamera.GetProjectionMatrix()._22; 
    v.z =  1.0f;


"Soweit" bin ich schon. Wäre nett wenn jemand helfen würde.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

01.12.2003, 07:11

Das wird vom Ansatz her nicht funktionieren.
Stell Dir z.B. vor, Du klickst auf eine leicht erhöhte Stelle oder einen Berg. Dann trifft der Strahl die Ebene ganz woanders und nicht an dieser Stelle.

4

01.12.2003, 14:07

... so ein shice :(

Werbeanzeige