Cinematographer Feedback & Support

Welcome!

How to install when we build UE

Avatar
  • updated
  • Answered

We got your add on and it seems it requires it to be installed into the UE engine itself.  We are currently building our UE engine and have made modification to it.  Does your add on have a way for us to be added to our pipeline, can we get the source code or lib/dll we can add to our engine version

Pinned replies
Avatar
lumines_labs
  • Answer

My best guess is that this happens because Cinematographer is a code plugin and not a content plugin. To add it to your source build you need to install the corresponding Unreal version of your source, then install the plugin like normal. Then you can copy the Cinematographer plugin folder from “Epic Games\5.XX\Engine\Plugins\Marketplace” and paste it either into your engine plugin folder of your source build or your project plugin folder. I hope this information helps!

Avatar
lumines_labs

Hey, I’m very glad it works now!

Now for the Auto Exposure. As a disclaimer: This is just a suggestion, if you want to reclaim some performance, this is not necessary and everything should just work right out of the box.

Cinematographer currently uses a Render Target to calculate the average scene luminance, because the internal function, Unreal’s default cameras are using to calculate the average scene luminance is private. But since you are developing your own custom version of Unreal, you can use the internal function by making it public in your build. The function you would need to access is called GetLastAverageSceneLuminance() in SceneRendering.h of the Engine. You can use this function to replace all of the RenderTarget code in AutoExposureUpdate() in RealCameraActor.cpp of the Cinematographer plugin. And then you could completely disable the RenderTarget and gain performance. I haven’t tested it myself yet and can’t guide you any further since I never made a custom Unreal build but it should provide the necessary information.

Again, I’m happy to hear that everything works and I hope this explanation gives you a better understanding of what I meant.

Avatar
Hung Nguyen

We can run the plugin with our custom engine now, but the part for Auto Exposure , is not really clear for us, do you want us to expose this variable AverageSceneLuminanceRenderTarget? and Drag this resource (/Cinematographer/Ressources/RealCamera_AverageSceneLuminance) to it everytimes we use ARealCameraActor?

Avatar
lumines_labs
  • Answer

My best guess is that this happens because Cinematographer is a code plugin and not a content plugin. To add it to your source build you need to install the corresponding Unreal version of your source, then install the plugin like normal. Then you can copy the Cinematographer plugin folder from “Epic Games\5.XX\Engine\Plugins\Marketplace” and paste it either into your engine plugin folder of your source build or your project plugin folder. I hope this information helps!

Avatar
Hung Nguyen

When I try to install the pluggin, it ask me where I have UE install.  I can't just add it to a project like other pluggin.  I assume that mean it puts files it need into the UE engine folder.  We build our UE engine so it doesn't seem to recognize our UE.

Avatar
lumines_labs
  • Answered

Hey, thanks for getting in touch!

What do you mean by required to be installed into the engine itself? You can install it via the Epic Game Store and it creates the plugin in the corresponding folder. After enabling it in the Plugins menu of the engine, everything should work as expected. Since it is a plugin it should still work with your modified version of your engine, except if you changed something Cinematographer relies on. But in this case you will get compiler errors while building. Just put it in the plugin folder and everything should work just fine.

And as just mentioned in a different question on the store, you could modify the function for the auto exposure to use the internal and private variable for exposure and get a decent performance bump. Currently the only way for the plugin is to use a render target, which is not very performant and with your own build you can skip this step by making the internal engine variable public and use inside the plugin.

I hope this information helps!