Baldur's Gate III

Versions and compatibility

Latest version v1.0.22
Released on 07-sep-2024
Compatible with Baldur's Gate III Final Release, Steam.
Hotsampling via Running the game in windowed mode
Supports IGCS Connector Yes (2.0+)
Download latest version Post on patreon

Features at a glance

The photomode mod for Baldur's Gate III offers the following features:

  • Camera control: (Also in cut scenes)
    • FoV control
    • Free unlimited camera movement and rotation
    • Camera shake controls in both manual movement (for hand-shot videos) and camera paths.
  • Timestop / game pause control
  • Camera paths support ('dolly cam') for defining moving camera trajectories for movies.
  • Game speed control (slow-motion, speed up)
  • Frameskip
  • HUD toggle
  • Hotsampling (resize the game window to any resolution)
  • Configurable input interpolation for smooth camera movement/rotation/fov zoom in/out
  • Higher LODs
  • Configurable keybindings
  • Configurable gamepad buttonbindings
Important!

Known issues

The camera tools can be glitchy and not working in certain situations. I tried my best to build a camera that works everywhere without issues but some issues remained. These are:

  • When pausing during a dialog in a cutscene, the engine will try to animate the person speaking till the sentence has been finished. So you can't freeze mid-sentence.
  • Sometimes when you disable the camera, it might not go back to the original location or other elements of the scene might look glitched. Press Home afterwards to reset the camera to your character to fix this, or enabling/disabling also helps.
  • When rotating the camera upwards, it might be you'll see bright white blobs. This is due to the engine not anticipating the camera pointing in that direction.
  • When rotating / moving the camera you might see people / elements disappearing. To get rid of this, thet only remedy I found was to disable and enable it again.
  • In conversations, when you enable the camera and choose an option in the conversations, it might be you see a couple of frames which seem to 'glitch'. This is the game copying its original camera data onto the camera structure using generic code I can't intercept. There's sadly no fix for this.

The tools are built for the final release of the game, not for the Early Access release.

If you experience issues when disabling the camera, press HOME to reset it, it should then work normally again. Another workaround is enabling and disabling the camera again, which should reset it in cutscenes if it bugs out when you disable the camera.

Althought the tools work with both the Vulkan and the D3D11 version of the game, there are issues with Reshade and this game for both:

  • In Vulkan, there are currently no depth buffers showing up in Reshade
  • In D3D11, you have to use Reshade 5.9.1 or later, or 5.8.x or older as 5.9.0 contains a bug that crashes the game.
  • In D3D11, to get a working depth buffer in Reshade, switch ON 'Copy before clear operations' in the Reshade -> Addons -> General Depth add on.
Important!

The game has to have its Anti Aliasing setting set to TAA or DLAA. Otherwise the camera won't work. The engine apparently uses different camera systems/code when the anti aliasing setting isn't set to TAA or DLAA.

How to use

Please see for details how to get started and configure this photomode mod, General features and configuration. This guide will provide additional information for the controls / features specific for this photomode mod.

Info

If you don't see the bg3.exe process or the bg3_dx11.exe in the Process to inject to textbox, please click the Select button to select it manually. This might be the case if you're running the game as Administrator, and the IGCSClient.exe does not, it can't see the bg3.exe process. In that case, restart the IGCSClient.exe as Administrator.

It's not needed to run the game as administrator.

Configuration

Additionally to the normal configuration features, the tools for Baldur's Gate III also has some additional configuration features:

Camera smoothing options

Interpolation factors

The camera smoothing options are for when you want to record a video by flying through the game world and control the camera manually, so not through a camera path. Normally the input to the camera system will be used instantly and you see an effect immediately. However for videos it's often desired to have a smoother camera movement than what's needed when you position the camera for a shot.

The camera smoothing options will give you the ability to control how much of the input you're giving to the camera system is used in future frames so it's creating a smoother experience; e.g. if you set the movement interpolation factor slider to 100 (default is 1), the input given to move the camera forward is used over 100 frames and is slowly flowing away to 0 after you stop giving input to move forward.

