Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

he'll yeah thats sick. howd you make that?

Adbot
ADBOT LOVES YOU

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
i made it using geometry nodes and drivers

here is how the rig looks


to generate the trail, you need to use the good old "x = x0 + v0t + ½at2" formula:

first part:

final formula:


then you need points, so here is a mesh line, whose positions are set according to the formula (the t variable is the index of the point from 0 to `trail length`):


then you instance some geometry on the points, but you have to delete all faces so that the preview geometry doesn't emit fluid. the actual emitter is a tiny triangle (radius 0.01) whose normal is aligned toward the fluid target. you can make it bigger if you want and you can add more points, as long as it has at least 1 actual face.


here is the whole node tree


these are the settings in the preview generator's fluid simulation tab. "planar" is set (that's the tiny emitter triangle), "initial velocity" is set, but "source" is 0, and initial X, Y and Z have drivers on them:


the drivers are all basically the same, except the path fopr the input variable is location[1] for the Y coordinate and location[2] for the Z coordinate. i also have a separate multiplier that isn't really needed and you can ignore it.


finally there is the line that goes from the inflow preview generator to the fluid target. it's a mesh with 2 points and an edge between them, lying on the globa Y-axis. it has these constraints on it:



for the animation, i imported this image as a plane


then i traced the strokes adding 4 keyframes on every letter, every 15 frames (so every letter takes 1 second at 60fps). then i looked at where the preview trail intersected the plane every frame and if it deviated too much, i added some an extra keyframe between two existing keyframes.

i simulated the fluid and generated the mesh for the fluid. i subdivided the plane so it had "enough" geometry.

i made the plane a dynamic paint canvas and i made the fluid a dynamic paint brush. i baked the paintmap and wetmap as vertex colors on the plane and then used them in the shader: wetmap to drive the color and roughness and paintmap as the displacement map.

Wheany fucked around with this message at 16:02 on May 6, 2023

Sagebrush
Feb 26, 2012

incredible use of technology

FreudianSlippers
Apr 12, 2010

Shooting and Fucking
are the same thing!

Pissssssssss :five:

echinopsis
Apr 13, 2004

by Fluffdaddy

outstanding

echinopsis
Apr 13, 2004

by Fluffdaddy

Sagebrush posted:

incredible use of technology

these were literally the words that came into my mind, and after reading the how he did it I also realise it’s a fantastic use of human mental effort

Jenny Agutter
Mar 18, 2009

Sagebrush posted:

incredible use of technology

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
because i can set the length of the preview trail, i made a Multiple Rounds Simultaneous Impact animation, with fluids.

this was kind of a pain in the rear end because i wanted the initial velocity to match the angle of the barrel.

i thought i could just make an armature that has a bone for the barrel and child bone that is constrained so it can only move on its local Y-axis. then add a copy location constraint to the generator targeting the tail of the "barrel bone" and another copy location constraint for the target empty, targeting the child bone.

it works for the preview generator, but the driver that actually sets the initial velocity of the fluid inside the fluid simulation is evaluated before the constraints so it only dripped the fluid staight down because it didn't see the actual world location of the elements.

i ended up adding keyframes for the "visual location" of the generator and target for the 8 frames the inflow is active and that worked.

here's the bone setup


and this is the result
https://i.imgur.com/rGAXiZt.mp4

Songbearer
Jul 12, 2007




Fuck you say?
Hydrated

Sagebrush
Feb 26, 2012

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

what’s pizza hut?

Jenny Agutter
Mar 18, 2009


very nice! did you try rendering that with the experimental caustics?

polyester concept
Mar 29, 2017

i forgot what thread i was in and i thought you just posted a nostalgic photo

good poo poo

Sagebrush
Feb 26, 2012

Jenny Agutter posted:

very nice! did you try rendering that with the experimental caustics?

ah it's actually keyshot, not blender. eventually i'll learn blender properly but for now i'm just using this as generic cg thread. :ninja:

but yeah, caustics are definitely required for accurate transparent/translucent objects. you can see them scattering under the base. tbh i'm kinda surprised that blender didn't do them until recently.

polyester concept posted:

