Jump to content

ent

Members
  • Posts

    551
  • Joined

  • Last visited

Posts posted by ent

  1. Hello everyone.

     

    Most of things are ported, most of bugs are fixed so it's 1.0. Yay.

    Get it now: http://jkhub.org/files/file/1712-jamme/

     

    Changelog:

    - changed sound code for proper sound speed support and for opportunity to play background music

    - added mov_musicFile and mov_musicStart which let you load and adjust background music

    - added mov_wallhack which lets you see player models through walls

    - added mov_filterMask which lets you hide selected entities

    - added musicPlay command that lets you play music for some time

    - fixed disapearing external post-process (QeffectsGL) if there are not 2D images on screen (thanks to Ghost)

    - added doppler effect and cvars that control it: s_doppler, s_dopplerSpeed, s_dopplerFactor

     

    New cvars:

    - mov_musicFile

    - mov_musicStart

    - mov_filterMask

    - mov_wallhack

    - s_doppler

    - s_dopplerSpeed

    - s_dopplerFactor

    - s_timescale

    - s_forceScale

    Check mme/cvars.txt to read description of those cvars.

     

    Probably some sounds won't be played though I didn't have such issue, and if it happens then tell me about that, please.

    Also bug with odd sounds that could be heard in captured sound still exists. Example: https://db.tt/4MV9oQZg (let's hope Leonardo won't delete it). You can hear the pistol shot is very noisy. The problem probably comes from original quake 3 sound code and I could not detect its core. Sounds with that bug:

    - Bryar Blaster Pistol alt shot

    - Golan Arms Flechette alt shot

    - Merr-Sonn Portable Missle primary shot

    If you find more then tell me, please. Fortunately saber sounds are fine so saberists can be happy.

    But the problem has a solution and it is still same: http://jkhub.org/topic/2714-tips-advices-and-help/ on "If you are recording audio and having strange sounds..." string.

     

    To test how sexy sound speed scales just change demo speed using /speed command (/speed 0.4 for example). To test doppler effect just get closer to flying rocket and listen to how its speed changes. Wooo.

     

    May the Force be with you. tumblr_lfhua3UHGR1qzvcyt.gif

     

     

    UPD:

    Made some changes and fixes, now it is 1.0.2.

  2. Someone tried the mod with MB2 demos and it crashed their game. But I am not sure if it happened because that user installed the mod wrong or it just does not support.

    As far as I know MB2 is rewritten much thus it has few chances to play demos in jaMME.

    But let's wait what Deviance or someone else will tell. Like.. official statement.

  3. Hi, eezstreet.

    Some effects work directly in game, some - only visible in outputs. Framebuffer object is used to capture in higher resolution and capture motion blur much faster. Also it has own anti-aliasing that works only if FBOis enabled. I don't know what you need some features for. I think FBO is useful only if you gonna capture. Maybe I don't know much, so those who sees I am telling something wrong can explain better maybe.

    Most features are portable, except time control I think (not sure how and why would people even need time contol on server).

     

    For more information you can ask CaNaBiS from q3mme crew. He is a lead programmer. You can find him on #moviemaking irc @quakenet network.

  4. Hey all. jaMME 0.9.6 is here: http://jkhub.org/files/file/1712-jamme/

    Good news. I tested the mod in Lugormod and Makermod demos and they both work fine. At least I did not notice issues. The mod also can work fine with other "only-server-side-mods" demos.

     

    Changelog:

    - changed demo converter for proper vehicles support (thanks to Ensiform); probably will be bugged with some old converted demos that contain vehicles, so delete all .mme files from mme/mmedemos to avoid this

    - fixed overrided saber hilt which wasn't overrided if the saber is thrown

    - fixed aspect ratio of some 2D images in hud: jetpack fuel bar, unlocking bar and its image (in Lugormod or siege game mode)

    - fixed mov_captureCvars: it is now temporary, so each session you will have only cvar that you added in current session, and old capture cvars that was used only for prev demo won't be used in current one; delete "seta mov_captureCvars "<cvars>"" from mme/jampconfig.cfg to make it work (thanks to Ensiform)

    - added new demo browser in menu which supports folders and remembers last played demo (thanks to Sil)

    - fixed the flag which wasn't shown on player's back (thanks to Cydonis)

    - fixed mov_fragsOnly which did not work at all (thanks to Cydonis)

    - fixed frag message which containes overrided names

     

    Test the mod in Lugormod and Makermod demos and tell me if they don't work fine.

    May the Force be with you.

    Omicron and Futuza like this
  5. Here you can find some tips, advices and help to avoid known bugs and make your video sweeter.

     

    Sometimes after playing demo backward you can notice dead bodies are being in weird position and/or have wrong models. To not have this you can try to enable rag-doll effect by setting “broadsword 1”.

     

    While capturing you can have some effects (.efx files) disappearing or blinking, or they are too bright (weapon spawn cone). To avoid this try to lower value of “fx_vfps” cvar. Currently it’s 200 and rather low thus it should look very well for everyone. If you want it looks like in regular game then set to 1000. If you have few effects and want them look saturated then up the value. Also with low value effects will blink and won’t be saturated enough.

     

    If your demo was recorded on ja+ server with ja+ client then you have an opportunity to show deaths in scoreboard. Set “cg_japlusFix 1”. Game can crash if that cvar is set to 1 and demo was recorded with base or another client that does not support ja+ deaths feature.

     

    If your demo was recorded on ja+ server with ja+ client and the demo contains grapple hook then to make it look not buggy set “cg_grappleFix 1”. If it was recorded with base client then set “cg_grappleFix 4”. If any of those number didn’t help then try other ones in range 1-9.

     

    If you are recording audio and having strange sounds in output then it’s probably you were recording on low frame update: when mov_captureFPS*mme_blurFrames > 30 (I did not test actual limit, so now it’s 30). Solution is try to recapture your moment with “mme_saveShot 0” and “mme_blurFrames 0” to have high frame update and not recapture screenshots/video again, and it will capture audio very fast. To have correct video and audio synchronization try to set capture range before capturing both video and audio.

     

    If you are capturing stereo 3D and capturing a player in third person view then you probably have not matching left and right outputs. It happens because third person view has independent on game time camera damp update. To avoid this try set “cg_thirdPersonCameraDamp 1” and “cg_thirdPersonTargetDamp 0” and camera will be locked to third person view without delay on updating third person camera position. (It is not about chase or camera mode, only “cg_thirdPerson”.)

     

    If your game crashes on capture start, then try to up “mme_workMegs” value, max is 512.

     

    If you want to capture depth of field mask screenshot but don’t know what values to use, then try “mme_depthFocus 4000” and “mme_depthRange 2000” as a starting point. Play with values to see differences.

     

    You can also find more useful information in cvars.txt and cmds.txt that comes with jaMME mod in "mme" folder.

  6. You got a nice idea how to improve jaMME? You don’t like one of existing features? You found a bug? If so then make a post with your feedback in this section.

     

    TODO list:

    - change sound code so sound speed will be based on demo time speed (currently works with “s_UseOpenAL 1” but it produces ugly sounds)

    - with changed sound code remake saving WAV by using q3mme recording style

    - also with changed sound code make available loading background music to synchronize video editing directly in game

    - GLSL and/or another post-process for renderer

     

    If you are able to make one of those TODOs or you have a solution for desired feature then help please with their realization on https://github.com/entdark/jaMME.

  7. jaMME is young and wasn’t tested enough, also I (ent) who was porting the mod (with Scooper’s help) is a young programmer too, therefore the mod is not stable sometimes and have some bugs. Here is the list of known bugs:

     

    - mpeg compression for AVI does not currently work due to old jpeg capturing method

    - vehicles don’t have proper support, so you can see missing hud items and animation is buggy too (need more demos with vehicles for tests)

    - after finishing capturing audio there are strange sounds that will play afterward

    - some sounds sound weird while capturing audio on low frame update (probably only some mp3 sounds)

    - some .efx effects disappear on low frame update (or speed 0), and only visible if time goes

    - some effects, animations and sounds can work wrong after playing demo backward (mostly fixed)

     

    If you found a new bug then make a post in this section with details of what you were doing and attach demo if possible.

     

    The source code of the mod is open. So if you think you can help with fixing one of those bugs then feel free to take a part in jaMME development on https://github.com/entdark/jaMME.

  8. 1. Introduction

    Hello all!

    Today I'm gonna tell you a bit more about different blur styles and settings that you can use in jaMME.

    Hopefully it will help you pick the right settings for your material.

    As you probably know, there are several commands which affect the way mme will blur your frames.

    Those are:

    mme_blurframes [0-32]
    mme_bluroverlap [0-32]
    mme_blurtype [gaussian,triangle,median]

    • mme_blurframes determines the amount of frames that is taken into the blending. the bigger the number, more smooth the final image is, but also longer processing is required.
       
    • mme_bluroverlap is similar to blurframes, but it is the number of frames that are kept from previous frame and blended into the new frame. higher number results in smoother image.
       
    • mme_blurtype governs the algorithm of the smoothing.

    The tutorial is divided in few sections.

    Hope you'll enjoy it.



    2. Theory

    In case you are not interested in the beneath the hood part, you may skip to next section, but at least check the "in short" part. This will get slightly mathematical and all. ;)

    First lets say a bit on different blur shapes.

    Triangle

    It is the simplest of blurring methods. It uses the linear average between multiple pixels. 

    It is what is more commonly referred to as mean average.

    Mathematics:
    Example 1: (2 + 4 + 3 + 11) / 4 = 5.
    Example 2: (2 + 4 + 3 + 111) / 4 = 40.

    Store all pixel data into a 3d matrix, with width [x] and height [y] the size of a single image and "length" [z] of the mme_blurframes. For each [x,y] calculate the linear average of all [z]. That is your new image.

    Example 1:
    We have only one gray-scale pixel over 4 frames, with values of 0 (black) - 255 (white).
    [0,100,5,255] -> [(0+100+5+255)/4] -> [90]
    As a result we have a dark gray pixel.

    Example 2:
    We have only one gray-scale pixel over 5 frames with values of 0 (black) - 255 (white).
    [0,0,0,0,250] -> [(0+0+0+0+250)/5] -> [50]

    As above examples show extreme values have a big impact on final image.

    Gaussian

    Gaussian blur is based on the "gaussian curve" also known as "bell curve" (due to its shape). That curve is a representation of "probability" that some combination of events happens.

    Easiest way to picture it is if you take 3 dice with 6 sides, throw them and add the numbers. You will get 10 or 11 as a result on average, and you will get 18, or 3, only extremely rarely. If you would write all that down on a graph, you would get the bell curve.

    Mathematical part is a bit hard to explain in short, but it gives most impact to average values, and very little to extreme values.

    Example 1:
    We have only one gray-scale pixel over 4 frames, with values of 0 (black) - 255 (white). 

    Note that the result is not accurate, it is my own estimate. wink.gif
    [0,100,5,255] -> [50]
    As a result we have a very dark gray pixel.

    Example 2:
    We have only one gray-scale pixel over 5 frames with values of 0 (black) - 255 (white).
    [0,0,0,0,250] -> [(0+0+0+0+250)/5] -> [3]

    As you can see extremes have an impact to final value but it is very low.

    Median

    Median blur is a blur based on the median of numbers. It is also a way to determine the average (like linear and gaussian are).

    In statistics median is the number dividing the higher half of some sample population from the lower half. It has a tendency to completely ignore extremes, and it is always a value that appeared, therefore being an existing value within that population, and not some value that is derived from a calculation (and might not be a part of that population).

    Example 1:
    We have only one gray-scale pixel over 5 frames, with values of 0 (black) - 255 (white). 

    [0,100,5,255,75] -> [0,5,75,100,255] -> [75]

    Example 2:
    We have only one gray-scale pixel over 5 frames, with values of 0 (black) - 255 (white). 

    [0,0,255,0,255] -> [0,0,0,255,255] -> [0]

    Note how extreme values are sucked out of a median calculation, having absolutely no effect to final result.

    In short:

    • Triangle (linear or mean) blur: extreme values affect the final result a lot.
    • Gaussian blur: extreme values have an effect to the final result, but not so much.
    • Median blur: Extreme values are ignored.



    3. Action

    OK all that mambo-jumbo up there wasn't really that helpful. You know what would help you, don't you? Examples in actual movie making? Well here they are! :)

    Example 1:

    Capture settings: mme_blurframes 32, mme_bluroverlap 0, mov_captureFPS 30.
    Camera is static.

    i2dZ4tFwiZrlV.png
    Triangle

    ib1W1HcVJF7p0a.png
    Gaussian

    ibjyws0VhdhUTD.png
    Median

    Note the differences.

    On linear the player is well defined, but notice that edges are a bit sharp, and that even small things, like black edges on textures, effect the rest of the image (due to slow camera movement) and therefore that image is slightly darker.

    On gaussian the player is slightly less defined on edges, but still visible on entire area of the model. Rest of the image has better light and color data, due to reduction in extreme values. Notice that textures have the most sharpness of all 3 pictures.

    On median you can notice that the player looks ghostly. If he was moving faster, he would stop being visible! Note that textures look more blurred, but organically so, not like linear blur has them.

    On linear the textures are much less defined than on gaussian, yet look artificially blurred, unlike median.

    On gaussian the textures are well defined, yet smooth.

    On median the textures are heavily blurred, but notice that they are not recalculated, instead they look sort-off like our eye would see them (you notice that there is a texture going on, but you don't see it exact).



    4. So what now?

    OK so you saw examples. What to look after when you go making your own movie?

    First, examine your material.
    And also decide what you are after.

    If you want sharp images, gaussian or triangle is the way to go. Triangle is much faster, at the cost of a bit less precise smoothing.

    If you want images that look as if the human eye would watch them, use median. Just be careful that nothing moves too fast on your capture, cause nobody will see it. Unless thats what you want, that is. ;)

    In short it all depends on your time, and how much you consider enough.

    I've seen clips rendered in mme_blurframes 4 and mme_capturefps 200, than later merged in Vegas to 25 fps, that looked super-smooth (InstaUnlagged demo), and also clips that even on well over 12000 frames just don't look smooth enough (excessiveplus ctf run).

    Note that the faster the action, the more frames you should be using to keep the quality of blend good. But that usually also results in nothing being visible. Sometimes its better to go for less smoothness, in order to keep content clear. It is a delicate line, and walking it can be hard at times. :)



    5. End

    Hope you enjoyed the read, and that it helped you.

    Keep the following in mind:

    mme_blurframes [0-32]
    Smaller value will render faster, but loose smoothness as action speed increases.
    mme_bluroverlap [0-32]
    Same as blurframes, but can be useful to even more increase the speed of rendering and amount of smoothness in the same time.
    mme_blurtype [gaussian,triangle,median]
    Gaussian gives that usual motion blur that you are used to. Good quality and speed.
    Triangle is fast, but tends to be a bit choppy.
    Median gives the look as if human eye was watching, so fast action is often not visible. But looks organic if done properly.


    Thats all folks, till next time. :)
     

    Credits: Foksie; original: link.

  9. Hi :)

    This feature will make your capturing process a piece of cake. You save very much time and re-capturing stuff will also be awesomely easy.

    This tutorial:
    1. More details about project files
    2. Creating project files and a demolist
    3. Demolist capturing


    -----------------------------------------------------------------------------------------
    More details about project files
    -----------------------------------------------------------------------------------------

    Need to tell you about project files a bit more. Almost everything you change will be saved in them by default. That means: mme_blurFrames, mme_blurOverlap, mov_captureFPS, mov_captureName (screenies will be named like that) and so many more things. You can go into a project file and look how the settings are stored. It it a kind of html format and you can change everything in notepad. There's that cvar in it called mov_captureCvars. It saves which other cvars shall be saved in the current project file. If you change it, add some things, it will be saved as well. For example you might want to have mme_skykey saved in it for some keyed capturing.


    -----------------------------------------------------------------------------------------
    Creating project files and a demolist
    -----------------------------------------------------------------------------------------

    The aim of a demolist capturing is that you don't have to capture each demo yourself. You can capture everything, may it be first person, chase or normal camera or all 3 of them in one demo.
    A demolist runs demos and project files you specify. Now you think: Wha, who wants to cap all of his demos? Do I have to cut them before again? - No. You save the capture range in the project files.
    To do so, load a demo. Then either load a project file you already have or just don't, doesn't matter. Press 3 to switch to Timeline edit mode which contains capture settings. With shift + mouse go to the point in time where you want the capture to start. Then just hit T and it will give out that you marked the current time as capture start. Then go to where you want your capture to stop, hit G. Both points are marked now. They will be stored in the project file you save. Those both have to be set so the demolist knows where to capture. If one of them is not set, it will not capture. The view you're in will be saved in the project file to, so be sure to be in the right one when saving.

    I suggest capture settings to be done after you did a camera or else. Now when you want to save you can already start setting up a demolist. A demolist must be in the mme folder and can be in either .cfg or .txt format. You can save the current project file under a name and add the demo and the project file to the demolist at the same time. You can type "\save follow firstperson.txt". The second parameter is the name of the demolist file you want to add that to. Just look in your mme folder after to see what changed if you don't get what I mean yet.

    A demolist looks like this:
    demo1 prj1
    demo2 prj2
    demo3 prj3

    ...and so on

    You have to do one project file for every capture you want to do. It is not possible to save two capture settings in one project file. If you want to capture a camera and the follow view, you need two project files.
    Kay, you set capture start and capture end in every project file and a demolist is created, let's go on to..


    -----------------------------------------------------------------------------------------
    Demolist capturing
    -----------------------------------------------------------------------------------------

    There are two main ways to capture. Ingame and offscreen capturing. I recommend to do demolist capturing just like I do, I start it with a batch file.

    My current batch file looks like this:

    @echo off
    Start jamme.x86.exe +set fs_game "mme" +set mme_renderWidth "0" +set mme_renderHeight "0" +set r_multisample "8" +set r_multisampleNvidia "1" +set r_anisotropy "16" +set r_picmip "0" +demolist "firstperson.txt"
    Exit


    You should know many of those commands. I explain the ones you don't know yet: mme has custom settings for anti-aliasing and anisotropic filtering now. If you didn't already set them in your gfx card settings, you can set them seperately here. r_multiSample is anti-aliasingr_multisampleNvidia enables/disables anti-aliasing (multisampling) for Nvidia cards, they seem to have some problems with it. r_anisotropy is the level of anisotropic filtering you want to have during a capture.
    Demolist is the command to run a demolist file from the mme folder. You can also run that in the JA menu manually by typing "\demolist firstperson.txt".

    You can avoid capturing in fullscreen by setting both mme_renderWidth and mme_renderHeight: It's the size that JA will be run at, but you won't see it. When starting the batch with those both set, a small 320x240 JA window will be shown but it stays gray during the cap. The thing you will see is the JA console which prints out server messages and also tells you when the capturing of all demos is done. This is called offscreen capturing. Using it, you can capture all day long while doing other things on your computer.

    Hint: Right now it's still needed that you have mme_renderWidth, mme_renderHeight AND r_multisample set to more than 0 to have offscreen capturing. I need to talk with Canabis about that. Just so you don't wonder why it doesn't work.


    -----------------------------------------------------------------------------------------
    Quick Setup
    -----------------------------------------------------------------------------------------

    1. Load a demo
    2. Press 4 to enter capture settings editing mode
    3. Go to the point in time where you want your capture to start
    4. Hit T
    5. Go to the point in time where you want your capture to end
    6. Hit G
    7. Save your project file for that cap with "\save <prjname> <demolistname>"
    8. Set the right settings in the batch file
    9. Run the batch file
    10. Wait until the capture is done, be happy


    Thanks for listening and good luck.
    John

     

    Credits: John "auri" from q3mme crew; original: link.

    Cor likes this
  10. There was a time before q3mme (therefore before jaMME). Some people created camera paths with their mouse in that time, the dudes who knew something about moviemaking used defrag to create all kinds of cameras. Even today still some movies come out with defrag-cams in them.

    You can also set original defrag-cams up in jaMME, here is how to do it, it is not even hard.

    1. Choose which object to chase
    2. Create the camera path


    -----------------------------------------------------------------------------------------
    Description
    -----------------------------------------------------------------------------------------

    Indeed you hear right, chase object. Defrag cameras are usually chase cameras. Now you ask yourself, "Why don't I use the Chase camera then?". Well, there is a big difference between Chase camera mode and Defrag camera mode. I just call them like that, they don't really have names, hehe.
    So: In the chasecam you lock your camera to an object. The camera will always look at the object but also follow its position! Defrag cameras in contrast to that: The camera will always look at the object, but not follow the object's position. Like this you can easily create some very stylish cameras like you might have seen in so many defrag movies. Here is how you do it...


    -----------------------------------------------------------------------------------------
    Choose an object to chase
    -----------------------------------------------------------------------------------------

    Whether you want a rocket, a grenade, a player, ammo, armor or weapons laying around, go fly to that object in camera view mode and camera edit mode. The defrag-like camera is done in the first editing mode. You may hold both mouse buttons now to see which entities you can lock on. If you chose something sweet, hold mouse1 while looking straight at the entity, then hit the F button. The entity is marked with white borders. Done with this step, not really hard, huh :)


    -----------------------------------------------------------------------------------------
    Create the camera path
    -----------------------------------------------------------------------------------------

    Similar to the normal chasecam, you notice that you cannot move freely anymore now. You always need to hold mouse1 down to be able to change your position. You can use the keys A S W D to move around, the camera will always look at the "defrag-object". Now just create a camera path like you always did before with the V button and so on (I really hope you read any other tutorial before this, so you know what I talk about, ..you meanie).
    Later on, lock the camera with R and capture it then. Finished.

    Note: I wrote this tutorial already before mme 1.5 is out where the function is working very well. It might be a bit nasty in 1.4 to keep the camera locked to the entity, but you might find out. 1.5 is close! Good day, fun with trying this.


    -----------------------------------------------------------------------------------------
    Quick setup
    -----------------------------------------------------------------------------------------

    1. Load a demo
    2. Go to camera view mode by typing "/view camera" or use the X and Z keys
    3. Go to camera edit mode by pressing 1
    4. Move over to an object you want to chase with the defrag-cam
    5. Look straight at it, hold mouse1, hit the F button, you're locked now
    6. Move around, make up a camera path
    7. Capture it, eat it or whatever, good luck

    :P

    Credits: John "auri" from q3mme crew; original: link.

  11. Third tutorial, for the third editing mode, Timeline  ;)

    There are two different types of using time in jaMME:
    1. Have a constant timescale all over the demo
    2. Have a variable timescale, changing during the demo


    -----------------------------------------------------------------------------------------
    Constant timescale
    -----------------------------------------------------------------------------------------

    For sure you already searched for a command like "timescale" but that one does not work for jaMME. You can edit the whole demo speed with one command called "speed". Often you will record very nice camera runs, but when you playback them, you see that the camera moves much too fast and it rather confuses the watcher. You can for example open the console and type "\speed 0.5". The speed of the playback will change, that includes camera runs as well, everything will be in half speed, just as if you applied a timescale.
    Note: You can only apply 1 value for the speed command, there is no keypointing for it. Use it to get a constantly slower or faster playback of a demo.


    -----------------------------------------------------------------------------------------
    Variable timescale
    -----------------------------------------------------------------------------------------

    The variable timescale feature is used to affect the playback of the action in the demo, but not the camera run.
    Load a demo and pause it. Press "3" to enter the timeline edit mode. The display will show "Edit: Line". I suggest timeline adjustment to be done before adding a camera path, else the camera run will not fit the action anymore.
    You can set the view to either Camera or Chase, it does not matter in which view you edit the timeline in. If you hold mouse1 down while in camera view mode and in timeline edit mode, you are still able to move arround.

    This is how you edit the timeline:
    You add timeline keypoints and set a timeline speed value for each keypoint. That may remind you of Sony Vegas and its velocity envelope. You use the timeline exactly the same way. The time between two points will fade so it reaches the next keypoint smoothly and will not have certain jumps from normal time to slow motion or so.


    -----------------------------------------------------------------------------------------
    Keypoints for variable timescale
    -----------------------------------------------------------------------------------------

    You need to set the first keypoint to be the basic speed of the demo, I always suggest to make it normal speed.
    Go to the start of the demo, press V to add a timeline keypoint. Now adjust the timescale value for this keypoint:
    Press R to lock the timeline. If it is locked, the keypoint information will show up in yellow font. Open the console and type the command for normal speed: "\line speed 1".

    IMPORTANT: Do not forget to lock the timeline by pressing R. If you don't, you cannot edit keypoints at all!

    You specified the timescale value for this keypoint.
    Now you can move forward in time a bit and specify the point where the fading to a slower timescale shall start. You press V again, the timeline will still be locked. Open the console, input the same timescale value again. If you then create a keypoint 1 second ahead with "\line speed 0.5" during playback the timescale will fade from 1 down to half speed in that second and then continue playing in half speed.
    You can also set the value to 0 for pause, as I obviously did in the tutorial video. If you have 0, the demo time is running, but the ingame time is on pause. So go forward some seconds in the demo time and then put another keypoint with 0 so the ingame time will stay paused for some seconds and then fade to a higher value again.

    IMPORTANT: The line speed cvar cannot be set to a value below 0, the demo cannot play backwards.

    I hope you understand the keypointing. If you worked with the velocity envelope in Vegas, you can easily do this.
    If there are questions, just post in General section. This might be a bit hard to do.


    -----------------------------------------------------------------------------------------
    Quick setup
    -----------------------------------------------------------------------------------------

    1. Go into your demo, press 3 to be in timeline edit mode
    2. Press R to lock the timeline, else you cannot edit keypoints!
    3. Go to the start of the demo, press V and type "\line speed 1"
    4. Go to 10 seconds, make a keypoint and type "\line speed 1" again
    5. Go to 12 seconds, make a keypoint, type "\line speed 0"
    6. Go to 15 seconds, make a keypoint, type "\line speed 0"
    7. Go to 18 seconds, make a keypoint, type "\line speed 1"
    8. Leave the timeline like it is, add camera runs..

    This was an example of how you can create a paused section in your demo and here is how it works if you do it like this:
    The demo will play in normal speed from the start until 10 seconds. From 10 seconds to 12 seconds, the demo speed will fade down to 0. So from 12 seconds the demo will be paused. Until when? Until the second keypoint with "line speed 0", so until 15 seconds no movement at all. Since on 18 seconds there is a keypoint with normal speed again, the demo speed will fade up to 1 in the time between second 15 and second 18. After that it will play in normal speed again.

    You see, you need 4 keypoints if you want to slow down or speed up the demo for some time. The one in the beginning of the demo does not count. It only defines how fast the demo runs until you put the first keypoint after that. Try learning by doing.

    It is still a bit hard to edit the timeline. You cannot edit keypoints afterwards, only once yet. If you edited something in a wrong way or you want to change something, better delete the last keypoints instead of trying to change the line speed of a single one in between two others.

    Good day. John
    :o

    Credits: John "auri" from q3mme crew; original: link.

  12. Make sure you read the first tutorial "How to set up a basic Camera" before you read this. I will refer to it.

    2 easy processes:

    1. Learn how to use the Chasecam mode
    2. Lock the Chasecam and create a camera path


    -----------------------------------------------------------------------------------------
    Learn how to use the Chasecam mode
    -----------------------------------------------------------------------------------------

    Choose a demo, put it in the mme/demos folder, start "launch_jaMME.cmd" from the GameData/custom folder, type "\demo <demoname>" and press C when the demo is loaded to pause it.
    We know how the Camera mode works, now we will learn how to edit a complete Chasecam run.

    1. To enter the Chasecam edit mode, press "2".
    2. To enter the Chasecam view mode, press X or Z until it says "View set to Chase".

    3. Press F to "leave" recorder's pov.
    Now you see a 3-dimensional white cross in the middle of the screen I hope, it is the marker.


    -----------------------------------------------------------------------------------------
    Lock the Chasecam and create a camera path
    -----------------------------------------------------------------------------------------

    The most important thing in the Chase mode is locking to objects. In contrast to the normal Camera mode the Chasecam always follows objects with its postion.

    How do you find out which objects you can lock the Chasecam on: Hold mouse1 and mouse2 at the same time, then all available objects will be marked with red borders. You can actually lock on all entities: Players, projectiles (rockets, grenades, blaster shots other "flying" shots), thrown sabers, weapons, ammo, health, armor and powerups.

    Lock on a certain object: When you chose an object you want to chase, look at it straight so that the white cross is placed above it. Now hold down mouse1 and then hit F. The object will be surrounded by white borders to show that it is now the chased object.
    (To release a chased object, press F at anytime while holding mouse1)

    Your movement is limited now, here is what you can change:
    The keys W, A, S, D are of no use anymore now.
    You can change the angle of the Chasecam by holding down mouse1 and then moving the mouse.
    You change the chase distance (distance between Chasecam and chased object) by holding the Spacebar and moving the mouse left and right.

    Play around with it a bit so you get used to it. Then start to create a complete Chasecam path. You do it the same way as in the Camera mode: You change the position and angle of the Chasecam, add a keypoint by pressing V, then move forward or back in time by holding down SHIFT and moving the mouse and create more keypoints.

    When you have finished the path, you want to view the Chasecam run you created. Go to the first keypoint and now press R! If you don't press R, the Chasecam view will not be locked. You will see the view following the player, but angles and distance of the Chasecam will not change.
    When you are locked to the Chasecam view, press C to unpause the demo and watch what you created. Of course you can edit the Roll of every keypoint as well by holding mouse2 when editing a keypoint and moving the mouse.


    -----------------------------------------------------------------------------------------
    Quick setup
    -----------------------------------------------------------------------------------------

    1. Load a demo and pause it with C
    2. Hit "2" for Chasecam edit mode
    3. Hit X or Y until it says "View set to Chase"
    4. Move the white marker over an object you want to chase
    5. Hold mouse1, then hit F to mark it
    6. Hold mouse1 and move the mouse to change the angle
    7. Hold the Spacebar and move the mouse to change the disctance
    8. Set up keypoints by pressing V
    9. Type "\mme_blurFrames 20"
    10. Go to the first keypoint by holding down Q
    11. Type "\capture pipe 30 ChaseTutorial"
    14. Unpause the demo with C to capture
    15. In windows: all you need is a simple vdub script with framerate set to your final project fps

     

    Greetings, John

    :o

    Credits: John "auri" from q3mme crew; original: link.

  13. Here you have a tutorial to introduce everybody to cameras in jaMME.

    Requirement: one demo
    Let's imagine your demo is called platypus.dm_26

    Put your demo into the folder /mme/demos.
    Start jaMME with the launch_jaMME.cmd.
    Go to the demos menu and find platypus, then doubleclick it. The demo loads. When it finished loading, it plays in recorder's pov.
    Press C to pause the demo - it always helps to get an overview and you do most of the editing in the pause mode.
    There also are three editing modes: Camera, Chase and Timeline. I will only talk about the Camera mode now. We will go through 3 processes:

    1. Create keypoints for a camera path
    2. Check the path and do last adjustment
    3. Capture the camera run


    -----------------------------------------------------------------------------------------
    Creating Camera Keypoints
    -----------------------------------------------------------------------------------------

    To edit the camera, you have to be in the camera editing mode. You activate it by pressing "1". To see what you are doing you have to be in camera view as well. With the keys X and Z you cycle through the three views until it says "View: Camera".
    Now I will tell you the basic controls. Hold down mouse1 to be able to move around. You always must have mouse1 (+attack) pressed in order to move in any way. You move with W, S, A, D in all directions, CTRL is move down and the spacebar lifts you up. Surely that is not hard, but you are not bound to player limits, you can spin in every direction, so be careful that you don't end up everything mirrored.

    Time control. Shift is the time-key. Hold down shift and move your mouse to the left and right to adjust the time. This is how you go forward and back in demos. If you want it to be faster, you can jump in 4-second-steps forward and backward: Hold down shift, then tap A to jump 4 seconds back or tap D to jump 4 seconds forward. You can adjust the time that you jump forward or backward with the cvar mov_seekinterval. Default is set to 4000 miliseconds.

    Now we will start with the first keypoint.
    Move to the time in the demo where you want your camera run to start. Then set up a camera angle with a nice view on the player.
    1. Press V to create a new camera keypoint.
    2. Now you will create more keypoints for the whole run:
    Hold shift again and go forward in time until the point when you want to have the next keypoint (That surely will be either if the camera stays too far away from the player or the player moves out of view). Hold mouse1 down again, move to the position you want your next keypoint at and press V. Repeat this as often as you want to create your run.
    Don't do the keypoints too fast after each other. One per 2 seconds often fits. If you do too many, it will look very weird and not smooth anymore. If you don't do enough of them, the camera will follow the player too straight and that might be through walls, so always do keypoints on corners.
    Now you have a complete run, you will see a red line that shows the way of the camera. The red 3-dimensional crosses are your keypoints. The camera path does not touch all of them.


    -----------------------------------------------------------------------------------------
    Minor Keypoint Adjustment
    -----------------------------------------------------------------------------------------

    When placing the keypoints, the view might be a slightly different from the view from "inside" the camera. To check how your camera run looks from the "inside", press R. Your view will be locked to the camera path. Now it is time to test your path for the first time. With the keys Q and E you can go through all your keypoints. So press Q several times until you reach your first keypoint or hold it down to be even faster. Now press C to unpause the whole demo and watch the camera go along its path until the last keypoint. Then pause the demo again.
    You might have seen, the camera keypoints are not exactly in the position you want them at. Go back to the first keypoint, still with the view locked to the camera.
    Now, just hold mouse1 and adjust the position of the keypoint. You do that with every keypoint once now, that is done in like 1 second for each.
    One more very cool function: Roll. When adjusting a keypoint, hold down mouse2 and move your mouse to the left and the right to set the roll of your camera. Nothing more to say to it, you can edit that for every single one ;)
    When you have finished adjusting all keypoints, your camera run is finished. Time for...


    -----------------------------------------------------------------------------------------
    Capturing your camera run
    -----------------------------------------------------------------------------------------

    Now when you want to capture, you should know if you want to have any motion blur or not. mme_blurFrames defines motion blur strength. 0 is no motion blur and I think 32 is the max needed. You won't see differences above 32 anymore.

    There are three kinds of blur included. They are trianglemedian and gaussian. They are not easy to describe. Test them yourselves please. You define them by setting the cvar mme_blurType. Default: "\mme_blurType gaussian"

    If you want motion blur:
    Open the console, type "\mme_blurFrames <number>", press enter. Values between 12 and 32 give nice motion blur, but for the lower values, it still lets you see frame edges.

    Now you want to start capturing. Your demo still is paused, you go back to the very first keypoint, the view shall be locked to the camera path now, else nothing will happen.
    Open the console and define how many frames per second you want. I recorded this clip with 35, motion blur is already included, so I typed:
    "\capture tga 30 BasicCam".

    Before you unpause the demo, to get rid of the visible path line and the information in the upper left corner, hit the 4.
    Another useful feature is soundcapturing, it is included since version 1.5. If you have the cvar "mme_saveWav" set to 1, an uncompressed wavefile will be saved in the same folder as the screenshots.
    After you unpause the demo capturing will start, the screenshots will be saved in the folder mme\capture\platypus\ and be named BasicCam0000000001.tga and so on.
    Note: Capturing only happens when the demo is not paused.

    The capturing of course takes a while, if you should not have known, capturing does not happen in real-time ;D
    When the path ends and your camera stands still, type "\capture stop" into the console. Your finished capture should be in the quake3\mme\capture\platypus folder. You should bind at least the capture stop command for later recording.

    If you are unhappy with the camera path, just get the camera view locked and check every keypoint, change its position or roll. If you want to delete a keypoint, press B.
    If you want to delete all camera points, you can type "\camera clear". Be careful with that, it doesn't ask before doing it. To show a list of all camera commands, only type "\camera" and press enter.

    You save all your camera points while in the demo with the command "\save CameraTutorial". Then the config file is placed into a folder called project. If you want to load a project into any other demo, put it in the right folder any type "\load <name>". Done.
    Note: Saved paths work on a per map basis not per demo, so you can re-use paths in other demos with the map if you need.


    -----------------------------------------------------------------------------------------
    Quick Setup
    -----------------------------------------------------------------------------------------

    Quick key commands list also see: mmedemos.cfg 
    (Print this out for easy caming while learning!)
    C = Pause
    1 = Enter camera mode
    X, Z = Cycle views [Camera, Chase]
    W,A,S,D while holding mouse1 = Move the camera
    CTRL = Move down
    SPACEBAR = Move up
    SHIFT + move the mouse = Time control
    V = Create keypoint
    B = Delete keypoint
    R = View camera's perspective
    Q, E = Change to other key points
    mouse2 + move the mouse = Camera roll
    4 = Get rid of all HUDs

    \mme_blurFrames [0 - 256] .. higher is more qualitative
    \capture pipe 30 cam1 [format, fps amount, screenshot filename]
    \save project1
    \load project1

    Quick setup for capture (by fei)
    1. Load jaMME with the .cmd
    2. Exec your high_quality.cfg
    3. cl_noprint 1; cg_thirdperson 0 (just in case)
    4. \load cam1 (Whatever was the file name that you saved your cam path before)
    5. Navigate in your demo to the time when the cams start, then hit "C" to pause
    6. Hit "1" to go into Camera edit mode
    7. Hit "X" till you get to Camera view mode (Free flight, sorta like defrag)
    8. "Q" and "E" to navigate through the keypoints
    9. Hit "R" to get into the camera perspective
    10. Hit "4" to remove the junk from the screen.
    11. \capture tga 30 cam1
    12. \mme_blurFrames [0 - 32 is a good range] to set your motion blur amount
    13. Hit "C" to unpause and begin capturing
    14. In windows: all you need is a simple vdub script with framerate set to your final project fps.

     

    Greetings, John

    Credits: John "auri" and fei; original: link.

  14. -----------------------------------------------------------------------------------------

    Requirements
    -----------------------------------------------------------------------------------------

     

    System requirements are same as Jedi academy ones.

    Recommended RAM: 512 MB.

     

    -----------------------------------------------------------------------------------------
    Installation
    -----------------------------------------------------------------------------------------

    Download the latest version here: http://jkhub.org/files/file/1712-jamme/.

    Unzip it to your GameData.

    If you did it right, there is a jamme.exe and a start_jaMME.cmd in your GameData and a folder mme. Not so hard to do actually, hehe.
    If you want you can read through the other attached files: cvars.txt, cmds.txt and readme.txt in the mme folder.

    Now download FFmpeg: https://www.ffmpeg.org/ (That tool is needed to capture low size videos in high quality.)

    Find there ffmpeg.exe and put that file into your GameData.

    Installation complete.


    -----------------------------------------------------------------------------------------
    Running it and loading a demo
    -----------------------------------------------------------------------------------------

    You need a demo for this. Note: keep the demo name shortest possible, there have been problems for some users because their demo name was too long. It's something like foldername+\+demoname.extension must not be longer than 64 characters.
    Mme reads demos from the standard demo folder base/demos and mme/demos (including subfolders) (and also from the folders and their demos subfolders in the fs_extraGames cvar, see: start_jaMME.cmd file). So stuff your demo into one of those, you can browse through all subfolders of the mme demos folder in mme itself so you can sort your demos in different folders if you have very many.

    To start jaMME, doubleclick start_jaMME.cmd. JA will start with the mme mod loaded. You can now play a demo and see how it works.

    To do so, click on Demos. You're in the demo browser. Find your demo and doubleclick it. The demo will load and play in recorder's pov.


    -----------------------------------------------------------------------------------------
    Basic controls and settings
    -----------------------------------------------------------------------------------------

    First of all, let's say you only want to record some recorder's pov footage from the demo you loaded. In the other tutorials it's explained how to do cameras and all that funky stuff : )
    So, you loaded the demo and it's playing from recorder's pov.

    Basic key commands you have now:
    C : pause / resume demo playback
    Hold Shift + move the mouse : control demo time
    Hold Shift + D : move 4 seconds forward in time (you can hold this down)
    Hold Shift + A : move 4 seconds back in time (you can hold this down too)

    With mov_seekInterval you can define how far forward or back you jump (in seconds) pressing shift + a/d, default value is 4.

    cg_draw2D 3/2/1/0

    show 2D images on screen:
    0 = hide all images, 1 = show all images, 2 = show all images and show chatbox if camera is not locked to any player
    3 = same as 2 but shows underwater visual effect in either camera mode or in frags only mode (mov_fragsOnly > 0)

     

    con_notifyTime -1, 0-infinity

    time how long console messageare displayed on screen. Put -1 to avoid having them shown on screen while capturing. Do rather use this instead of all know cl_noprint because with noprint you won't be able to get the console messages updated, but with notifyTime  everything is printed In the console, just doesn't appear on the screen. Standard JA cvar by the way.

     

    mov_chatBeep 1/0
    enable / disable all chatbeeps

     

    mov_fragsOnly 0/1/2

    hide 2d except frag message and awards:
    0 = disabled, 1 = only frag message and awards, 2 = frag message, awards and snipe scope if sniping​

     

    fs_extraGames "text text"

    tell the game from which mod folders it can load files: fs_extraGames "japlus japp" will load such files as animations, rgb sabers, demos from japlus and japp folders, fs_extraGames "mme MBII" will load mme assets and all MBII mod related files, and so on.

     

    com_affinity 0/1/2/4/8 etc

    define what core(s) (for multicore CPUs) the game will use for itself. it's better if it's set to 1 (default) and uses the 1st core since the game works faster on a single core.

    IMPORATNT: set to 0 if you are using FFmpeg/pipe to speed up capture.

    ​​

    -----------------------------------------------------------------------------------------
    Capturing
    -----------------------------------------------------------------------------------------

    Now capturing time. You do not use the cl_avidemo command anymore because it's limited. Several capturing options there:
    Frames per second, motion blur, name and sound capture.

    mov_captureFPS
    defines how many screenshots per second are taken while capturing. Any value possible

    mov_captureName "name"
    defines a name for the video/screenshots for better overview. Video: Name001.mp4/Screenies: Name0000001.tga

    mme_blurFrames 0-32
    defines how many frames are blended together for motion blur

    mme_blurOverlap 0-32
    defines how many already blurred frames are again blended together or so. Fiddle around with it.

    ​(drunk effect, if crashes, increase mme_workMegs)

    mme_saveWav 2/1/0
    enable / disable sound capturing to a wav file while capturing

    IMPORTANT: 2 = capture audio into a video file (avi/pipe)

     

    I guess as beginner you don't need to set all of these. saveWav is enabled by default, that's enough, blurOverlap.. don't bother with that yet, it's 0 by default, leave that too. Set some blurFrames, every footage looks better with some blur in my opinion. Values from 32 and higher give nice motion blur. Higher value = higher quality = longer to capture.

    You don't have to set mov_captureName and mov_captureFPS yet, you do it automatically when you start capturing.

    Now stop the demo by pressing C, go to the point in the demo where you want to start capturing by holding shift and using the mouse and/or the A and D keys.
    Open the console, type something like this (or bind):
    /capture <pipe/avi/png/tga/jpg> <fps> <name>
    Example: /capture pipe 30 impressive (/bind F1 "capture pipe 30 impressive", fit F1.) (Make sure you installed FFmpeg, see Installation above.)

    Then bind capture stop to any key (/bind F2 "capture stop").
    It does not capture yet, it starts when you unpause the demo.
    Unpause the demo, wait until it's captured, then press the capture stop key and you're done, the captured mp4 are in a subfolder of mme/capture.


    Okay that's it right? Hehe, hope I helped you.
    Good luck and have a nice day.

     

    Credits: John "auri" from q3mme crew; original: link.

  15. ibk9VUEtSVQdY5.png

     

    jaMME is an engine modification of the game Star Wars: Jedi Knight Jedi Academy for moviemaking. It’s a port of the q3mme modification for Quake 3 Arena and uses most of its features.

     

    Features:

    - demo playback control

    - free camera mode

    - chase camera mode

    - time speed animation

    - capturing motion blur

    - capturing output in stereo 3D

    - different output types: jpg, tga, png, avi

    - playing music on background to synchronize it with editing

    - saving depth of field mask

    - overriding players information: name, saber colours, hilts, team, model

    - realistic first person view with visible body (trueview)

    - recording audio to wav

    - replacing world textures with your own

    - replacing skybox with one solid colour (chroma key)

    - capturing in any resolution

    - off-screen capturing

    - capturing a list of demos

    - supporting mods: base (basejka, base_enhanced), ja+ (ja++), lugormod, makermod

     

    The mod is made to work with demo files. To learn what are they and how to record them, visit this tutorial. Enough words, watch jaMME demonstration:

     

    611844-4.jpg

     

    Download jaMME: http://jkhub.org/files/file/1712-jamme/

    Download source: https://github.com/entdark/jaMME

     

    Now visit Tutorials section to start.

    Omicron, Dai, Shadzy and 6 others like this
  16. Hello everyone!

     

    I'd like to introduce a Jedi Academy trick jumping movie: Popusa 3D. Enjoy watching.

     


     



     



     

    3D is a side-by-side stereopair. To watch 3D you need to get 3D video player (for example, Stereoscopic Player) and 3D device (for example, anaglyph glasses).

     


    Sentra, Raz0r, Omicron and 3 others like this
×
×
  • Create New...