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
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.
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.
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. |