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. The primary monitor is used as source of base values for some relative attributes and the HDR eye adaptation is calculated from this monitor.
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 virtual screen to start drawing the UI. For instance, second monitor in a 3-monitor setup would be 0.333333. Third monitor would be 0.666666. In a two-monitor setup where UI should be drawn in the rightmost monitor, 0.5. |
normalized_ui_width
|
normalized_ui_width: 0.333333
|
Decimal between 0 and 1.
Width the UI should take in the whole virtual screen. For one monitor in a 3-monitor setup, 0.333333 (1/3 of the whole area), 2-monitor, 0.5. To take the space of all monitors it should be 1.0 and normalized_ui_x above, 0.0. |
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 in the whole virtual screen corresponding to the left edge of this monitor. In a 3-monitor setup 1st monitor will get 0.0, 2nd 0.333333, 3rd 0.666666. 2-monitor: 0.0 and 0.5 respectively. |
normalized_y
|
normalized_y: 0.5
|
Decimal between 0 and 1.
The y-axis (vertical) position in the whole virtual screen corresponding to the bottom edge of this monitor. For 2-row monitor setup (with identical resolution and size monitors), 1st monitor should have 0.0 and 2nd monitor, 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 monitor in the whole virtual screen. For 3-monitor setup (with identical resolution and size monitors) all monitors should have 0.333333 whilst a 2-monitor setup, 0.5. |
normalized_height
|
normalized_height: 0.5
|
Decimal between 0 and 1.
The y-axis (vertical) length of the monitor in the whole virtual screen. For 2-row monitor setup (with identical resolution and size monitors) all monitor should have 0.5. In single-row setups, it should be 1.0. |
pitch_offset
|
pitch_offset: -15.0
|
Decimal value between -90.0 and 90.0.
The pitch angle (in degrees) added to the camera when rendering content for this monitor (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) added to the camera when rendering content for this monitor (to compensate its angle or rotation). |
camera_space_offset
|
camera_space_offset: (0.000000, 0.000000, 0.000000)
|
Triple with Decimal values for x (horizontal, left-right), y (vertical, up-down) z (depth, back-forth) coordinates.
Offset added to the camera when rendering content for this monitor. 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 0.0 and 178.0.
The value to override the horizontal FOV for this monitor. A value of 0.0 means not overridden. If both horizontal and vertical FOVs are not overridden, then the FOV is taken from the default camera and can be adjusted using the "seat adjuster" UI. Otherwise the slider in the seat adjuster is ignored. If only one from the FOVs is overridden, the remaining FOV is calculated from the overridden one to preserve the aspect ratio. |
vertical_fov_override
|
vertical_fov_override: 72.3
|
Decimal value between 0.0 and 178.0.
The value to override the vertical FOV for this monitor. For more info see horizontal_fov_override |
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). 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). Notice in the config file true and false are accepted values. In console, you should use 1 and 0, respectively. |