Additionally if you first move forward and then move to the right, with the default setting of 1 the camera will first move forward and then immediately move to the right. However with an interpolation factor of e.g. 100 it'll smoothly move to the right, more in a curve than straight away. This gives smooth movement and rotations of the camera. For the Field of View there's also an interpolation factor, which can be used to smoothly zoom in/out so it's less 'jerky' when you try to zoom in/out.

Try to combine the values for the smoothing factors with lower/higher values for movement and rotation speed to find the ideal setup for your recording. It's likely you want a higher interpolation factor for movement than for rotation and FoV.

The values are stored in the ini file for next time you start the client.

Shake factors

There are four camera shake factors you can configure to introduce camera shake for normal camera movement: Shake frequency for both movement and rotation, Shake movement strength and Shake rotation strength. For screenshots these factors are not interesting, but for hand-shot video, e.g. in combination with the interpolation factors, they can give a more natural appealing footage.

The Shake movement frequency and Shake rotation frequency control how fast the movement and rotation shake factors change direction. The higher the value the faster they'll 'shake'. The Shake movement strength controls the amount of movement shake will be added to the camera location in the up/down/left/right/front/back directions. The Shake rotation strength controls the amount of rotation shake will be added to the camera orientation in pitch/yaw/roll.

The strength will be applied equally among all directions and rotations. Try to experiment with which values work best for the speed you move your camera; a faster moving camera could use a camera shake with higher strengths than a slow moving camera. Good starting values are 1.5-2 for the frequencies and 0.4-0.5 for the strengths. Setting the sliders to 0 will remove all shake factors from the camera.

Camera paths have their own shake factors.

Image Adjustments

The Image Adjustments tab is the tab where you can adjust some aspects that might influence the image.

Miscellaneous options

Higher LODs
This setting will increase the asset quality further away from the camera.
Game speed
This controls how fast the engine runs internally; a value of 1.0 is 'normal game speed' and a value of 0.0 is total pause. Use this to create slow-motion effects which help you pause the game at the right moment.

Information recorded with camera path nodes

When you create a Camera path, each node records the camera location, orientation and field of view.

Saving/restoring camera state

After you've enabled the camera (default with Insert), you can store the current camera state in three slots. The camera state is the current location, the orientation/rotation of the camera and the FoV, as well as other information recorded in camera path nodes, as the system uses camera path nodes under the hood.

By default you save the camera state by using Ctrl + F1 for saving the current camera state in slot 1, Ctrl + F2 for saving the current camera state in slot 2 and Ctrl + F3 for saving the current camera state in slot 3. To restore the camera state to a saved state, press F1 to restore the camera to the state saved in slot 1, press F2 to restore the camera to the state saved in slot 2 and, press F3 to restore the camera to the state saved in slot 3. These keys are configurable in the keybindings tab.

When you disable the camera again, the saved states are lost. If you want to preserve game states after you disabled the camera (e.g. you want to move the character a bit, and then enable the camera again), use a camera path and add the camera states you want to save as nodes. Camera paths are preserved after you disable the camera.

HUD Toggle

The tools have a built-in HUD toggle, activated with the Del key. This however doesn't remove the menu nor some "Skip / Pause" key popups in cutscenes. To get rid of these, use the enclosed shadertoggler.ini file with my ShaderToggler Addon: ShaderToggler Addon for Reshade 5.9.1 with addon support. The key to toggle these is Del, which is also the default key for the hud toggle so you won't forget it. It also has an additional toggle for local fog, leafs and pollen which is 'Caps lock'.

To install the HUD toggle, install Reshade 5.9.1 or higher with Addon support, from https://reshade.me. On the reshade page at the bottom, click the "Download ReShade 5.9.1 with full add-on support" button and install that for the game. The Reshade version might be newer than 5.9.1, just get the latest version.

After that copy the two files in the "HUD Toggle" folder into your Horizon Forbidden West game folder. This is the folder where the executable is, so if you see HorizonForbiddenWest.exe then you're in the right folder. To see if you've installed it correctly, when you open the Reshade panel in-game, (default the HOME key) you should see an Add-on tab with the Shader toggler present.

Guide for setting up Reshade: https://framedsc.com/ReshadeGuides/setupreshade.htm
Guide for Shader Toggler: https://framedsc.com/ReshadeGuides/Addons/shader_toggler_repository.htm

