Documentation/Engine/Console/Commands/multimon
While the multimon command allows dynamic changes of the size of the monitor views at runtime, increasing the size can not increase the maximal effective rendering resolution beyond the resolution used by the biggest view the game started with. In that case the changed view will have proper size however its content might look blurry. To fix it, restart the game or temporarily change (and apply) vsync settings in display options after saving the configuration first using multimon save.
The following commands are supported:
Contents
init
Syntax: multimon init <setup_name>
Example: multimon init three
This command initializes the runtime configuration using one from predefined setups. Following setups are supported:
- empty - No views, UI over entire screen. This is convenient starting point for more complex custom setups.
- one - Creates single wide view UI over entire screen. This is similar to predefined mode 0 however it provides ability to disable interior rendering if desired.
- three - Setup corresponding to predefined mode 2
- three_with_dash - Setup corresponding to predefined mode 3
When initializing using three or three_with_dash, the state of corresponding tweaking cvars at the moment of the initialization is applied to the runtime configuration. This can be used to do basic setup using the cvars in predefined mode and use the custom mode to only tweak the result.
reload
Syntax: multimon reload
Example: multimon reload
Replaces the runtime configuration using a content of multimon_config.sii
save
Syntax: multimon save
Example: multimon save
Saves the current runtime configuration to multimon_config.sii. This MUST be used for the changes to persist restart of the game or change of display settings.
add
Syntax: multimon add <name> <x> <y> <width> <height>
Example: multimon add left 0.25 0 0.5 1
Defines monitor in specified area of output resolution and associates it with specified name. Note that name ui is reserved for special use.
remove
Syntax: multimon remove <name>
Example: multimon remove left
Removes monitor associated with specified name.
make primary
Syntax: multimon make_primary <name>
Example: multimon make_primary center
Marks specified monitor as primary. This will be the monitor where the normalized_ui_* and render_* attributes are used from.
list
Syntax: multimon list
Example: multimon list
List names of all defined monitors
set
Syntax: multimon set <name> <attribute> <value>
Example: multimon set left horizontal_fov_override 60
Sets specified attribute for specified monitor. Special monitor name ui allows changes of position of the ui itself.
get
Syntax: multimon get <name> [<attribute_prefix>]
Example: multimon get left normalized_
Prints values of all attributes of specified monitor whose name begins with specified prefix. As with set ui provides access to the ui itself.
supported attributes for get and set
Name | Example | Description |
---|---|---|
normalized_ui_x
|
normalized_ui_x: 0.333333
|
Decimal between 0 an 1.
Horizontal position in the whole screen to start drawing the UI. For instance, second monitor in a 3-screen setup would be 0.333333. Third monitor would be 0.666666. In a two-screen setup where UI should be drawn in the rightmost screen, 0.5. Although this is a per-screen setting, it only applies to the screen defined as primary. |
normalized_ui_width
|
normalized_ui_width: 0.333333
|
Decimal between 0 and 1.
Width the UI should take in the whole screen. For one monitor in a 3-screen setup, 0.333333 (1/3 of the whole area), 2-screen, 0.5. To take the space of all screens it should be 1.0 and normalized_ui_x above, 0.0. Although this is a per-screen setting, it only applies to the screen defined as primary. |
name
|
name: middle
|
String. A handle for the monitor to be used with multimon get and multimon set . The ui name is reserved.
|
normalized_x
|
normalized_x: 0.333333
|
Decimal between 0 and 1.
The x-axis (horizontal) position the screen should be placed in the full viewport. In a 3-screen setup 1st screen will get 0.0, 2nd 0.333333, 3rd 0.666666. 2-screen: 0.0 and 0.5 respectively. |
normalized_y
|
normalized_y: 0.5
|
Decimal between 0 and 1.
The y-axis (vertical) position the screen should be placed in the full viewport. For 2-row screen setup (with identical resolution and size monitors), 1st screen should have 0.0 and 2nd screen, 0.5. In single-row setups, it should be 0.0. |
normalized_width
|
normalized_width: 0.333333
|
Decimal between 0 and 1.
The x-axis (horizontal) length of the screen in the full viewport. For 3-screen setup (with identical resolution and size monitors) all screens should have 0.333333 whilst a 2-screen setup, 0.5. |
normalized_height
|
normalized_height: 0.5
|
Decimal between 0 and 1.
The y-axis (vertical) length of the screen in the full viewport. For 2-row screen setup (with identical resolution and size monitors) all screens should have 0.5. In single-row setups, it should be 1.0. |
horizontal_fov_relative_offset
|
horizontal_fov_relative_offset: 0.5
|
Decimal between 0 and 1.
The x-axis (horizontal) offset in the field of view (FOV) of the screen in the full viewport. In a 3-screen setup 1st screen will get 0.0, 2nd 0.333333, 3rd 0.666666. 2-screen: 0.0 and 0.5 respectively. |
vertical_fov_relative_offset
|
vertical_fov_relative_offset: 0.5
|
Decimal between 0 and 1.
The y-axis (vertical) ofsset in the FOV of the screen in the full viewport. For 2-row screen setup (with identical resolution and size monitors), 1st screen should have 0.0 and 2nd screen, 0.5. In single-row setups, it should be 0.0. |
heading_offset
|
heading_offset: -0.5
|
Decimal value (including negative values).
The x-axis (horizontal) offset positioning the point of reference where the camera should be away from the default value. To shift the view by 0.8 in a 2-screen setup, for instance, the left screen should have -0.8 and the right one, 0.8. |
pitch_offset
|
pitch_offset: -15.0
|
Decimal value between -180.0 and 180.0.
The pitch angle (in degrees) the screen should be drawn (to compensate its tilt, angle or rotation). |
roll_offset
|
roll_offset: -15.0
|
Decimal value between -180.0 and 180.0.
The overall roll angle (in degrees) the screen should be rotated (to compensate its angle or rotation). |
camera_space_offset
|
camera_space_offset: (0.000000, 0.000000, 0.000000)
|
Triple with Decimal values between -1.0 and 1.0 for each x (horizontal, left-right), y (vertical, up-down) z (depth, back-forth) coordinates.
The relative camera pivot position to the default value. Usually in several screens of the same size it should be replicated among all displays. Notice in config file the syntax is (x, y, z) (wrapped by parenthesis characters, comma separated) whilst console, x y z (space separated sequence). |
horizontal_fov_override
|
horizontal_fov_override: 85.0
|
Decimal value between 50.0 and 120.0.
The value to override the horizontal FOV for the particular screen. Once this is set, the corresponding slider in "seat adjustments" becomes ignored. A value of 0.0 means not overridden and uses the "seat" settings. |
vertical_fov_override
|
vertical_fov_override: 72.3
|
Decimal value between 50.0 and 120.0.
The value to override the vertical FOV for the particular screen. A value of 0.0 means not overridden and uses the game default settings. |
frustum_subrect_x
|
frustum_subrect_x: 0.3
|
Decimal value between 0 and 1.
Crops the viewport starting at the x horizontal offset of the intrinsic screen x-axis. The resulting screen is stretched to fit the viewport delimited by the normalized_* settings. |
frustum_subrect_y
|
frustum_subrect_y: 0.3
|
Decimal value between 0 and 1.
Crops the viewport starting at the y vertical offset of the intrinsic screen y-axis. The resulting screen is stretched to fit the viewport delimited by the normalized_* settings. |
frustum_subrect_width
|
frustum_subrect_width: 0.3
|
Decimal value between 0 and 1.
Crops the viewport at the x-axis (horizontal) length of the intrinsic screen width. The resulting screen is stretched to fit the viewport delimited by the normalized_* settings. |
frustum_subrect_y
|
frustum_subrect_y: 0.3
|
Decimal value between 0 and 1.
Crops the viewport at the y-axis (vertical) length of the intrinsic screen height. The resulting screen is stretched to fit the viewport delimited by the normalized_* settings. |
render_interior
|
render_interior: true
|
Boolean true/false (1/0).
Whether to render or not interior (dashboard). Although this is a per-screen setting, it only applies to the screen defined as primary. Notice in the config file true and false are accepted values. In console, you should use 1 and 0, respectively. |
render_exterior
|
render_exterior: true
|
Boolean true/false (1/0).
Whether to render or not the exterior (all except dashboard, actually). Although this is a per-screen setting, it only applies to the screen defined as primary. Notice in the config file true and false are accepted values. In console, you should use 1 and 0, respectively. |