Sky Creator

I didn’t have a chance to test it, but it’s there and enabled. SkyCreator actor is there too, can be dropped into scene.

Engine I use is 4.27.1 (Oculus fork) and plugin was installed into 4.27 (stock launcher version). Basically the same as if I were to install it into UE5EA (as per Sky Creator’s docs Documentation – Dmitry Karpukhin).

I copied contents of SkyCreatorProject\Plugins\SkyCreatorPlugin\Content\ to SkyCreatorProject\Content\ and it seems to be working.

Woah, Overview scene froze UE4 and crashed it silently after I ran it in PIE and then tried messing with Project Settings. i7-7700, 32Gb of RAM, 2060 SUPER, SSD.

P.S. Could it be a memory leak? This time I went to open/add DevTools > Output window and UE4.27.1 froze. I went into Task manager almost immediately - UE4Editor was not responding and memory consumption was 87%.

P.P.S. Holy smokes (in the Output window):

LogD3D12RHI: Error: ID3D12CommandList::ResourceBarrier: Before state (0x40: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE) of resource (0x000002457784BDA0:‘SceneDepthZ’) (subresource: 0) specified by transition barrier does not match with the current resource state (0x20: D3D12_RESOURCE_STATE_DEPTH_READ) (assumed at first use)
LogD3D12RHI: Error: ID3D12CommandQueue::ExecuteCommandLists: Using Draw on Command List (0x0000024553A06370:‘FD3D12CommandListData (GPU 0)’): Resource state (0x40: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE) of resource (0x000002457784BDA0:‘SceneDepthZ’) (subresource: 0) is invalid for use as a depth-read. Expected State Bits (all): 0x20: D3D12_RESOURCE
_STATE_DEPTH_READ, Actual State: 0x40: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE, Missing State: 0x20: D3D12_RESOURCE_STATE_DEPTH_READ.

So that’s been posting infinitely in the Output window, which made UE4 appear frozen.

This is the beginning of the error message spam barrage:

LogRenderer: Reallocating scene render targets to support 1616x808 Format 10 NumSamples 1 (Frame:1).
LogD3D12RHI: Creating RTPSO with 128 shaders (0 cached, 128 new) took 285.96 ms. Compile time 272.84 ms, link time 12.78 ms.
LogD3D12RHI: Creating RT View Heap with 250000 entries
LogD3D12RHI: Creating RT Sampler Heap with 2048 entries
LogD3D12RHI: Creating RTPSO with 8 shaders (0 cached, 8 new) took 2503.12 ms. Compile time 17.96 ms, link time 2485.11 ms.
LogD3D12RHI: Creating RT View Heap with 250000 entries
LogD3D12RHI: Creating RT Sampler Heap with 2048 entries
LogD3D12RHI: Creating RTPSO with 3 shaders (2 cached, 1 new) took 153.40 ms. Compile time 0.89 ms, link time 152.48 ms.
LogD3D12RHI: Creating RT View Heap with 250000 entries
LogD3D12RHI: Creating RT Sampler Heap with 2048 entries
LogD3D12RHI: Error: ID3D12CommandList::ResourceBarrier: Before state (0x40: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE) of resource (0x000002457784BDA0:‘SceneDepthZ’) (subresource: 0) specified by transition barrier does not match with the current resource state (0x20: D3D12_RESOURCE_STATE_DEPTH_READ) (assumed at first use)
LogD3D12RHI: Error: ID3D12CommandList::ResourceBarrier: Before state (0x40: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE) of resource (0x000002457784BDA0:‘SceneDepthZ’) (subresource: 0) specified by transition barrier does not match with the current resource state (0x20: D3D12_RESOURCE_STATE_DEPTH_READ) (assumed at first use)
LogD3D12RHI: Error: ID3D12CommandQueue::ExecuteCommandLists: Using Draw on Command List (0x000002452EE82590:‘FD3D12CommandListData (GPU 0)’): Resource state (0x40: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE) of resource (0x000002457784BDA0:‘SceneDepthZ’) (subresource: 0) is invalid for use as a depth-read. Expected State Bits (all): 0x20: D3D12_RESOURCE
_STATE_DEPTH_READ, Actual State: 0x40: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE, Missing State: 0x20: D3D12_RESOURCE_STATE_DEPTH_READ.
LogNativeClassHierarchy: Verbose: Native class hierarchy updated for ‘HierarchicalLODOutliner’ in 0.0003 seconds. Added 0 classes and 0 folders.
LogLoad: (Engine Initialization) Total time: 15.55 seconds
LogLoad: (Engine Initialization) Total Blueprint compile time: 0.00 seconds
LogAssetRegistry: Asset discovery search completed in 10.2623 seconds
LogCollectionManager: Fixed up redirectors for 0 collections in 0.000003 seconds (updated 0 objects)
LogContentStreaming: Texture pool size now 1000 MB

