1. Introduction
2. Application layout
3. Characters
4. Create actions
   1. Animations
   2. Movements
   3. Rotations
5. Connecting to the 3D environment, Unreal Runtime settings
6. Playing
7. Saving and loading of the scene
8. Recording
9. FAQ

1. Introduction

   StoryFactory purpose is to script simple scenes in 3D virtual environment of UnrealEngine2. In other words, with StoryFactory you can create simple machinima movies in UnrealEngine2.

2. Application layout

   The basic parts of the application are:

   - Map of the city
     - enables defining of character movements and rotations
     - map can be zoomed in and out by scrolling the mouse wheel, or by clicking the LEFT mouse button and holding CTRL or SHIFT button.
     - map can be resized (at the cost of reducing Characters Panel window) to match user preferences. Click on the border between map and Characters Panel window and drag the mouse to achieve the desired size.
   - Time slider
     - sets the actual time of the scene. When changing the current time, you can observe the current character position in the city map.
   - Characters Panel
     - allows for adding and deleting actions of characters. Each character has three lines of time-ordered actions - animations, movements and rotations.
   - Character Editor - will be shown on the right side of the application after clicking on a character in characters panel.
   - Animation Editor - will be shown on the right side of the application after clicking on an animation in characters panel.
   - Movement Editor - will be shown on the right side of the application after clicking on a movement in characters panel.
   - Rotation Editor - will be shown on the right side of the application after clicking on a rotation in characters panel.
3. Characters

   - Adding a new character - click on Add Character button and select one of the avaiable types of characters. You can change the name, clothes and facial expression of the character. Alternatively, you can add character by right clicking on a spot in the city map and selecting Add Character. The character will be then added on the selected spot.
   - The character will appear in Characters Panel down left. When selected, the character will be marked on the city map by black color.
   - The actual character position (considering the selected time) is shown on the city map by a grey circle.
   - Character properties may be changed in Character Editor that appears after selecting the character in Characters Panel.
4. Changing the parameters of the actions

   Character actions are visualized in the Characters Panel in the lower left part of the application. Each action is visualized by a colored rectangle. The length of the rectangle matches the length of the action. Animations are shown in the first row, movements in second row and rotations in third row.

   You can change the ordering of animations by drag and drop. You cannot change ordering of movements and rotations! You can change the length of the actions by clicking the right border and dragging the action to desired size (for animations this will change the number they are repeated). When clicking on the middle of the action, you can shift it so it starts at different time.

   1. Animations
      - Adding a new animation - in Characters Panel, right click on the character you want to add animation for. Select Add Animation. The dialog will appear, where you can select new animation to add. By default it will be added at the end of the sequence.
      - If you want to change animation properties, click it and in Animation Editor change desired parameters.
   2. Movements
      - Character movements are visualized on the city map by yellow circles connected by lines. If you select a movement in Characters Panel, it will be marked on the city map and vice versa.
      - Adding a new movement - If you want to add a new point to move at the end of the sequence, simply right click the last yellow movement point in the city map and drag the newly created movement to desired position. You can also create new movement between two movements by right clicking on the line between the points. New movement will be shown in the Characters Panel, where you can change its duration or starting time.
      - Movement change - you can change the movements by dragging the yellow points to desired locations in the city map by clicking on it and holding LEFT mouse button. Movement duration and starting time can be changed in Characters Panel.
      - When defining new movements, remember the characters cannot go through trees, walls or benches. If you define the movements wrong, the characters can get stuck on these obstacles.
      - If you are holding SHIFT and change the duration or the position of a movement then the positions of all movements to the right of actual movement will be changed according to the change to actual movement (this is handy, when you have already movements and animations synchronized and want to make a change at the beginning of the scene).
   3. Rotations
      - The actual rotation of the character is visualized on the city map by a small line with black dot at the end.
      - If you set the current time, so it is inside some rotation duration, the rotation will be visualized by a white arc in the city map. You can change the rotation by clicking the black dot at the end of this arc and dragging it to desired position.
      - Adding a new rotation - set the actual time with the Time Slider at the time point you want the rotation to occur. Click the black dot at the end of the line visualizing actual character rotation and dragg it to add a new rotation.
      - In Characters panel you can change the duration and the starting time of the rotation.
      - If you are holding SHIFT and change the duration or the position of a rotation then the positions of all rotations to the right of actual rotation will be changed according to the change to actual rotation (this is handy, when you have already rotations and animations synchronized and want to make a change at the beginning of the scene).
