The Last of Us, part 1

Versions and compatibility

Latest version v1.0.4
Released on 28-apr-2023
Compatible with The Last of Us, part 1, Steam
Hotsampling via Running the game in windowed mode
Supports IGCS Connector Yes
Download latest version Post on patreon

Features at a glance

The photomode mod for The Last of Us, part 1 offers the following features:

  • Camera control: (Also in cut scenes and photo-mode)
    • FoV control
    • Free unlimited camera movement and rotation
  • Camera paths support ('dolly cam') for defining moving camera trajectories for movies.
  • Game pause / unpause.
  • Frameskip
  • HUD toggle
  • Light positioning control in Photomode
  • Higher model LODs
  • Game speed control (slow-motion, speed up)
  • Optional chromatic aberration removal
  • Optional barrel distortion removal
  • Optional DOF removal
  • Optional Vignette removal
  • Sharpening control
  • Exposure control
  • Lens dirt removal
  • Hotsampling
  • Custom aspect ratios
  • Configurable input interpolation for smooth camera movement/rotation/fov zoom in/out
  • Configurable keybindings
  • Configurable gamepad buttonbindings

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 tlou-1.exe process 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 u4.exe/tll.exe process. In that case, restart the IGCSClient.exe as Administrator.

HUD Toggle

The HUD toggle is built with my ShaderToggler Reshade Addon. I was unable to implement a proper hud toggle which toggles all elements. If you don't want to use Reshade, you sadly have to use the photomode. To install the HUD toggle, install Reshade 5.7.0 or higher with Addon support, from https://reshade.me. On the reshade page at the bottom, click the "Download ReShade 5.7.0 with full add-on support" button and install that for the game. The version might be newer than 5.7.0, just get the latest version.

Then copy the two files in the "HUD Toggle" folder into your The Last of Us game folder (the folder where the exe's are). The HUD toggle will now work by pressing Del. 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

Configuration

Additionally to the normal configuration features, this photomode mod also has the following additional 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

Misc. Adjustments

The Misc. Adjustments tab is the tab where you can adjust additional aspects of the game. It offers the following features:

Miscellaneous options

Game speed
This controls how fast the 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.
Higher model LODs
This controls the detail of objects/people/trees/grass further away. When checked this gives better details further away.
Disable CA and barrel distortion
This setting will disable the Chromatic Aberration and Barrel Distortion the game introduces in the final image. Won't affect chromatic abberation introduced in the photomode. Checking this checkbox is required to have ReShade's depth buffer align with the final image
Disable DOF when camera is active
If checked, it'll disable the DOF when the camera is active, also in photomode
Disable Vignette when camera is active
If checked, it'll disable the vignette when the camera is active, also in photomode
Sharpening
This controls the in-game sharpening. By default it's 0.25 which is the in-game sharpening amount. This can be a bit too sharp for many, so you can now change it (less or more than the default) to the value of your liking.
Exposure
Use this to override the in-game exposure. It's clamped by the engine so you can't go pitch dark or super bright.

Lens dirt is always removed.

PM Light control

These options allow you to control the positioning of the lights in the photomode (if they're available)

First go to the lights tab in the photomode, then enable the camera using Insert. You can now attach a light to the camera to position it anywhere without hassle. To do so, select the light to attach to the camera on the Misc. adjustments tab of the IGCS Client. When you're done positioning the light, select None for attach light.

Important!

If you disable PM Light Control the lights will snap back to the position they would have had without my tools. So be careful, there's no undo.

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.

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
Delete Toggle HUD (External tool via reshade)
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)

Miscellaneous usage

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

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

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.