Ryan James Smith Profile picture
Apr 4, 2022 6 tweets 4 min read Read on X
1/6 A year and a half later, I finally finished my black hole project. #madewithunreal and now powered by #Niagara, this shader/sim implements physically correct gravitational lensing, which bends the light in all kinds of groovy ways! #gamedev #realtimevfx #astronomy #UE4 #UE5
2/6 A weird phenomena of gravitational lensing is the photon-sphere. @ScienceClic hooked me up with the equations I needed to represent this. When done correctly, zooming the camera in yields the same image repeat over and over to infinity (it gets small though)!
3/6 The accretion disk was my main focus this time around. I ended up learning how to write fluid solvers because I didn't want a static texture that was just warping around the event horizon. I wanted something alive, dynamic and violent.
4/6 Another addition was the fog layer - For this I ended up doing a downsample of the render target to get a nice blurred accretion disk. I also added a Henyey Greenstein phase function which is subtle but added a bit of realism.
5/6 #Niagara is a game changer. It gives me such fine control over pretty much everything involved in the sim. I set everything up so I can control things like a custom density attribute and color over distance to the event horizon.
6/6 I hope you enjoy these videos!
There's a crap ton of useful tidbits I can't go over in a Twitter thread, but perhaps this would be a good premium tutorial for Overdraw.xyz - what ya'll be interested?

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Ryan James Smith

Ryan James Smith Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @OverdrawXYZ

Dec 18, 2022
Since I'm on the AI topic, I want to point out some hypocrisy (probably unintential).
The below image was snipped from a post on @ArtstationHQ's front page. Somehow this guy thinks getting your art scraped by an AI is the same as being raped. Or are people using AI tools rapists?
It's kind of hard to tell, I'm sure it hits people hard and that's what it's meant to. It got a reaction from me, even though I don't really agree with the delivery but can understand the point he's trying to make, i guess.

Here's the part where it's fucking dumb.
This person's portfolio is filled with AMAZING illustrations. There's no doubt in that. But there are a TON of drawings of copyrighted characters. How is this different than a person with less skill using AI to produce images of their favorite characters?
Read 5 tweets
Dec 18, 2022
1/N
I wanted to say a few words about AI and what's going on with @ArtStationHQ . Normally I wouldn't comment, but as an R&D Engineer who has actual experience creating custom AI architectures at Gearbox and deploying them to artists, I feel like I can
add to the discourse in some meaningful way, rather than just be more noise. Disclaimer that these are my opinions and they don't represent the position of my employer or anyone I work with in any capacity. Also, let me say that I *understand* and *hear* artists who are
concerned about AI. There absolutely needs to be rules and laws set to govern what for profit AI companies can and cannot do. But we're not there yet - these types of debates aren't even happening at a legislative level, and if they are, they are about more concerning
Read 22 tweets
May 13, 2022
1/N Some folks asked me to share my setup in #UE5 for how I used #Niagara to generate tiling ocean waves using Fast Fourier Transforms. This thread will hopefully shine light on the process and serve as a guide to those wanting to do the same. #gamedev #realtimevfx
The method for generating tiling ocean waves using FFTs can be summed up in these steps.
1. Precompute the h0 lookup table where each texel contains the encoded values needed to represent a wave. Its called h0 because that's the variable Tessendorf gave it in the original paper. Image
Everything needed for the sim is stored in this texture. From it, a wave's speed, magnitude, direction and frequency can be derived based on the Texel's location and the data stored within. The dark areas are from a "spectrum" that is multiplied to produce realistic ocean waves.
Read 8 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(