5. Connecting to the 3D environment, Unreal Runtime settings
   - When starting the application you may be asked to select UnrealEngine2Runtime location. If you don't have UnrealEngine2Rubtime installed, the application will not start.
   - To see the resulting scene in 3D environment, click the Spectate button. The UnrealEngine2Runtime window will appear visualizing the environment. Navigate in the environment using arrows and mouse.
   - To modify the size or location of UnrealEngine2Runtime window. press ESC and perform desired changes. When you are ready, click Continue.
   - To switch between UnrealEngine2Runtime window and StoryFactory window use ALT + TAB.
   - Now we will describe how to change Unreal Runtime window resolution and how to improve quality of the textures. By pressing Escape > Settings you enter the main menu of the program. Click the Video tab and change the resolution by setting the Resolution field and confirming by the Apply Changes button. For changing the quality of textures and details in the game click the Details tab. There you can set better textures quality and turn on additional effects in the environment. Note that setting of high resolution and high details may affect Unreal Runtime performance significantly. Do not set higher details, if Unreal Runtime is slow in its basic settings.
6. Playing the scene
   - Simulation of the scene - when clicking the Simulation button, the simualtion of the scene will be started. You will be able to observe the changes in character positions and rotations in the city map.

   Following functions will play the scene when you have UnrealEngine2Runtime window on.

   - The buttons for playing the scene are in upper right part of the application. The very left button will play the scene from the start ignoring the actual time set by a time slider. The middle button will play the scene from the actual time set by the time slider. The right button stops the scene and returns the actual time back to start.
   - When editting or adding a new animation, it is a good idea to preview the animation first. Do this by selecting one of the animations in the list in Animation Editor or in New Animation dialog and click the Preview button. Note that the characters have to be created in the environment prior to this and that you have to observe the right character.
   - You can also preview the different versions of clothes and facial expressions of the characters. To do this select desired clothes/facial expression in the Character Editor and click the Preview button
7. Saving and loading of the scene

   You can save and load created scenes to a file.

   - For saving of the scene select File > Save and pick the desired file name.
   - For loading of the scene select File > Load and select a file with .emo extension.
8. Recording the scene

   For the scene recording StoryFactory uses external application CamStudio that is controlled directly from the StoryFactory.

   - We strongly recommend to install XViD video codec (part of the installer) for the best recording performance.
   - Before we start to record the scene, it is necessary to have the Unreal window on by clicking the Spectate button. It is recommended to set the Unreal window to a position where it is completely visible.
   - Before you start to record a video check the Unreal window resolution (viz above). We strongly recommend to set one of the following resolutions: 640*480, 800*600, 1024*768, 1280*960. When using other resolutions recording may not work properly.
   - We can start or stop recording anytime by clicking the REC button (red circle labeled REC) and STOP REC button (black square labeled REC). Recording stops automatically if the scene stops playing in StoryFactory (either by clicking STOP button or when the scene ends).
   - If we check the checkbox record automatically (right below the manual recording buttons), the recording starts automatically every time we start playing the scene.
   - When the recording ends, it may take a while before the video file is saved onto disk. In StoryFactory default settings, the video file will be saved in CamStudio directory. So, the video file can be found in StoryFactory/CamStudio directory named by actual date and time of the recording.
   - It is possible to change the quality of the recording video file, frames per second and other things by clicking Settings/Video settings options. Higher quality of the video leads to more disk space taken by the video file and potential slower recording!
   - It is possible to use CamStudio application externally. It can be run by Recorder.exe file (StoryFactory/CamStudio/Recorder.exe). Read the CamStudio help to get started.
9. FAQ
   - I can't move in the virtual environment.
     - Press ALT, if it does not help and you have camera defined do the following: 1) Stop the scene. 2) Slide the time slider to a time where there is no camera active. 3) If you still can't move in Unreal press ESC and select JOIN, then ESC again and select SPECTATE.
   - I have followed the suggestion above and now there is white cube floating in the city. How can I get rid of it?
     - This is Unreal bug. To get rid of it, turn away from the cube and wait cca 10 seconds. If it won't help, go around corner, wait 10 seconds and return. The cube should be gone.
   - My mouse is trapped in UnrealEngine2Runtime window. How to get back to StoryFactory?
     - Press ALT + TAB
   - The scenes is played in the editor, but I can't see anything in UnrealEngine2Runtime.
     - Check if you are at the right place of the map. If yes, save your scene and restart the StoryFactory application.
   - One of the characters does not appear in the environment when I press play.
     - Characters can't be spawned over each other. Check if the space where the character should have appeared is clear at the time of pressing play. If not the following trick usually works: Press Play, then Stop and then Play again.
   - I keep increasing the speed of the character, but he does not move any faster.
     - There is a maximum speed limit in Unreal.
   - Camera sometimes rotate in other direction than I expected.
     - This may happen if you have two big rotations (close to 180°) succeeding each other. To prevent this limit maximum turns to 130° and use more rotations after each other.