Sam Dieter is on to talk about a powerful new feature from the 4.13 release, Blueprint Drawing to Render Targets! There are limitless applications to such a versatile tool, so Sam will give a basic overview and explain how it can be used for general purposes. Also, be sure to check out the BlueprintRenderToTarget map in the ContentExamples project for more working examples!
Feel free to ask any questions on the topic in the thread below, and remember, while we try to give attention to all inquiries, it’s not always possible to answer’s questions as they come up. This is especially true for off-topic requests, as it’s rather likely that we don’t have the appropriate person around to answer. Thanks for understanding!
Can this also to alter the collision and/or navigation of the surface? *(via displacing the surface creating tall mountains and deep ravines, but with collision) * If so, how would this impact performance?
Could it be used to permanently affect the terrain of a map (scar the surface), without need to “garbage collect” the scars, creators, and mountains? (Example: typical method used Decals to create creators from explosions or impacts, then are later erased to save memory. Could Drawing to Render Targets be used instead, to allow the cumulative creator count to build up throughout the match without the need to erase them to save memory)?
In the content example, the surface normal which you paint on remains flat, even as the ground becomes mountainous you still have to aim down at the floor surface to continue painting. Can users alter this behavior so the player has to aim at the “visual raised surface” instead of the ground that it sits on?
Mountainous surfaces get clipped out of the scene if the ground surface is out of view. (Example: The mountain you painted disappears if you look “up” too far, because the ground is no longer in view) Can users alter this behavior so the raised surfaces remain in view even when the ground is not seen?
I have been waiting for this for 2 years! One questions though: how can we create render target in a blueprint with certain format? E.g. I need only 1 channel to render height field.
Cool! Would it by any be possible to do a breakdown of the examples? Like, briefly explain what does what? It would help me to better understand the examples, and the math involved.
IS it possible to use this technique to render liquid inside an object like a glass bottle? I’m looking for a solution that can give the illusion of gravity acting on liquid in a half filled glass bottle.
Is there a way to directly convert overlap collision to texture? - Specific scenario: An energy shield that registers overlaps with bullets, but lets them through. The Bullets should then cause wave-like ripples in the energy shield.
It would be even more impressive if the initial shape of the ripple has the exact shape of the projectile.
simulator actor blueprint simulates array of droplets (which are just blueprints based on UObject)
Then I’m using render to texture for each droplet (basically just drawing the quad in certain place with certain rotation, i.e. like drawing particles), producing heightfield as the result
Convert heightfield to normal map, assemble all the data and write to the final render target which is fed to special post processing material which draws droplets on the screen (I’ve had static droplets for a long time, but now I can create animated at runtime).
Although the “simulation” is not physically based, it’s clever moved and rendered quads with no physics at all
Question: Is it possible to make a material change (say change colour) based on the position of another actor in the scene? For example making a wall turn red as another actor moves across it as if painting the surface. It looks possible from the whiteboard example.
I am not going to be on this time but perhaps sometime soon. In the mean time I have uploaded a blog post talking about methods for dilating UV layouts to use with mesh painting. I will be posting another one soon showing how to use parallax occlusion mapping on curved surfaces by using the render target tool to bake out transform maps.
Is there a way of rendering rectangles to the render target, so you don’t have to redraw the whole render target every time you update it with a material?