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
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
outer_scout.zip
file of the latest versionEdit > Preferences > Get Extensions
Install from Disk...
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:
Unity Object Mode
to Existing
. In this mode, the mod will not create a new empty UnityEngine.GameObject
, but search for an existing oneAfter that, the Transform Mode
property will appear, which tells the mod what to do after the next recording starts:
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 blenderReplay
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 animationYes, it's a bit complicated, but the final algorithm is like this:
Record
mode and hit the "record" button in the scene properties tabRecord
objects to Replay
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
Sidebar > View > Outer Scout
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 the Group exported assets by
option to container 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 reusedAt 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 nameGeneration 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 normalThe 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 theSolarSystemRoot
, 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.