Support me on Patreon! - Limited Discount For Early Supporters. Get Access To A Growing Library Of 55+ Tutorial PDFs! www.patreon.com/renderBucket/membership
This is awesome! Sine is actually from -1 to 1 for everyone who may have run into issues experimenting. Use a ConstantBiasScale to adjust it to 0 to 1 or add 1 divide by two . Doing that messes with the above results though but just an fyi.
That ConstantBiasScale is a really good tip! I have a correction in the description about the range of sin. But for some reason that correction isn't popping up on the video. When using those values as a mask it usually wont matter if its -1 or 0 vs 1 or 100 it will produce the same output. But It is much more proper to use the ConstantBiasScale as you mentioned or at least throw a Saturate or Clamp node on the sin curve to clamp it between 0-1. Thanks for suggesting this.
Awesome series. I wanted to know if you can add physics to instanced static meshes for example a brick and then make a breakable wall with the instanced bricks?
Thank you for this awesome tutorial. If I fracture an item in chaos how would I bake the individual pieces as static meshes and put them together in an Actor BP?I ask because I want to hide pieces of my meshon impact and spawn a niagra particle at the impact point. Im really new to Unreal so maybe you covered this in this tut and it just went over my head
Hi Mr Bucket, amazing tutorial. I'm really new to Unreal and coding in general. my question is this Python export function version reliant? Can I write this for blender 4 or was this coded with Blender 3 in mind?
That would depend on whether the blender python syntaxes has changed at all. For something as simple as this (just grabbing the selection, and copying basic metadata) I highly doubt there will be any issues. But if there are any issues, it's nothing chatgpt won't fix in a few seconds 😅
First of all, thank you for this series. Its a great help. Especially these raymarching part! Continuing from the previous video. 1. float3 rayOrigin = -(viewDirection - worldPosition); // we start the ray from the camera to the object 2. float3 lightDirection = normalize(lightPosition); 3. float3 reflection = reflect(-lightDirection, normal); // this is because we actually had defined light position, so the normalized vector we have is from the origin to the light, but we want it the other way around, thus the - in the lightDirection 3. float specular = pow(max(dot(reflection, viewDirection),0),16); no changes at all. viewDirection is the CameraVector.
is it possible to have multiple ISM in a single csv file and to the same process? I have around 5-6 different meshes that i used to create a building, I would like to follow the same process in the video series, I would assume I need to specify in BP which ISM to instance and I would need a index specifying that, how can I export that information from maya ? would I need to create a specifc index telling which mesh is where ? if i use mesh instance in maya already can i get that information to the data.csv? thanks for the video, very clear and concise!
...it would be great if you would consider putting out a full paid course on blueprints for animation in cinematics. The nodes you use are just a mystery for the uninitiated. RU-vid channel Ask a Dev has a course of the like, but it is geared towards gaming. I can't follow his thing; it is just unbearably boring for me. And full of irrelevant nodes, since I immediately change sidewalks when I see a video game coming my way. Please consider. Cheers!
I think the first line `rayOrigin` is "wrong". Initially, we had viewDirection - worldPosition, which was a vector from the origin to the tip of the -viewDirection vector. The opposite of that is just worldPosition - viewDirection, the +1 makes no sense. It just offsets the world Origin by (1,1,1). It looks "the same" but mathematically its wrong. Unless I am missing something.
This is a great tutorial on the render graph, but the post process material only renders when using JPG. When using EXR or PNG, everything renders fine except the post process pass, which renders blank. Do you have a tutorial on how to render out the shadow pass as a transparent PNG that is usable in an after effects composite without having to unmult or remove a rasterized jpeg alpha?
I have a question, as this material can be used on any shape, say i use it on a plane which would be two triangles, would this be better performance than using a sphere, say 10,000 instances of each, which would be better a sphere or a plane using this material?
Would have to benchmark it to be sure, but I assume if your utilizing Nanite or LODs the Geo might be a better choice. Mainly because you would have more direct access to the surface for collisions/shading.etc. And GPUs can handle geometry pretty easily now days. The approach of raymarching would maybe work better for gooey liquids or things that might need to be there bubbling around doing things but not necessarily interacting with the world. Nebulas, Clouds, those things are often done with Raymarching.
Hi, Thank you very much for the informative videos. I have a question about the application of what is shown here. For example, if I recreate the smiley and assign the light function to a rect light, then unfortunately the rect light does not project the smiley, but a white area. the black pixels of the 5x5 array are displayed minimally small, so that they cannot be recognized, the white pixels then take up the remaining space of my light. How can I make sure that all the pixels are the same size and that the smiley is projected onto the wall by my light?
Light Functions are generally used to adjust the Scale/Falloff of a Light or Intensity/Animation. If you have a Texture in a Light Function it should behave the same as our HLSL Code that Generates the Smiley Face. Try adjusting the Light Function Scale Control under the Light Function Material. This will allow you to Size Down or Size Up the Texture/Smiley Image. You will notice the Smiley then will show up but it won't tile the same as a Texture in X,Y. This is because to ensure proper tiling we have to make sure the UVs wrap/tile seamlessly. We can modify the code like this to do that. --- int gridArray[5][5] = {{0,0,0,0,0}, {0,1,0,1,0}, {0,0,0,0,0}, {0,1,1,1,0}, {0,0,0,0,0},}; float2 uvGrid = floor(uv*5); int x = int(uvGrid.x) % 5; int y = int(uvGrid.y) % 5; x = (x < 0) ? x + 5 : x; y = (y < 0) ? y + 5 : y; return gridArray[y][x]; --- Try that and set your Light Function Scale to something like 150,150,150. 😃
Not really, if you can do the same thing with Nodes. Probably better to do it with Nodes in most cases. Some of the nodes in Unreal are really just using HLSL if you go into them. But there are many things you can do with HLSL that aren't possible in Nodes in Unreal. It also sometimes can be way easier to do things with code than tons of nodes. So its really more of compliment to working with nodes for the basic/intermediate side of things. And on the very advanced end of things you can go as far as creating compute shaders or fully custom materials. HLSL is also not just a Unreal thing it can be used in Unity or any other Game Engine running on DirectX. It is also very similar to GLSL, so learning one or the other you kind of learn both.
i ADDED THE SET MATERIAL NODE AND SELECTED THE M,ATERAIL AS YOU SHOW BUT IS SHADES THE ENTIRE CUBE NOT THE VOLUMECLOUD - ANY IDEAS? - SORRY ABOUT CAPS MY KEYBOARD IS BROKEN!
Thanks a lot ! I don't know why I'm getting this error message "Error: r.AllowHDR is read only!", when I try to put the command "r.AllowHDR=1" in the console... If you have any idea, thank you in advance ! :)
@@renderbucket Yes, this way it seems to work, I was just curious to know why it's not in the console 🙂 Anyway thanks again, your video is THE solution I've found to successfully enable HDR in my UE project 👍😁 What render settings are you choosing to render/export a movie sequence in HDR in Unreal ?
You should do a next-level tutorial showing how to do the City Sample-style office interiors, with occluding geometry. :) ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-xLVJP-o0g28.htmlsi=Kl3PwheMQFhCZ4CL&t=2378