Controls

The default photomode mod controls are listed below. It depends on the Camera control device setting on the Configuration tab whether the device (e.g. mouse or gamepad) can control the camera.

Mouse

When moving the mouse:

  • No mouse buttons pressed: rotate the camera
  • Left button pressed: move camera up / down / left / right
  • Right button pressed: move camera forward / backward / left / right
  • Both left and right button pressed: tilt camera left / right
  • Mousewheel: increase / decrease Field of View (FoV)

Keyboard

Normal camera usage

Key Feature
Insert Enable / Disable the camera
Numpad . Block / Unblock input to game
Numpad - Decrease FoV
Numpad + Increase FoV
Numpad * Reset FoV
Home Lock / Unlock camera movement
Numpad 4 Move camera left (+ Ctrl: slower, + Alt: faster)
Numpad 6 Move camera right (+ Ctrl: slower, + Alt: faster)
Numpad 8 Move camera forward (+ Ctrl: slower, + Alt: faster)
Numpad 5 Move camera backward (+ Ctrl: slower, + Alt: faster)
Numpad 7 Move camera up (+ Ctrl: slower, + Alt: faster)
Numpad 9 Move camera down (+ Ctrl: slower, + Alt: faster)
Numpad 4 Move camera left (+ Ctrl: slower, + Alt: faster)
Arrow key Up Rotate camera up (+ Ctrl: slower, + Alt: faster)
Arrow key Down Rotate camera down (+ Ctrl: slower, + Alt: faster)
Arrow key Left Rotate camera left (+ Ctrl: slower, + Alt: faster)
Arrow key Right Rotate camera right (+ Ctrl: slower, + Alt: faster)
Numpad 0 Pause / Unpause the game
Page down Skip a few frames when paused
Numpad 1 Tilt camera left (+ Ctrl: slower, + Alt: tilt 90 degrees left)
Numpad 3 Tilt camera right (+ Ctrl: slower, + Alt: tilt 90 degrees right)
Numpad 2 Reset tilt
Del Toggle HUD
F1 Restore the camera state to the state saved in slot 1 (+ Ctrl: store current state in slot 1)
F2 Restore the camera state to the state saved in slot 2 (+ Ctrl: store current state in slot 2)
F3 Restore the camera state to the state saved in slot 3 (+ Ctrl: store current state in slot 3)

Camera path usage

Key Feature
F7 Start / pause playback
F8 Stop playback
F4 Add path
F10 Add node to active path
Ctrl+F10 Replace the active node on the active path
Alt+F10 Insert a new node in front of the active node on the active path
Shift-F10 Insert a new node after the active node on the active path
Ctrl+Home Go to start of active path
Ctrl+End Go to end of active path
Ctrl+Page Up Go to previous node on active path
Ctrl+Page Down Go to next node on active path
Numpad 1 Select the first path during playback (if any)
Numpad 2 Select the second path during playback (if any)
Numpad 3 Select the third path during playback (if any)
Numpad 4 Select the forth path during playback (if any)
Numpad 5 Select the firth path during playback (if any)
Numpad 6 Select the sixth path during playback (if any)
Numpad 7 Select the seventh path during playback (if any)
Numpad 8 Select the eighth path during playback (if any)
Numpad 9 Select the ninth path during playback (if any)

Miscellaneous usage

Key Feature
Alt-\ Toggle gamespeed override
Alt-[ Decrease gamespeed.
Alt-] Increase gamespeed.

Gamepad

Normal camera usage

Control Feature
Left stick Move camera forward / backward / left / right
Right stick Rotate camera
Left trigger Move camera up
Right trigger Move camera down
Y button + left / right stick Faster movement / rotation
X button + left / right stick Slower movement / rotation
D-pad up / down Increase / decrease FoV
B button Reset FoV

Camera path usage

Control Feature
Start Start / pause playback
Back Stop playback
Left bumber Go to previous node on active path
Right bumper Go to next node on active path
A Add node to active path

Miscellaneous usage

Key Feature
X button + pressing left stick Toggle gamespeed override
X button + left bumper Decrease gamespeed.
X button + right bumper Increase gamespeed.