i forgot what thread i was in and i thought you just posted a nostalgic photo

good poo poo

yeah it's not totally accurate but i'm happy with the results. i like to practice by trying to recreate unusual materials and textures i find out in the world. recently saw one of those old pizza hut cups and here we are :toot:

Sagebrush
Feb 26, 2012

it's the end of the semester and i'm :allears: listening to the students complain about doing their final renderings.

"omg, i had to let this rendering run for, like, two hours last night. i couldn't even use my computer that whole time!!"

"why is it still grainy? i set it to 250 samples!!"

they don't know how good they've got it. back in my day there was no such thing as a real-time preview, and the final render ran with a scanline . you just had to send it off and wait 12 hours and hope the output looked good enough to present :bahgawd:

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Sagebrush posted:

it's the end of the semester and i'm :allears: listening to the students complain about doing their final renderings.

"omg, i had to let this rendering run for, like, two hours last night. i couldn't even use my computer that whole time!!"

"why is it still grainy? i set it to 250 samples!!"

they don't know how good they've got it. back in my day there was no such thing as a real-time preview, and the final render ran with a scanline . you just had to send it off and wait 12 hours and hope the output looked good enough to present :bahgawd:

tell them one of fart simpsons nodevember entries took 16 hours to render and that wasn’t even for a school assignment

Sagebrush
Feb 26, 2012

anyway here's a fork

Zlodo
Nov 25, 2006

Sagebrush posted:

it's the end of the semester and i'm :allears: listening to the students complain about doing their final renderings.

"omg, i had to let this rendering run for, like, two hours last night. i couldn't even use my computer that whole time!!"

"why is it still grainy? i set it to 250 samples!!"

they don't know how good they've got it. back in my day there was no such thing as a real-time preview, and the final render ran with a scanline . you just had to send it off and wait 12 hours and hope the output looked good enough to present :bahgawd:

Tell them about the denoising options, it's a lot faster and more effective than cranking up the samples

Cybernetic Vermin
Apr 18, 2005

tell them to just ask dall-e for the final render

echinopsis
Apr 13, 2004

by Fluffdaddy

Zlodo posted:

Tell them about the denoising options, it's a lot faster and more effective than cranking up the samples

noise > the burns-victim effect that denoising adds

Elukka
Feb 18, 2011

For All Mankind
I couldn't imagine not using denoising anymore. Yeah, if it's too noisy to begin with you get bad artifacts. But getting to a visually clean end result is *much* less time-consuming since you can make do with a render with a little noise instead of needing a render with near-zero noise.

echinopsis
Apr 13, 2004

by Fluffdaddy
for me at least, by the time you’ve got it clean enough that denoising doesn’t introduce artifacts, well, I’m actually happier with that slightly noisy image

I mean sometimes I add film grain in post, and I almost always do on my photos. spose I just don’t love really clean looking images

the aesthetic of the noise produced by cycles at least I don’t find off putting at all, it’s film grain reminiscent. at times I’ve preferred the image at less samples

🥳

Jenny Agutter
Mar 18, 2009

just denoise for a quick render then add grain in the compositor, so simple

Elukka
Feb 18, 2011

For All Mankind
The problem with it is that it's not even. You frequently get, say, no noise in direct light and a lot of noise in a crevice where light is bouncing around a bunch.

I can't actually see the denoising artifacts on my renders unless I'm making an animation, where they're unstable from frame to frame, and at that point I'm forced to go Eevee because I lack the hardware to render animations quickly enough.

e: Like see here how the crevice is all noisy.



Jenny Agutter posted:

just denoise for a quick render then add grain in the compositor, so simple
Literally did this

Elukka fucked around with this message at 09:31 on May 12, 2023

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Sagebrush posted:

anyway here's a fork



tines are too thick

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

Jenny Agutter posted:

just denoise for a quick render then add grain in the compositor, so simple

this is the light

echinopsis
Apr 13, 2004

by Fluffdaddy

Elukka posted:

The problem with it is that it's not even. You frequently get, say, no noise in direct light and a lot of noise in a crevice where light is bouncing around a bunch.

