How can I create objects that appear large but are unreachable?

I’m currently porting over a project from Unity to UE4. Originally in Unity, we had the sky sphere and large background objects (suns, planets, nebula clouds, asteroid fields, etc) as a small set of assets that were positioned around world center (0,0,0). We then had 2 cameras, one for the player and one for the background or “distant” objects mentioned previously.

The main camera didn’t render anything that was on the “distant objects” layer (via culling mask) while the distant objects camera only rendered objects on the “distant objects” layer. The main camera had its “clear flags” property set to “Nothing” in order to show the contents of the “distant objects” camera that was being rendered before it.

When the main player camera moved, we matched the rotation of the distant objects camera to the player camera’s rotation but kept the position of the camera at world center. This way you could never reach any of the distant objects.

My question is: What is the best way of achieving this effect in UE4? Is this not something that can be done easily or am I missing something?

Thanks!

Hey Nick,

Would you be able to post an example (photo, video) of what your trying to accomplish? I think I have a simple solution to the problem, however it depends on the situation or setup.

Absolutely. So the desired result is the ability to have shots like this one (using old/test assets):

If you want a shot of what the scene looks like in Unity, here is a shot that shows the background clouds and planet being close to center. The boxes are not on the “distant objects” layer and they reside wherever needed.

Probably isn’t the best solution but I’m sure you could make the “distant” objects update their position by the change in the camera’s position. So if the camera moved forward 1 unit, all the distant objects would move 1 unit as well. This would keep every distant object a fixed distance from the camera. Again probably isn’t the best way to do it but you can make it reasonably nice by using a base class for “distant object” that incorporates this logic.

Thanks for the response PantherNZ.

Unfortunately, I predict a few problems with this approach…

The first problem could potentially be multiplayer as I’d have to make sure that actors were only synced to local player and I’d also have to account for which camera was present (to account for cockpit camera, tail camera, spectator camera, etc…).

The other problems are that either…

A) Other scene objects will disappear behind the “distant” objects or…
B) The distant objects will have to be scaled up to be incredibly large and could potentially fall outside the clipping range of the camera. This could also result in hitting boundaries of object scale, resulting in a limitation on these background objects.

Hey mobfolios, were these screen shots sufficient?