Brauche etwas Hilfe mit der Kamera Steuerung

Posted By: DrGonzo

Brauche etwas Hilfe mit der Kamera Steuerung - 12/21/07 17:23

Halli, hallo!

ich würde gerne eine Isometric Kamera Steuerung wie die in WED's 3D View
schreiben, brauche da aber etwas Hilfe.
In der Mehrzahl der Kamera Tutorials die ich finden konnte folgt die Kamera
in der Regel einem Player, und das ist nicht wonach ich suche.

Mein Ziel ist:
A. Wenn die rechte Maustaste gedrückt wird bewegt die Kamera sich nach
rechts/links und vorwärts/rückwärts (in den X und Y Richtungen).
B. Wenn die mittlere Maustaste gedrückt wird rotiert die Kamera sich um
das Zentrum.
C. Das Maus Wheel zoomed rein und raus.

Wie gesagt, sehr ähnlich zu der Steuerung in WED's 3D View, außer mit anderen
Maustastenbelegungen.

Ich hoffe sehr das ihr mir da helfen könnt, und das mein Deutsch nicht zu
schlecht geworden ist.
Posted By: DrGonzo

Re: Brauche etwas Hilfe mit der Kamera Steuerung - 12/22/07 08:44

Ok, hier ist was ich bislang habe:

Dieser Code funktioniert soweit recht gut, außer dass nach einer Rotation die
PAN/Scroll Richtungen nicht mehr stimmen.
(Wenn man z.B. dann nach rechts panned, geht die Kamera stattdessen nach vorne, etc).

Könnte mir bitte jemand damit helfen? Danke!

Code:

var worldCenter;

function main
{
level_load ("cam.wmb");
wait(2); // wait until the level is loaded
mouse_mode = 1;
vec_set(camera.x,vector(-205, 0, 42));
camera.tilt = 1;
camera.arc = 90; // widen the FOV
vec_set(worldCenter,vector(-205, 0, 42));

while(1)
{

///////////////////////////////////////////////////////////////////////////////////////////
// Move camera

if(mouse_middle == 1) // Rotate with middle MB ---------------------------------------
{
camera.pan += mouse_force.x * 20 * time_step; // mouse movement changes PAN
camera.tilt += mouse_force.y * 20 * time_step; // mouse movement changes TILT
}

if(mouse_right == 1) // PAN with right MB ----------------------------------------------
{
worldCenter.x -= mouse_force.y * 40 * time_step;
worldCenter.y += mouse_force.x * 40 * time_step;

camera.x = worldCenter.x;
camera.y = worldCenter.y;
}

if(mickey.z != 0) // zoom with mouse wheel ---------------------------------------------
{
vec_diff(temp,target.x,camera.x);
vec_scale(temp,((mickey.z * 1)/480));
vec_add(camera.x,temp);

worldCenter.x = camera.x;
worldCenter.y = camera.y;
worldCenter.z = camera.z;
}

mouse_pos.x = mouse_cursor.x; // update mouse position
mouse_pos.y = mouse_cursor.y; // update mouse position

wait(1);
}

}


Posted By: DrGonzo

Re: Brauche etwas Hilfe mit der Kamera Steuerung *DELETED* - 12/22/07 22:57

Post deleted by DrGonzo
Posted By: DrGonzo

Re: Brauche etwas Hilfe mit der Kamera Steuerung - 12/23/07 01:40

Ok, ich habe mal etwas mehr recherchiert und habe das folgende
Script von Orange Bratt gefunden: hier

Das Script ist fast genau das nachdem ich suche, außer das ich ein paar der Kamerakontrollen
auswechseln müsste (WASD mit rechter Maustaste, Rotation mit mittlerer Maustaste).

Leider ist das Script ziemlich umfangreich und ich frage mich ob man diese Art
von Kamerasteuerung nicht mit weniger Code erreichen könnte?
© 2024 lite-C Forums