tbf isn’t that kind of how real light works too?

I used to have random samples turned on but then realised it makes a mess during animations so I leave the seed at 0, but perhaps this is antithetical to my beliefs

Jenny Agutter posted:

just denoise for a quick render then add grain in the compositor, so simple

this is the way

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

these were hella noisy renders. denoised and added grain:



you have no idea just how bad and noisy this render was. denoise and grain almost makes it look intentional rather than just a bad render

Elukka
Feb 18, 2011

For All Mankind

echinopsis posted:

tbf isn’t that kind of how real light works too?
Nah, you get noise on the camera sensor, not on specific parts of the image. The thing receiving the light is loving up, but in render noise the light itself is loving up, and it doesn't do that in reality.

echinopsis
Apr 13, 2004

by Fluffdaddy

Elukka posted:

Nah, you get noise on the camera sensor, not on specific parts of the image. The thing receiving the light is loving up, but in render noise the light itself is loving up, and it doesn't do that in reality.

maybe you are right

echinopsis
Apr 13, 2004

by Fluffdaddy
https://gfycat.com/thiscompetenthydatidtapeworm

https://gfycat.com/incomparablesimpleconch

https://gfycat.com/grouchycarefreebunny


three animations for your retro viewing pleasure

Zlodo
Nov 25, 2006
hear me out: how about adding noise then denoising to get the denoising artifacts on purpose

Sagebrush
Feb 26, 2012

fart simpson posted:

tines are too thick

No they aren't.

echinopsis
Apr 13, 2004

by Fluffdaddy
https://www.youtube.com/watch?v=6DIEZhk_ES8&ab_channel=UnrealSensei


the procedural generation thing is cool. this kind of thing was always pssible before but seems like they've made it own thing

the lighting in the second half of the video is whats so good though. I am looking foward to next game I play that really feels like the lighting is real, I feel like we've hit that goal

Zlodo
Nov 25, 2006
Yeah large open world games already use lots of procedural generation, it's just done offline and as tools used by the artists, rather than just having the whole world be dynamically generated like in say no mans sky

Nowadays a cool trick is to have your tools interface with Houdini so you can trace outlines of procedurally generated elements, then your tool gets Houdini to run a generation graph node with that outline as input & automatically integrate the output mesh as an asset in your game right where you requested it

in our current game they use it to make for instance super nice cliffs and terrain overhangs. Traditionally since height maps can't really do those you add meshes, but now to make those they just draw the shape of the cliff and Houdini generates the mesh and it gets inserted there on the fly, it's super efficient and gives really good results

I guess what unreal is trying go do there is to offer this as an integrated solution so you don't have to pony up for a Houdini license

another solution that is possible nowadays is to use blender although geometry nodes are probably not quite yet at the level of houdini

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
i'm trying to figure out how to do bilinear filtering with the blender shader nodes and i cannot wrap my head around it.

making a pixelated texture is easy, just use a snap node on the uv. but that makes your textures look like (perspective correct, well lit) playstation textures.

but sampling the texture at discrete points and then interpolating between them is too hard for my tiny brain.

i know how to do bilinear filtering in java, for example. but wrangling the node graph is such a different paradigm that it gets too complicated too quickly.

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

how do you do it in java? there’s usually a very mechanical process to translate from that to a blender node graph

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

also isn’t that how uvs already work?

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

that said, it depends on what your trying to do because shader graphs are computed per pixel in parallel and cannot access the results of neighboring pixels. if you need to do something like that it’s compositor time

Adbot
ADBOT LOVES YOU

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
i could post the formulas, but here they are: https://en.wikipedia.org/wiki/Bilinear_interpolation :effort:

it has this neat graph though.


and yes, with image textures you can resize the images outside bolender and then by default blender uses bilinear filtering when doing texture mapping. but procedural textures have "infinite" resolution. if you're going for a low poly (but not playstation 1) look, both infinitely sharp and perfectly pixelated textures look out of place. one trick is to modifyu the uv with noise. that blurs procedural textures using antialiasing since sub-pixel samples are taken at different uv coordinates. but it looks like poo poo, imo, and is also not deterministic

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply