360 degree chase camera

Developer discussion of experimental fixes, changes, and improvements.

Moderators: Nexuiz Moderators, Moderators

Wed Dec 31, 2008 2:16 am

  • Sorry, it's not a patch. Simply copy the code and paste the code below in to your client/View.qc and compile.

    Use chase_active 70 to enable, or any value >1.

    You can also try 'set a 50', 'set b 50' or 'set c 50' in the console to fine tune your playermodels position.

    chase_active 1 is still handled by Darkplaces.

    http://paste.debian.net/24822/

    Code: Select all
    // Assign Standard Viewflags
       // Draw the World (and sky)
       R_SetView(VF_DRAWWORLD, 1);

       R_SetView(VF_FOV, GetCurrentFov(fov));

    // ------------- add the following to client/View.qc at about line 283

    // start with chase_active 70
    // use 'set a 50', 'set b 50' or 'set c 50' to fine tune your playermodels position
    // chase_active 1 uses the traditional Darkplaces chase camera

    if (cvar("chase_active") > 1)
    {
       vector temp1;
       vector temp2;
       vector temp3;

       temp1 = input_angles;

    //    temp1_x += cvar("x");
    //    temp1_y += cvar("y");
    //    temp1_z += cvar("z");

       temp2 = pmove_org;

       temp2_x += cvar("a") + cvar("chase_active") * cos(input_angles_x * DEG2RAD);
       temp2_y += cvar("b") + cvar("chase_active") * cos(input_angles_x * DEG2RAD);
       temp2_z += cvar("c") + cvar("chase_active") * sin(input_angles_x * DEG2RAD);

       temp3_x = cvar("chase_active");
       temp3_y = cvar("chase_active");
       temp3_z = cvar("chase_active");

       temp3 = vectoangles(temp3);

       temp1_y += 180 + temp3_y - input_angles_y;

       R_SetView(VF_ANGLES, temp1);
       R_SetView(VF_ORIGIN, temp2);
    }

    // -------------


       // Draw the Crosshair
       float scoreboard_active;
       scoreboard_active = Sbar_WouldDrawScoreboard();



    // I have the following key binds in my autoexec.cfg

    // bind / "toggle chase_active 0 50 75 100"

    // bind c "toggle a -180 -165 -150 -135 -120 -105 -90 -75 -60 -45 -30 -15 0 15 30 45 60 75 90 105 120 135 150 165 180 ; echo a $a"
    // bind v "toggle a 180 165 150 135 120 105 90 75 60 45 30 15 0 -15 -30 -45 -60 -75 -90 -105 -120 -135 -150 -165 -180 ; echo a $a"

    // bind d "toggle b -180 -165 -150 -135 -120 -105 -90 -75 -60 -45 -30 -15 0 15 30 45 60 75 90 105 120 135 150 165 180 ; echo b $b"
    // bind f "toggle b 180 165 150 135 120 105 90 75 60 45 30 15 0 -15 -30 -45 -60 -75 -90 -105 -120 -135 -150 -165 -180 ; echo b $b"

    // bind e "toggle c -180 -165 -150 -135 -120 -105 -90 -75 -60 -45 -30 -15 0 15 30 45 60 75 90 105 120 135 150 165 180 ; echo c $c"
    // bind r "toggle c 180 165 150 135 120 105 90 75 60 45 30 15 0 -15 -30 -45 -60 -75 -90 -105 -120 -135 -150 -165 -180 ; echo c $c"
    Spaceman
    Alien trapper
     
    Posts: 264
    Joined: Tue Aug 28, 2007 10:53 am

Wed Dec 31, 2008 4:43 am

  • This is awesome :D

    bind kp_1 "toggle a -180 -165 -150 -135 -120 -105 -90 -75 -60 -45 -30 -15 0 15 30 45 60 75 90 105 120 135 150 165 180 ; echo a $a"
    bind kp_2 "toggle a 180 165 150 135 120 105 90 75 60 45 30 15 0 -15 -30 -45 -60 -75 -90 -105 -120 -135 -150 -165 -180 ; echo a $a"
    bind kp_3 "toggle b -180 -165 -150 -135 -120 -105 -90 -75 -60 -45 -30 -15 0 15 30 45 60 75 90 105 120 135 150 165 180 ; echo b $b"
    bind kp_4 "toggle b 180 165 150 135 120 105 90 75 60 45 30 15 0 -15 -30 -45 -60 -75 -90 -105 -120 -135 -150 -165 -180 ; echo b $b"
    bind kp_5 "toggle c -180 -165 -150 -135 -120 -105 -90 -75 -60 -45 -30 -15 0 15 30 45 60 75 90 105 120 135 150 165 180 ; echo c $c"
    bind kp_6 "toggle c 180 165 150 135 120 105 90 75 60 45 30 15 0 -15 -30 -45 -60 -75 -90 -105 -120 -135 -150 -165 -180 ; echo c $c"


    doesn't seem to be working for me.

    http://pics.nexuizninjaz.com/viewer.php ... 0wecdi.jpg
    User avatar
    [-z-]
    Site Admin and Nexuiz Ninja
     
    Posts: 1794
    Joined: Mon Nov 13, 2006 12:20 am
    Location: Florida

Wed Dec 31, 2008 12:15 pm

  • Either type 'set a 0', 'set b 0' and 'set c 0' in the console or add them to your autoexec.cfg
    Code: Select all
    set a 0
    set b 0
    set c 0

    This will create the cvars a, b and c. Once these cvars have been created the keybinds should work.
    Spaceman
    Alien trapper
     
    Posts: 264
    Joined: Tue Aug 28, 2007 10:53 am

Wed Dec 31, 2008 6:01 pm

  • Nice work victim. I've cleaned up a bit your code and made a patch with it.

    I think this brings us a little more camera control, specially for demo recording. However we need more work on this, because this way the camera is looking always to the same direction. It would be nice if you find a way for rotating the camera. Also it would be great to have mouse support for controlling the camera, so we can make smoother movements while recording demos.

    I've changed the source so we can use more descriptive variable names. This is the config for it:

    Code: Select all
    set camera_steps_increase "-180 -165 -150 -135 -120 -105 -90 -75 -60 -45 -30 -15 0 15 30 45 60 75 90 105 120 135 150 165 180"
    set camera_steps_decrease "180 165 150 135 120 105 90 75 60 45 30 15 0 -15 -30 -45 -60 -75 -90 -105 -120 -135 -150 -165 -180"

    alias camera_move_right "toggle chase_active_angle_y $camera_steps_increase"
    alias camera_move_left "toggle chase_active_angle_y $camera_steps_decrease"

    alias camera_move_up   "toggle chase_active_angle_z $camera_steps_increase"
    alias camera_move_down "toggle chase_active_angle_z $camera_steps_decrease"

    alias camera_move_backward "toggle chase_active_angle_x $camera_steps_increase"
    alias camera_move_forward "toggle chase_active_angle_x $camera_steps_decrease"

    alias camera_reset "set chase_active_angle_x 0; set chase_active_angle_y 0 ; set chase_active_angle_z 0; "

    camera_reset

    bind u camera_move_left
    bind i camera_move_right
    bind j camera_move_down
    bind k camera_move_up
    bind n camera_move_backward
    bind m camera_move_forward


    I would like to see more improvements in this direction, just imagine the amazing videos we would make if we get more control of the camera.
    User avatar
    mand1nga
    Alien trapper
     
    Posts: 321
    Joined: Mon May 12, 2008 12:19 am

Tue Jan 06, 2009 12:41 am

  • This is what I want to have regarding camera control while watching demos

    1) Being able to put the camera anywhere and roll it using key binds
    2) Control the angle of view with the mouse
    3) Optionally chase the player while it moves
    4) Enable this only when watching demos, so you can't use it like the mordor eye on servers with anti-wallhack disabled.
    5) Provide support for scripting the camera, someday

    We are still trying stuff with victim[v], here you can see some non-smooth achievements :)

    Ideas and comments are welcome
    User avatar
    mand1nga
    Alien trapper
     
    Posts: 321
    Joined: Mon May 12, 2008 12:19 am

Tue Jan 06, 2009 10:07 am

  • awesome, looks good.
    To achieve that, so far I've always been using GL Intercept. But this had several disadvantages, and also required me to press buttons while cl_capturevideo was active (not scriptable).

    Doing the scripting will be the most challenging work I guess. Not only will you have to find out how to save it in a proper format, you'll also have to think about how to create the path, visualize it, influence interpolation and the timing.

    Once you are at this step, I would recommend that you have a look how other camera systems do their work, like:
    - Quake 3: http://q3defrag.org/files/defrag/
    - UT99, 2003/4, 3: http://rypelcam.net/
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Tue Jan 06, 2009 2:13 pm

  • Thanks for the feedback GM, I'll take a look at these links later.

    I think it would be nice to have better demo playback control before thinking about scripting the camera. Like being able to forward the demo up to a given time, grep the demos (like the div0 perl script does). I guess making a demo play backwards would be nearly impossible, however I don't have a clue about that.
    User avatar
    mand1nga
    Alien trapper
     
    Posts: 321
    Joined: Mon May 12, 2008 12:19 am

Wed Jan 07, 2009 1:25 am

  • mand1nga wrote:1) Being able to put the camera anywhere and roll it using key binds
    2) Control the angle of view with the mouse
    3) Optionally chase the player while it moves
    4) Enable this only when watching demos, so you can't use it like the mordor eye on servers with anti-wallhack disabled.
    5) Provide support for scripting the camera, someday


    This is still a work in progress, hence all the cvar_set's.

    Some lines for your autoexec.cfg http://paste.debian.net/25421/

    The code http://paste.debian.net/25422/

    The code satisfies 1, 2, & 5 of mand1nga's specifications. Item 3 only needs a cvar check and add add 'p_move' to 'camera_position'.

    Enable with chase_camera 2

    You can use the following aliases to move the camera in a straight line along an axis
    Code: Select all
    // move the camera along the X axis
    bind v "+move_x+"
    bind c "+move_x-"

    // move the camera along the Y axis
    bind f "+move_y+"
    bind d "+move_y-"

    // moves the camera along the Z axis
    bind r "+move_z+"
    bind e "+move_z-"


    You can use the following aliases to move the camera, relative to the cameras point of view, but only along the x, y axis. They don't move the camera up or down.
    Code: Select all
    // move the camera forwards, relative to the direction it is pointing
    bind j "+move_forward"

    // move the camera backwards, relative to the direction it is pointing
    bind m "+move_back"

    // move the camera left, relative to the direction it is pointing
    bind b "+move_left"

    // move the camera right, relative to the direction it is pointing
    bind n "+move_right"


    You can use the following aliases to rotate the map around an axis
    Code: Select all
    // rotate the camera around the +X axis
    bind x "+rotate_x+"

    // rotate the camera around the -X axis
    bind z "+rotate_x-"

    // rotate the camera around the +Y axis
    bind s "+rotate_y+"

    // rotate the camera around the -Y axis
    bind a "+rotate_y-"

    // rotate the camera around the +Z axis
    bind w "+rotate_z+"

    // rotate the camera around the -Z axis
    bind q "+rotate_z-"


    These 2 cvar's adjust the speed the camera moves
    Code: Select all
    // the speed the camera rotates at
    rotate_speed 2

    // the speed the camera moves at
    move_speed 2


    Still to do:
      move_forward_xyz - move the camera using three dimensions
      add a cvar for 3) Optionally chase the player while it moves
      remove the cvar_set's
      move_degree 'x y z' - move the camera in the direction 'x y z'

    A script:
    Code: Select all
    bind H "camera_angle_move_z 10 ; camera_angle_move_y 6; defer 2 "camera_angle_move_z -5 " ; defer 5 "camera_angle_move_z 0; camera_angle_move_y 0""

    Rotates the camera around Z at speed 10 and around Y at speed 6,
    after 2 seconds rotate around -Z at speed 5 (or Z at speed -5),
    after 3 seconds (5 in total) stop.


    Note: Where I have used X, Y and Z, I don't actually know if they are the correct axis labels.
    Spaceman
    Alien trapper
     
    Posts: 264
    Joined: Tue Aug 28, 2007 10:53 am

Wed Jan 07, 2009 1:29 am

  • If want to use the above as a chase camera and you want to stop your player moving around when you move your mouse. Change the mouse sensitivity to 0.
    Code: Select all
    sensitivity  0

    Obviously you will need to change it back, mine is 6.
    Spaceman
    Alien trapper
     
    Posts: 264
    Joined: Tue Aug 28, 2007 10:53 am

Wed Jan 07, 2009 2:19 pm

  • victim wrote:Still to do:
    move_forward_xyz - move the camera using three dimensions
    add a cvar for 3) Optionally chase the player while it moves
    remove the cvar_set's
    move_degree 'x y z' - move the camera in the direction 'x y z'


    I wonder if we really don't need these cvar_sets, maybe they become useful for scripting the camera.

    I'll test your code this night. Please if you can post it in patch form, so we can get more feedback.

    This is the approach I've taken, still a work in progress. It allows switching between the chasing and free camera modes. The chasing mode starts like in the center of the player model, it should be improved.Here the config for it.

    I like this extreme programming approach :)
    User avatar
    mand1nga
    Alien trapper
     
    Posts: 321
    Joined: Mon May 12, 2008 12:19 am

