UE4 4.27 - RTX GI - Quick Production Viability Analysis

Article / 15 February 2022

Nvidias RTXGI is a dynamic global illumination solution for UE4. I spent this weeks stream investigating if it would be viable to use in game production and what it's good at / bad at. That said, I only spent 30 minutes or so tinkering with it so take what I say with a grain of salt. It could be that I'm missed settings or doing something wrong, and I definitely think you should check if the points I'll be writing below are right or wrong.

Setup:
- Download RTXGI plugin, place it in the plugins folder of 4.27
- Following the common setup, enabling DX12 & Raytracing
- Using r.globalillumination.experimentalplugin 1 & r.rtxgi.ddgi 1 CVARs
- Testing DDGI Volumes out in a completely new made scene.
- Directional Light, Sky Atmosphere & Skylight (All Movable)
- Post Process to check Raytracing Settings for Reflections

I could totally be missing some kind of settings or plugins or whatever to make all this work but yeah this is the stuff I found with the brief moments I spent with RTXGI this evening. I thought it would be a good idea to document my thoughts, it's not like Nvidia will be putting the flaws of their tech on their feature list on the website xD.

RTXGI

Overall Impressions:
- Very good diffuse color bounce
- Seems somewhat performant though I haven't thoroughly checked it yet.
- Lots of flaws right now (in my opinion)

Density:

  • Low Density Probe Counts create visual artifacts in spaces between the probes
    • Can be mitagated to some extent by changing view bias & normal bias.
    • Below is a higher density of probes, somewhat eliminating the artifact problem as well.
    • Definitely needs more environment props/materials to hide whatever the artifacts that come with the GI.
    • Low Density Volumes should probably be used in outside areas?

Volume Blending:

  • One of the bigger selling points is that you can use multiple volumes with varied density for your needs in your levels/art-scene.
    • Creates a pretty harsh blend between volumes
    • As far as I know there is no good fix for this. One would have to carefully control the transition areas and hide the seam in doorways or with props.

Skylight / Atmosphere Support:

  • Skylight blends nicely in outside areas, but the this GI system doesn't support any sort of skylight occlusion.
    • Skylight Intensity set to 1 in inside areas will still globally light the environment, like you can see in the above shot.
    • The result will be a little bit better if you divide up your volumes into Interior Volumes and Exterior volumes. Thus limiting the interior volumes to the skylight already.
    • It could definitely be better though since the skylight still applies its intensity on the indirect lighting globally. Like you see here where the skylight is still lighting the back area of the room.

Reflections:

  • Bounce GI from Any Light are not properly reflected (Raytracing Reflections Nor Screenspace Reflections)
  • Manual Cubemap creation doesn't work with Raytracing or this GI Solution. (Why would it, it shouldnt need to , its raytracing)


Ending thoughts:

  • At least from my own short experience with it, it doesn't seem to be a good replacement for Lumen. Currently the RTX GI tech lacks proper communication with the Sky Atmosphere and Skylight, and from what I can tell can't actually see the bounce lighting in screenspace reflections, raytraced reflections nor do you even have the option to make your own manual cubemaps to solve this issue.

  • As for the Sky(light) Occlusion, you can still do it the old-school way by controlling SkyLight Intensity with Trigger Volumes or line-tracing the sky. That however only works around the character itself, so it would only really work properly once you enter dark areas for example, not looking into them.
    • Seperating Volumes does mitagate this issue somewhat, by it's not a great solution. since it's hard to get really nice blending between volumes
  • Would I rely on this for a game production? Probably not in its current state. When I'm looking for a dynamic lighting solution I obviously want it to work with all the other tech.
    • I have a hard time believing you could make a really good convincing reflective environment with lots of bounce light.
  • Please prove me wrong! :) Would love to see this tech work , so if you guys wanna confirm or deny my suspicious, please go ahead!

I opened up UDK/UE3 again and repaired an old broken scene.

General / 06 January 2022


aaand check it out people !

