Unreal Engine 5.0 Preview

WOW, It’s a bit strange to remove from code the classic animation retarget system and replace it with this IK retargeting which is incomplete and much more frustrating to deal with when you have multiple characters with the same bones and morph targets…

How can we now transfer animation from one character which contains “animation curves” (morph targets such as talking and facial expressions) to another character?

It was so easy to retarget a full animation to another character with just 2 clicks…

Now I have to open UE4 and retarget animation there and bring the files back to UE5

I hope the classic retarget system comes back until we have a fully working IK/FK + Animated Morph retarget system in place.

2 Likes

Epic, please give lens flares a complete overhaul in a future release. The old UE4 ones are just hideous.

1 Like

Regarding the crash when enabling RT translucency:

You can set r.AntiAliasingMethod from 4 to 2 or if you want to keep the new TSR AA enabled you can set r.TSR.History.ScreenPercentage from 200 to 100 (can’t be higher than 100).
Then you can enable RT translucency without UE crashing.

Note this TSR crash has been fixed on lattest 5.0 on github: https://github.com/EpicGames/UnrealEngine/commit/fc090abd7f9c250ce4cd0053982c2b1c7c0ed84c

1 Like

Will we be able to migrate existing 4.x projects once 5.x is stable released?

Hi, Do you happen to have more details/repro steps related to your crashes? This issue is not known to my hand, and groom works fine in our tests project. It would be good to identify the underlying issue?

Yes it worked but it is necessary to apply both changes you mentioned. But for some reason the windows look blue.

I like the idea of the Console Variables Editor plugin very much, thanks for your work on this!

It would be nice if it supported wildcards for adding lots of variables at once, or if it shipped with some presets covering particular systems, especially interesting new UE5 systems. For example, I’d like to see all Lumen-related variables in the varibles editor without having to manually add them all individually.

What does r.TSR.History.ScreenPercentage do? What improvements do I get if I push it to say, 200?
I have an idea of what it does going off it’s name, but I don’t know what exactly and what the implications are for changing it’s value.

Thank you for your feedback Steve! We do plan to include some presets for UE5’s full release but the wildcard idea is something we definitely hadn’t thought of. I will bring this to the UX team to see if it’s something we can do and if so, I’ll implement it!

Have you tried Global Search? It works something like wildcard search - enter your query into the local search bar then click the button beside it to see all cvars that match your search terms, not just the ones you’ve added. Then you can add specific ones either by clicking the star beside each cvar or by simply changing the values which will add them to your current preset.

1 Like

It controls the screen percentage of the temporal history of TSR based on the TSR’s output resolution. Cinematic anti-aliasing scalability setting sets this 200 (history res = 2 the display res) versus 100 (history = display res) for the rest of the the anti-aliasing scalabilities.

The advantage is effectively storing the details accumulated over frame at thiner granularity than the output resolution, where 200 is particularily interesting because it means the footprint of bilinear texture samples used in the kernel for the reprojection of the history is still smaller than the output resolution. This then allows to maintain very very competitive output texture sharpness in motion.

Think of it like music file format encoding your music’s melody at a higher sampling rate than what you ears can actually ear.

Of course this doesn’t come for free because TSR’s UpdateHistory pass is processing more pixels for the history = more expensive on the GPU. So I wasn’t quite ready making this part of the Epic anti-aliasing scalability settings. This cost can be measured with the stat gpu that have it’s own dedicated GPU timing bucket dedicated for TSR.

Note that the GPU has a maximum texture size of 16k x 16k. So you can render with r.TemporalAA.HistoryScreenPercentage=200 up to 8k x 8k resolution before it gets automatically disabled to avoid error in the RHI when trying to allocate TSR’s history.

We had first introduced this trick in 4.22 in TAA with r.TemporalAA.HistoryScreenPercentage that was a nice quality improvement for our digital human demo that could not stop breathing causing slight history reprojection bluring the skin details overtime. This however never became a real boy in UE4, because it was essentially using the same TAAU shader we were not quite happy with its upscaling quality anyway and was back in UE4 never enabled by default.

3 Likes

I have a similar problem with my characters. If the actor is completely still (no movement, just the idle animation), the mesh has distortions/blurriness in the face and around the edges. But if the character is moving it clears up and looks like it should.

see the distortion around the edges of the face and eyes
Blur

If the actor is moving even at 0.001 speed it clears up
clear

please add [mp4] format to movie render queue
I know jpg sequencer is for professional users but I want direct mp4 export

1 Like

Hey! Seemed to be an issue with my hair LOD mesh using the hair strand material which just kept causing constant crashes.

I think this is due to the new AA method the TSR. I was experiencing really bad ghosting but turning it back to TAA in the project settings seemed to do the trick for me.

For 3rd party software (ie. ffmpeg) and Movie Render Queue, take a look at the Command Line Encoder documentation here: Export Formats | Unreal Engine 4.27 Documentation

1 Like

@ItsSharp Thanks, that fixed half the issue. There is still some weird shadow ghosting, but that probably has something to do with Lumen settings.

This looks more like a motion vector issue than a TSR issue. What do the motion vectors looks like if you use the VisualizeMotionBlur show flag instead? TSR as well other temporally accumulated tech like lumen or even TAA needs motion vectors to reproject previous frame’s data. If they are broken, the histories gets reprojected badly like what you are experiencing.

If you can share a small project to repro the issue, I would be happy to have a look :slight_smile:

How do you get translusency to work with Lumen and hardware ray tracing ? For the moment, all of my transluscent meshes cast shadows as if they were opaque and their color is way too bright. In an interior scene, a white almost transparent mesh appears very white, almost as if it were an emissive