@motorsep I’m struggling to understand what is going on in your case. Sky Creator 1.12 doesn’t really use any Render Targets. Perhaps this Oculus fork of UE4 have troubles with rendering volumetric clouds? Just a thought.

Here’s a new video demo of the Occlusion system for the next 1.20 update. It automatically occludes any material effects under “roofs”! Also there are all of Weather Material FX for this moment: Wetness, Puddles, Ripples and Snow.

v=y_vX_wMKETc

I still need to optimize it a little bit more, but even now it’s pretty fast.
There’s also one thing to mention… Since Occlusion system captures a render target for world height, it also can be sampled by a GPU Particles, which means they now can be occluded as well! Meaning - very dense downpours and snow blizzards without severe performance hit. Though I think it has to wait until next update after release of 1.20 - there’s still a lot of work to be done.

I switched Project to stock 4.27.2 and it seems that there are no issues when loading it into launcher’s 4.27.2.

I launch Oculus fork with with -hmd=OculusHMD -d3ddebug and also maybe some rendering settings or other plugins interfere with Sky Creator ?

hi i have updated to the latest version of skymaker bur now i get a error in the mssagelog in all my projects saying

Failed to load /SkyCreatorPlugin/Materials/Curves/CurveAtlas_SkyC_VolumetricClouds.CurveAtlas_SkyC_VolumetricClouds Referenced by MaterialInstanceDynamic_0

any ideas ?

@motorsep could be, seems like you have a very specific case.

@soulbank generally it’s okay, this warning should appear once and when you resave your level it should never appear again. It happens because sometimes I change some minor stuff in updates and Material Instance Dynamic still remembers old references before updating.

yes fixed it !

question re building for UE5 should i use VS2019 or 2022 ?

Nah, it’s -d3ddebug cmd arg ! I removed that and the issue disappeared. So it’s definitely not source fork issue. I use -d3ddebug for several other projects where I have other plugins (but not SkyCreator) and never had any issues.

Ugh, another setback - I tried capturing equirectangular panorama using Nvidia’s Ansel (by enabling/packaging plugin in UE4 and using GeForce Overlay on build standalone project) and panoramas come out pure white imagine.

Any idea why and how to fix this? I wanted to use Sky Creator to aid me with making static skyboxes.

@soulbank both worked for me, though until full release of UE5 I mostly stick with UE4, so I might be wrong.

@motorsep but Sky Creator does not change literally anything in rendering pipeline… Weird stuff.
I’d suggest to you to use unreal’s Scene Capture Cube instead for capturing skyboxes and it will make more sense to do so, there’s more parameters and so on.

It might have to do with post-processing, which I can’t turn off as it seems to be inherited from C++ class. Afaik scene capture yields low-rez results. I need to get 4k+ equirec.

Any plans to add photo mode into Sky Creator ? :blush:

I am getting a error rendering a large scene “your scene contains a skydome mesh with a sky material but it does not cover that part of the screen” any ideas on how i can fix this ? if i remove skymaker and use the defaults from the Evn Light Mixer" I dont get this error… On UE5

@motorsep if you’re using custom builds you can crank up Texture Cube max resolution in source. Should be ok up to 8K: https://answers.unrealengine.com/questions/242142/increase-cube-render-target-resolution.html

@soulbank how large is your scene exactly? Click the arrow in General settings of Sky Creator and increase Sky Sphere Radius if it’s not enough. It’s set to 1000 km though!!

1 Like

its super large as I am doing Aerial fly-ins ! i will try your suggestion and see if it works thanks !!!

@Dmitry_Karpukhin How can I get a rid of that sun glow ?

If not possible currently, could you please add an option to allow disabling it ?

You want to get rid of atmosphere for a clouds-only 360 capture, right? There is a better, but somewhat hacky way to do so. Open “SkyCreatorPlugin/Content/Materials/SkySphere/M_SC_SkySphere” and hook a zero constant into Emissive instead of everything else. Also disable Height Fog in Sky Creator settings. That way you’ll get pure black sky with only clouds visible. Though clouds will still be lit by a sunlight, but it’s fine.
Sorry I didn’t think of it before for some reason, it’s actually way simpler than setting up Sky Atmosphere to seem invisible.

Thanks, that did the trick (clouds is one equirec image baked with Panoramic Capture and then processed in GIMP - layered with sky color gradient equirec):
v=9JXpdpWdV3g

There is still an issue with exposure/eye adaptation PP (seems like PP creates those glowing areas around that don’t get evenly captured):


I can’t seem to change any parameters for PP on the SkyCreator actor placed in the scene :frowning: