Download

How to Draw on Runtime generated Surfaces? (Find Collision UVs of a Procedural Mesh Component doesn't work)

My goal is to build a system through blueprints that enables enable the player to draw on surfaces that are created at runtime.

The approach i am using is the one proposed by Epic in thisLive Training Video using Render Targets while creating the drawing surfaces at runtime using the Procedural Mesh Component.

All neccessary settings have been applied (Support UV From Hit Results, Restart Editor etc.), Materials and Blueprints have been prepared according to this Tutorial

I’ve broken it down to the most simple setup i could think of: Inside a BP Actor -> Add Procedural Mesh Component -> Generate Box Variables (Vertices, UVs etc.) -> Add A Mesh Section with collision using these Values.

https://answers.unrealengine.com/storage/temp/231293-bildschirmfoto-2018-02-20-um-180521.png

When creating this mesh through the Construction Script it will work right away!
Moving exactly the same nodes over to the Event Graph and running them on EventBeginPlay instead (or later on) will break the Find Collision UV functionality - it will return 0,0.

Collision seems to work fine, even when the mesh is created through the Event Graph. I’ve tried to turn on and off pretty much every setting related to collision, physics and UVs but i can’t get the “Find Collision UV” work with meshes created at runtime.

Can anyone provide any insight on this? Is it a bug, developer intention, or is it just not possible for some other reason? Let’s find out what’s wrong! Or maybe anyone can propose a feasible workaround?