it's running in UDK/UE3. This scene was made back in 2013-2014 way before...any fancy rendering or tools. (photoshop ftw) but now I can see it in high-resolution in the viewport (from which I grabbed these shots below) and in ultra wide as well because..why not since I have the monitor for it :D

Hiding seams with tilable textures

Tutorial / 14 November 2021

Heya!

So I've been going through techniques to hide seams on tree trunks and roots during using tilable textures on my art-streams (Tuesdays 8pm CET).

Here below is a snippet of what I'm doing in my own scene:
(you can find the progress videos on my patreon:  http://www.patreon.com/chrisradsby)

I thought it would be useful to write these techniques down for you guys so you could have a look and learn from it.

So usually the issue when you're working with tilable textures on organic shapes such as roots or trees you always end up with seams wherever the branches end up connecting to the main trunk.

Solution 01 - Adjusting the UVs to create a seamless look from particular angles


This technique is probably the most straight forward one.

Essentially it just means that you would have to strategically place the seams in and weld the UV shells together in areas so that the seam become less visible from certain angles. In this particular example above, the seams are actually above and below the branch, but the its perfectly seamless from the side, since the UVs are welded to the trunk UVs and then skewed in the direction of the bark (upwards) to slowly transition from the bark going upwards to the bark going up along the branch. 

Solution 02 - 2 UV sets and material blending

This technique uses two UV-sets. One main one which would be a regular unwrap of the whole trunk, adding seams where the branches connects to the trunk.

Then you do a second UV-set where the seams aren't placed in the same area as the first and vertex blend between the two to create a seamless result.

- where its black its using UV0 (where there are seams on your original unwrap)
- ie where red is painted its using UV1 (where there are no seams)

Here is a simple shader-graph to set this thinking up.

Solution 03 - Mesh Shell around the seams to hide the transition:

This technique requires that you first to the proper UVing and uwrapping of your mesh. Then after its done, you create a shell around the seams you want to hide.  Align the UVs of the Shell Mesh to go in a similar direction as your branch and vertex paint the edges of the mesh where you want the blend to happen.

This is a very straight forward technique and potentially easier to wrap your head around. Here above in the graph you can see the Mesh Shell Material, which is using the same Bark Material but also blends the result on the edges using vertex color (could be any color).

 I hope this was helpful and if you wish to support me in future tutorials or my art/game dev streams then you can do so here for 5-6 USD.

http://www.patreon.com/chrisradsby

Legacy Game Project Update 01

Making Of / 15 July 2021

Hello There!


Here is some insight to what I've been doing during my spare time. The last few weeks for me has been waking up at 6am, work until midnight with breaks for taking care of the puppy, eating and occasional outside activities :P

In general I've been relearning how to code (ue4 c++ and blueprint), rig/skin, animate, sequences, VFX etc.... basically all facets of game-development so that I can basically just try and do stuff by myself as far as I can go time-wise.

I also decided to reboot my old UE4 project, scrap the old code and in with the new. Rewrote locomotion, got proper state machines for my locomotion states (not the animation graph stuff, actual state machines so that I can properly encapsulate the code for when you're in different states and not rely on millions of bool checks).


Generally code-wise, the project is in a much better and organized state than the previous one, which is a great.
and then I started adding in the basics again.

(all actors interact with the water (ue4 water plugin), playing sounds and particles now)


Such as:
- Creating State Machine Functionality for Locomotion
- Character Movement (3rd person movement + strafe aim mode)
- Character Actions (Jump, Sprint Jump, Mantling, Interactions)
- Interactable Objects (Pickups, Readables, Weapons, Switches)
- World Interaction (Sounds, Particles, Music, Water Shader + FX/SFX)
- Combo System State Machine (Attack classes + tweakable modifiers)
- Combat Juiciness (Hit FX/SFX, Hitstop, Screenshake)


It's hard to put everything on a list without it growing into a huge thing of tiny specifics.  Essentially what I want is a decent foundational framework that I can use to get started.


Doing this of for the last month also made me realize how little time I actually have spent concepting the world or the characters..


(character water sounds + splashes)


I do have some idea about what I want it to be but doing concepts (not that Im good at it) or creating 3d or levels can kind of come after I've created the basic functionality of most of the things. Like yesterday when I started making the basics of the enemy base class and I started thinking about what kind of enemies I want, and then spiraled into thinking conceptually what I want but also production friendly stuff.. 



(interactable objects basic features)


I realized that at some point soon I have to kind of decide on what bone-setup I want for the different enemies, it'd be good if I could rely on a minimum set of skeleton setups (4-5?) would be awesome so that I could reuse most of it and model/retexture characters. 


I guess I have to think about that some more or start dividing up my days during  summer for different department tasks XD Right now I'm just going off my own Trello board of every basic thing I need to get in before I get started blocking out the starting areas.


(fooundation for combat, combat state machines, hit-timing etc)


Oh well, the next thing I'll probably hop on will be basic AI Behavior Logic & States and it'll probably just be the weird straw-man idling , picking new locations to walk to within his zone and then following the player around trying to attack him if he enters the detection radius (and potentially sightline?) :P

Eeeeeither way, that's the update

If you've made it all the way to the end, congrats :P If you're interested in what I'm doing you can always join my patreon or twitch streams, follow me on twitter or here on artstation.

http://www.patreon.com/chrisradsby
http://www.twitch.tv/chrisradsby
http://www.twitter.com/chrisradsby

Until next time !
Warping Out!

//Chris Radsby

Hobby Game Dev & Progress

Making Of / 23 June 2021

Hello!


It's been a couple of months since I took a break from programming, however I'm back to it and actually decided to reboot my own project and make sure the foundation is actually better and less messy. There were a couple of decisions for this:

  • I went to fast into programming detailed game-mechanics (free climbing system with IK, Physics based ropes swinging)
  • The Foundation was bad. The walking, running, jumping all felt kind of crap
  • The foundation for some of the programming was bad

Here are some old gifs of that:


Onto the new

So I went back to basics and made sure the locomotion went from Basic UE4 

but I had to do some update to my character, so I redid the skeleton, rigging and skinning
(it's definitely not a fun part of this whole thing)


To this below, which generally allows the user to move around more smoothly. I also have an aiming mode so the character can strafe and aim. Later on I'm intending this mode for stuff like a rope-hook or something like that or throwing things.


With the basic "feeling" of the locomotion in I had to deal with the biggest issue I had in the last iteration of the project which was that my movement states or any state for that matter was handled by either UE4 Enums or by pure boolean checks. Making new functionality really messy.

https://gameprogrammingpatterns.com/state.html

Here is a good read if you like this kind of stuff, but essentially it boiled down to, whenever I made a new function for my character I had to manually ensure that the player couldn't access other functions whilst doing something else. Example, not sprint  when jumping in the air. This meant that generally I spent a lot of time just bug-fixing things.

The solution for this is to make sure that when a character enters a state , he's accessing functionality that only exists in this state , the easiest way to do this is to use a Finite State Machine. The main issue is that UE4 doesn't actually support it natively, so you have to rely on kind of a messy workflow using Enums, which work but it's a bit annoying to get a good overview of what you're doing.


So I got to work and actually got my hands wet with a code plugin called Logic Driver Pro and with the help of a kind soul (Alzahel) on discord I started to learn how to work this plugin since it's definitely not a plug and go type solution, however when understood it's pretty straight forward.

My character now enters the right state (as shown on the preview visualisation) allowing me to run certain function upon entering, In the state and when the state is exited. Which is perfect, whilst making sure the transitions to other states are limited. Extremely powerful and very helpful.

After this I decided I kind of disliked looking at the gray character so I made sure I brought over the cel-shading and my eye-tracking solution from the previous project.


That's pretty much it for the last few weeks of work, if you're interested in this stuff then you can always follow me on my Patreon to get more insights , check out my livestream on twitch where I stream Art and will eventually move over into more game-development as I go ( I want to hit a good foundation before I start streaming game dev stuff).

oh and if you have any questions just ask em below! 

Until next time!
Warping out

//Chris Radsby

[UE4 Abandoned] Stalker inspired scene

Making Of / 08 June 2021

Hello!


I thought I'd do a little update here as well, I've just posted my latest environment. You can see it here:
https://www.artstation.com/artwork/lxWZL5


It was the environment we created during the 10 sessions of the www.twitch.tv/chrisradsby art-stream. Where we started completely from scratch and set this up. It's mostly using asset packs from the Unreal Marketplace and the main point of it was to teach composition and set-dressing. We did our own water-shader and mess around with particles. Setting up characters in the scene etc. It was all quite valuable stuff and videos are available on my patreon. www.patreon.com/chrisradsby if you're interested!


Next thing up will be a stylized interior made in UE5, which I'll be updating on here later this week.
Until next time!

Until next time!
Warping out

//Chris Radsby 

Winning the Artstation Challenge & Moving Forward

General / 30 March 2021

Hello!


It's that time again for another update, so what has happened in my life lately? Well!


We got ourselves a puppy a while ago, her name is Ginza. It was slap in the middle of the Artstation Challenge which severely hampered my motivation in the middle of the whole thing but I did spend the last week pushing more time into by forcing myself to do it even though I was exhausted by taking care of the puppy.

and I ended up winning.. somehow.

(alternative banner shot)

Generally if you didn't check my art-station challenge post, I've uploaded the final work here:
(https://www.artstation.com/artwork/nYBz4o)

The main purpose of this piece was to explore my ability to create soulful and striking art whilst limiting my color-range, and as usual with these challenges I tend to focus on very specific things I want to learn or explore for it. I also decided to go with my own concept design, the reason is because personally I feel like there is definitely value to learning how to create your own designs and not always rely on copying someone elses concept. At some point in ones artistic journey you'd want to make things that are solely your own and I hit this point for sure maybe 3-4 years ago where I started focusing way more on just...becoming better at doing this. 


Progression Shot:


So what is happening next? Well, as soon as my life calms down a little bit more I can start making art again, generally I'd want to put more of an effort back into game-development so I guess that is the stuff you'll see in the future.

I guess I'll give a shoutout again to my Twitch & Patreon. I guess if you're interested in my thought-process when I make art or learn some of the tricks that I use when working then maybe it might be a good choice for you to check out.

(Or if you wanna see the puppy on stream which is the reason most people come to it) 


and if you're wondering what we're creating on stream, here is a quick work-in-progress screenshot of that:


It's a bit different from other things I've been doing , we're making something STALKER like and we're focusing on composition & mood. We also talk about how to set things up from scratch as we go. The thought of it is to create several areas of interest which can be moved through with a camera that ends up inside of this abandoned military base, and we create composition and ideas on the fly by talking through things.

I usually stream on Tuesdays at 8pm CET and if you end up missing the stream I always update the videos to my Patreon page, I also update the Patreon page with secret sauce knowledge articles written by myself.

 So be sure to check it out!
Twitch & Patreon


Until next time!
Warping out

//Chris Radsby

Art Streaming & Mentoring for the Masses

General / 17 February 2021

Hello There!

Some people have been wondering about what I'm doing on my art-streams so I thought I'd do a quick gathering of the topics I've been covering and some screenies from the stream. Essentially what I'm teaching in my streams is what I teached my mentees the last 2 years but I do for the masses instead.

If you like this idea, please consider joining my Patreon to help me in my quest of world domination & glory.

In reality it's a way for me to be able to fund me keeping on doing this in my spare time, buying UE4 marketplace stuff and reviewing them and if in the future it goes well, then maybe it could potentially fund me spending more time teaching/mentoring and maybe even some game-development. But hey...starting small, for now I'm just teaching people what I've taught my mentees whilst having a good time making art.

 You will also find articles I've written about this stuff as well the streaming sessions that are directly uploaded to the patreon after each session.

Here is my twitch, for the ones interesting in joining my sessions live. They are currently happening every tuesday at 8PM CET. 

(http://www.twitch.tv/chrisradsby)


Session 01 - Getting Started

1h Fundamentals

1h Starting Scene from scratch

In the first session we spent an hour going through some art fundamentals before we even started doing some art. Then we actually started working on the scene without any reference, just an idea of what could potentially be the Setting/Atmosphere and we did compositional work & talking through the thought-process as we went along.

We covered these topics:

  • Going through the basics
  • Choosing the Right Scene
  • Gathering Reference
  • Composition
  • Infusing Narrative
    • Using Composition to your advantage for your Narrative


We basically had something nice going in 2 hours :)

Streaming Session 02 - Continuing with Fundamentals

1h Fundamentals

1h Art in the Scene
 

In the second session we went through:

  • What to think about when making Blockouts
  • Blockout Techniques
  • Lighting Fundamentals and Why we do a first pass early
  • Planning / Organizing your work

And then we continued doing some art on our scene, found some weird Raytracing-specific issues, figured it out. Started talking about what the scene could turn into and trying a new compositional angle.


So yeah if you're interested in following the progress and learn together with the others then I suggest you hop onto the streams and the patreon!

Until Next Time!
Warping out

//Chris Radsby

2021 - New Avenues

General / 30 January 2021

Hey there!

The times have gone fast and 2020 has really been a great and fun year for me to learn new things and explore new aveneus as a game-developer. So for 2021 I have some big news to share with you guys.

I have decided to leave the Mentor Coalition. 

My two years together with the Mentor Coalition has been great, I love the opportunities Josh and his team has given me but now I'm readying myself for trying out a new format. This new format will rely on me regurarly streaming me creating art, having educational art & game-development streams and sharing some more exclusive access to some of my stuff on Patreon. In general, I'd like to spend some more time building my social medias and gaining followers that would be interested in getting mentored by me during streams but also later on 1-on-1 opportunities as well.

So, to start small. I will start up weekly Art & Game-development streams.

http://twitch.tv/chrisradsby

Every Tuesday at 8pm CET starting on February 9th I will stream when I work on my art or game-development.  It'll start with a once-a-week stream and eventually grow to something more.


I will also launch my Patreon. It'll be a slow start, but my followers on Patreon would get more access to some of the stuff I'm doing and open up more learning opportunities and maybe potentially help me fund some of the time that I want to put into doing art, mentoring and game-development on the side. If you've been following me for a while then you know that my interest in game-development as a whole have grown and I would love to one day be able to truly call myself a one-man solo dev, and hopefully you guys can be there to grow and learn with me.

 So if you're like me that enjoys environment art but possible also technical things like tech art or game-development in UE4? Well then maybe my patreon would be a good entrance-point for you to partake in all of that.

http://www.patreon.com/chrisradsby

So what is happening with my mentoring now?

 Well right now not much, I need to focus on getting these new things in order first. If you're still interested in me mentoring you then please contact me here on Artstation and we can talk about it. I would also like to thank all of my mentees that have stuck by me during the years of me mentoring, you guys have been awesome and it's been a lot of fun so I thought I would highlight some of you guys in my portfolio as well.


https://www.artstation.com/artwork/KrdZgG


That's it! Be sure to stay tuned as I'm going to update things here & on my patreon to reflect some of the new changes that are happening.


  Warping out!

//Chris Radsby

The World of Cyberpunk 2077 - Through the Lens

General / 22 December 2020


 

Hello there!

So I've spent the last 100 hours of my spare time playing Cyberpunk 2077. During this time I've really tried to enjoy myself playing the game and I found myself spending hours inside of the photo-mode. I've been trying to capture the world away from what you see in your regular cutscenes and frame them in a way that makes it look like high-quality main-content using the in-game photomode with no third party editing afterwards. These are shots that you might potentially just see for a moment during your play but never really consider twice. I'm here to give you that second look though.

There are no obvious spoilers inside here but I'll give a warning anyways!

If you look closely, if you spend some time immersing yourself in the game, spend some time in your car, listening to the rain falling onto your car roof you'll find that there is a lot of personality in Night City, lots of mystery and plenty of alluring areas to explore. 

It's a beautifully crafted game, despite its' flaws,  so tip of the hat to the craftsmen over at CD Project Red. 

My 100 hours have been well-spent in your game and thank you <3