Wed Jan 07, 2009 3:33 pm

  • Nice work you are doing. Go for it and there soon will be q3mme for nexuiz.
    Alien
    Forum addon
     
    Posts: 1212
    Joined: Tue Apr 22, 2008 7:12 am

Sun Jan 11, 2009 4:43 pm

  • Alright, I think I have finished the camera support for demo recording. Now you can put the camera everywhere, rotate it, look anywhere, switch to free looking or chase modes while playing demos.

    It requires the following cvars

    Code: Select all
    set chase_active_direction_step 2      // Camera movement speed on the x/y/z axis
    set chase_active_rolling_step 1         // Camera rotation speed

    set chase_active_free 0            // Free camera instead of chasing the player
    set chase_active_reset 0         // Reset the camera position
    set chase_active_direction_x 0         // Move the camera on the x axis (relative to the camera angle)
    set chase_active_direction_y 0         // Move the camera on the y axis (relative to the camera angle)
    set chase_active_direction_z 0         // Move the camera on the z axis (relative to the camera rotation)


    To enable it use the cvar chase_active with a value > 1

    Here is the Nexuiz patch. Also I had to modifya line in Darkplaces in order to get mouse input while playing demos, I haven't noticed any side effect of this.

    For testing it I used the following binds setup:

    Code: Select all
    alias +camera_move_forward "set chase_active_direction_x 1"
    alias -camera_move_forward "set chase_active_direction_x 0"
    alias +camera_move_backward "set chase_active_direction_x -1"
    alias -camera_move_backward -camera_move_forward

    alias +camera_move_left "set chase_active_direction_y 1"
    alias -camera_move_left "set chase_active_direction_y 0"
    alias +camera_move_right "set chase_active_direction_y -1"
    alias -camera_move_right -camera_move_left

    alias +camera_move_up "set chase_active_direction_z 1"
    alias -camera_move_up "set chase_active_direction_z 0"
    alias +camera_move_down "set chase_active_direction_z -1"
    alias -camera_move_down -camera_move_up

    alias +camera_roll_right "set chase_active_roll 1"
    alias -camera_roll_right "set chase_active_roll 0"
    alias +camera_roll_left "set chase_active_roll -1"
    alias -camera_roll_left -camera_roll_right

    bind h +camera_move_left
    bind k +camera_move_right
    bind n +camera_move_down
    bind m +camera_move_up
    bind j +camera_move_backward
    bind u +camera_move_forward

    bind MOUSE1 +camera_roll_left
    bind MOUSE2 +camera_roll_right


    Enjoy :)

    All credits to victim[v] and Pythagoras ;)
    User avatar
    mand1nga
    Alien trapper
     
    Posts: 321
    Joined: Mon May 12, 2008 12:19 am

Sun Jan 11, 2009 8:05 pm

  • Now see it in action 8)
    User avatar
    mand1nga
    Alien trapper
     
    Posts: 321
    Joined: Mon May 12, 2008 12:19 am

Sun Jan 11, 2009 8:29 pm

  • Fantastic work!

    Another suggestion would be: could you find out whether your custom csprogs.dat file could be injected into demos recorded on recent SVN servers to get this functionality when playing back your online demos?

    Oh, and wow, the patch is really small and clear, nice 1 :)
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Mon Jan 12, 2009 2:02 pm

  • Yes it would be really cool. Yesterday I took a quick read to the demo recording code and I saw that csprogs.dat contents aren't injected into demos, it only injects the csprogs.dat crc somewhere. Whenever I have some free time I'll look how to point this crc to a newer csprogs.dat and see if the demo is still playable.
    User avatar
    mand1nga
    Alien trapper
     
    Posts: 321
    Joined: Mon May 12, 2008 12:19 am

Mon Jan 12, 2009 2:43 pm

  • wow, that's great! Can this be added in the next release? Can't wait to make vids with this new system.

    Big thumbs up guys!
    User avatar
    Fisume!
    Alien trapper
     
    Posts: 467
    Joined: Sun Jan 27, 2008 8:55 am
    Location: Saarbruecken, Germany

Mon Jan 12, 2009 6:27 pm

  • For all the ones who lack the knowledge to compile it and want to try it out, I've created a small pack for Nexuiz v2.4.2.

    It contains:
    - modified compiled wgl engine for Windows
    - modified progs.dat and csprogs.dat
    - the configs of Nex SVN needed to bypass csqc check
    - camera.cfg (execute that config to get the controls, have a look at the file before to see if you like the binds)

    WARNING: I recommend that you do backup your config before you use that patch. Restore your config later if you are done. If you forget it ... well, I don't know what changes a SVN-based DP engine and SVN based gamecode and the defaultvariable settings needed to use this will do to you nex 242 settings...

    download here
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Mon Jan 12, 2009 7:18 pm

  • mand1nga wrote:Yes it would be really cool. Yesterday I took a quick read to the demo recording code and I saw that csprogs.dat contents aren't injected into demos, it only injects the csprogs.dat crc somewhere. Whenever I have some free time I'll look how to point this crc to a newer csprogs.dat and see if the demo is still playable.

    Apparently div0 recently fixed this bug. In my try-outs of your cam, the csprogs.dat was injected into my demos (recorded on a listen server).

    But I can confirm that my online demos also don't have csprogs.dat :P (but at the time of recording the engine likely still had that bug)
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Mon Jan 12, 2009 10:25 pm

  • I think it was a feature ;) It seems they've chosen to bypass the csprogs.dat check and "try" to run the demo. And yes LH told me this morning that demo files can hold csprogs.dat, so I believe you :)

    the configs of Nex SVN needed to bypass csqc check


    How did you achieve that? :o

    Or you did some funny trick, or I should delete some csprogs.dat files in my svn data folder :twisted:

    Now I'm trying to make the look/mouse movements more smoother. Any ideas or suggestions will be appreciated. Basically what I'm doing right now is applying like a delay for quick movements, but there are many ways to do that.
    User avatar
    mand1nga
    Alien trapper
     
    Posts: 321
    Joined: Mon May 12, 2008 12:19 am

Tue Jan 13, 2009 5:00 am

Tue Jan 13, 2009 11:45 am

  • mand1nga wrote:
    the configs of Nex SVN needed to bypass csqc check


    How did you achieve that? :o


    Well, I simply copied the default configs from SVN into the zip archive, that's it. The reason was that when I only placed progs.dat and csprogs.dat into the nex 242 folder I could not start the game, and the error message contained the information that the configs didn't match. That is the reason why I provided them.

    mand1nga wrote:Now I'm trying to make the look/mouse movements more smoother. Any ideas or suggestions will be appreciated. Basically what I'm doing right now is applying like a delay for quick movements, but there are many ways to do that.

    I'd rather suggest that you start working on a system where the user can define premade camera paths. As you know, I've posted URLs to mods that do that already for UT and Q3, so you can have a look at their functionalities.
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Tue Jan 13, 2009 8:00 pm

  • It got commited to SVN. Please test it. This is my config:

    Code: Select all
    bind a +camera_move_left
    bind d +camera_move_right
    bind s +camera_move_backward
    bind w +camera_move_forward

    bind MOUSE5 +camera_move_down
    bind MOUSE4 +camera_move_up
    bind MOUSE1 +camera_roll_left
    bind MOUSE2 +camera_roll_right

    bind q "set chase_active_free 1";
    bind e "set chase_active_free 0";

    camera_enable


    Enjoy!
    User avatar
    mand1nga
    Alien trapper
     
    Posts: 321
    Joined: Mon May 12, 2008 12:19 am

Tue Jan 13, 2009 8:05 pm

Thu Jan 15, 2009 7:03 pm

  • Now the camera supports smoother movements on SVN. This is acomplished by maintaining two separated camera states: the current and desired states. For example if you change suddenly the mouse position, this new far position will be the desired state. Then both states will be bridged more smoothly (and slower) as bigger the camera_speed_attenuation cvar is set. This cvar impacts on all methods for controlling the camera: mouse, keyboard and player movements if the camera is on chase mode (camera_free 0).
    Also I've added a filter for ignoring small movements with the mouse using camera_mouse_treshold. This helps just a little when you are making a video of a demo.

    This is the new complete cvar set:

    Code: Select all
    set camera_speed_roll 0.9      // Camera rotation speed
    set camera_speed_chase 4      // Camera movement speed on the x/y/z axis while chasing the player
    set camera_speed_free 8         // Camera movement speed on the x/y/z axis in free mode
    set camera_speed_attenuation 30      // Camera movements attenuation factor. Bigger is smoother
    set camera_free 0         // Free camera instead of chasing the player
    set camera_reset 0         // Reset the camera position
    set camera_direction_x 0      // Move the camera on the x axis (relative to the camera angle)
    set camera_direction_y 0      // Move the camera on the y axis (relative to the camera angle)
    set camera_direction_z 0      // Move the camera on the z axis (relative to the camera rotation)
    set camera_mouse_treshold 0.5      // Use to ignore small mouse movements. This allows for smoother camera control
    set camera_chase_smoothly 0      // Attenuate player movements (only in chase mode)


    You can enable/disable the camera using camera_enable/camera_disable.

    Please test it. No need to change the previous config I've posted.

    Cheers
    User avatar
    mand1nga
    Alien trapper
     
    Posts: 321
    Joined: Mon May 12, 2008 12:19 am

Fri Jan 16, 2009 12:40 pm

  • three things
    1) maybe I'm wrong but somehow the camera does really only move along the axis, and is not following my direction anymore (e.g. if I aim upwards 45° and press the camera_move_forward key, it stays on my x (or z) axis, and doesn't do any Y movement

    2) please provide a setting like camera_fov otherwise you will have weird effects where the fov of you free cam changes because the player was zooming with his nexgun :P

    3) when I press move left and move right very fast after another (again and again... like strafing left and right with the camera all the time) the movement of my move_left isn't recognized

    Other than that it's great.
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Fri Jan 16, 2009 5:19 pm

  • 1) maybe I'm wrong but somehow the camera does really only move along the axis, and is not following my direction anymore (e.g. if I aim upwards 45° and press the camera_move_forward key, it stays on my x (or z) axis, and doesn't do any Y movement

    This is a feature, because this way you can keep going forward in the same altitude while looking upwards. If you want to go up/downwards you can use the +camera_move_up/down aliases. I feel we have more control of the camera this way.

    2) please provide a setting like camera_fov otherwise you will have weird effects where the fov of you free cam changes because the player was zooming with his nexgun


    Nice one ! Fixed :)

    And there is no need for camera_fov, the "fov" cvar works just perfect :)

    3) when I press move left and move right very fast after another (again and again... like strafing left and right with the camera all the time) the movement of my move_left isn't recognized


    Well it happened to me too a couple of times, it only happens when two (opposite) keys are pressed at the same time, just a really tiny small delay before changing direction should do the trick.

    Thank you very much GM

    PS: I agree with you in that being able to script the camera is the way to go, I'm already researching about that.
    User avatar
    mand1nga
    Alien trapper
     
    Posts: 321
    Joined: Mon May 12, 2008 12:19 am

Fri Jan 16, 2009 6:59 pm

  • thanks :o

    Still, about the strict movement along the axis ... I dunno, but I feel that an alternative mode would be cool where you are able to fly along the direction you are looking at
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Tue Jan 20, 2009 8:32 pm

  • GreEn`mArine wrote:thanks :o

    Still, about the strict movement along the axis ... I dunno, but I feel that an alternative mode would be cool where you are able to fly along the direction you are looking at


    Try with
    Code: Select all
    camera_forward_follows 1


    Also I've added a camera mode which looks always to the player. Mouse input is disabled on this mode. This is useful if you don't want to be chasing the player with the mouse all over the map. To enable it:
    Code: Select all
    camera_look_player   1

    Cheers
    User avatar
    mand1nga
    Alien trapper
     
    Posts: 321
    Joined: Mon May 12, 2008 12:19 am

Tue Jan 20, 2009 11:25 pm

  • Very cool, thanks. Will test it very soon!
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Thu Jan 22, 2009 8:43 pm

  • Alright, I tested it. Changes look good so far.

    However, one thing feels strange to me. When in chase mode and your new feature camera_look_player being enabled, I would expect that my camera rotates around the player when pressing strafe left or strafe right keys. In fact, the camera does so, but at the same time it also moves away from the player, which is a effect I don't expect. Is this a bug?
    IRC quote:
    [kojn] I've been coming a bit more recently
    [kojn] she took it the dirty way
    GreEn`mArine
    Forum addon
     
    Posts: 1509
    Joined: Tue Feb 28, 2006 9:33 pm
    Location: Germany

Next


Return to Nexuiz - Development




Information
  • Who is online
  • Users browsing this forum: No registered users and 0 guests