A frontend for the Outer Scout mod. This addon allows you to make cinematic shots in Outer Wilds and import them into Blender!
Note
The mod makes the game work in the background without a pause. This is necessary so that the two programs can interact at any time
Get to the desired location in Outer Wilds and click "Create Scene" in the scene properties tab
See more in the asset extraction guide. Planet models are only needed for convenient positioning of your objects - they shouldn't be on the final render of the scene
Put the camera in Blender and animate it. In addition to position and rotation, you can animate its focal length
, lens shift
, clip start/end
and sensor size
. You can try adding camera shake using the camera shakify addon
Tip
A file path that starts with //
is relative to your .blend
file. No need to open the file dialog!
Click the record button in the scene properties tab. After recording, all configured cameras will receive a background with the recorded video
camera.1.mp4
The main idea of the mod and addon is to render blender models on top of the game's footages. To do this, click on the button and add the generated node group to the compositor tree
After that, you can do anything with your scene - you can even add effects on the footages of the game using the compositing nodes, or pull them into some editing program. You can make complex scenes with multiple cameras, and the addon will generate the necessary nodes for you
0001-0120.mp4
- Outer Wilds patch 15
- Blender 4.2
- Outer Scout mod (available in the mod manager!)
- FFmpeg for video recording. See the mod's requirements for more details
- AssetStudio for planet model extraction
- Go to the Releases tab and download the
outer_scout.zip
file of the latest version - Open Blender,
Edit > Preferences > Get Extensions
- Click on the arrow in the upper right corner,
Install from Disk...
- Select the archive you downloaded earlier
See the asset extraction section to learn more about the addon settings
Use this feature to add interaction between game objects and your blender models:
- Create an Empty in the Blender, and give it the name of the Unity object from Outer Wilds in the Outer Scout panel. The easiest way to find out the name of an object is using Unity Explorer
- Set the
Unity Object Mode
toExisting
. In this mode, the mod will not create a new emptyUnityEngine.GameObject
, but search for an existing one - Specify the path to the file where the mod will record information about this object on each frame
After that, the Transform Mode
property will appear, which tells the mod what to do after the next recording starts:
- In
Record
mode, the mod will capture the transformation parameters of the object on each frame of the animation, and then import them as key frames of the blender - In
Replay
mode, the mod, on the contrary, imports the key frames of the blender into the game and assigns them to the object on each frame of the animation
Yes, it's a bit complicated, but the final algorithm is like this:
- Create an object in
Record
mode and hit the "record" button in the scene properties tab - The mod automatically sets all
Record
objects toReplay
- Now you can animate your blender models based on the position of something from the game! Dreams come true!
render.mp4
You can select the Equirectangular
type in the camera settings. In this case, the mod will record something like a 360 video from the point of that camera, which is suitable for creating HDRI in a Blender
The "Generate HDRI nodes" button generates the desired node group to be added to the world shader. There can only be one HDRI camera on one scene
The mod can record several textures from one camera at once. In this way, you can get both a color channel and a depth channel at the same time. The latter is used in the generated compositing nodes to put the blender object "behind" the game object
Warning
This feature works well only when your object is blocked by something from the foreground. Most likely, I incorrectly implemented the conversion of the Unity depth to Blender
The result depends on the clip planes. The greater the distance, the worse
- Toggle the planet model visibility
- Warp the player to a position in the game corresponding to the position of the 3D cursor
- Reposition the scene using the 3D cursor
The planets in the game are divided into separate sectors by points of interest to optimize their loading time. When creating a scene, you can stand in the right place in the game, and by default the addon imports only those sectors in which the player is located
This saves performance, especially on large planets with many separate enclosed rooms - inaccessible locations will be skipped. If desired, you still have the option to import the entire planet, or select a planet not according to the player's position (see the asset extraction guide for details)
You can try to animate the rotation of the planet object, rather than the camera itself - then you will be able to make an orbit flight! Just don't read the code of this thing
In order to import planet models into Blender you need to extract mesh assets from the game
-
Open the AssetStudio
-
Click
File > Load Folder
-
Select your Outer Wilds's data folder (
OuterWilds_Data
)
Tip
For Steam users, Properties... > Installed Files > Browse...
Options > Export options
, set theGroup exported assets by
option tocontainer path
Important
There are two folders with assets: one for .fbx
files (bodies), and another one for .obj
files (extracted). .fbx
contains static planet assets, and they have a low quality. .obj
is for streamed assets - they have high quality, but there're a lot of them
We use .fbx
to find out the structure of the planet's assets, and then put in the right places those .obj
that we could find in the second folder. The addon does this in a separate .blend
file, and then links it to your main file. In subsequent times .blend
of the planet is being reused
At the time of the first generation of the planet .blend
file, you need to be on that planet in the game. This is necessary so that the addon receives information about streamed assets that is not available in .fbx
files. The addon will save it to the bodies folder in a .json
file, after which you can safely close the game. You can always edit the planet file to your needs - the addon only cares about its name
Generation of the .blend
file can take up to several minutes, while the main Blender window will not respond - this is normal. Planet generation takes place in a background process, and you should be able to see the progress console. The addon will not be able to find some assets - this is also normal
The generation step is long, but it needs to be endured only once - in subsequent times the addon will find the .blend
file in the bodies folder and reuse it
-
Filter type > Mesh
-
Export > Filtered assets
to the extracted assets folder -
Select the planets of interest, and then
Model > Export selected objects (split)
to the bodies folder
Note
All the planets can be put in one bodies folder - the addon will only search for .fbx
and .blend
files in there by the name of the desired planet. You don't need to change these paths more than once after installation
Warning
Each planet subtree must have object with _Body
postfix within. You can't select the SolarSystemRoot
, because each planet should be in a separate .fbx
file
Note
AssetStudio will emit the texture .png
files along side with .fbx
, but they're not required for this addon.