Hi, I’m bumping this up again since I have a few more question regarding this topic.
First of all, I tried using the UProceduralMeshComponent in order to create quads and it indeed worked when providing the list of vertices as mentioned.
The challenge in my situation is that when I create the procedural mesh I don’t have all the vertices, but only the position of the center of the quad.
To be more specific I have a data structure, or for simplicity lets say I have a text file with the world coordiantes of a point cloud.
Each of these point I want to translate into a camera facing quad in a certain predefined size (given in view coordinates).
For example: given the coordinates X1,Y1,Z1 and the variable “quadLength” I would like to calculate the poisitions of the 4 corners of the quad so that in view space the distance between two adjacent vertices will be “quadLength”.
If I were to do this in OpenGL for example, I would pass the center coordinates to the shaders and use the geometry shader to calculate the vertex position in view space but multiplying by the worldView matrix, then adding “quadLength” / 2 in order to create each corner in view space and then multiplying by the projection matrix when passing to the fragment shader (or multiplying by worldView inverse if I wanted the world position of each vertex).
I’m not sure what is the right way to do this here, as in order to create the procedural mesh I would need these vertices before passing the geometry to the GPU.
I looked at getting the camera view and projection matrices through c++ but it seems that I can only access camera view and projection parameters but not the matrix itself, at least without changing engine code.
I also looked at the option of using UE4 billboards but I’m still not sure how to generate a billboard for each point I have in C++ but more importantly I’m not sure if its the right thing to do performance-wise.
What do you think is the right way to achieve my goal?
Also its important to note that I will also need a way to apply a texture or at least a region of a texture to each of this quads according to its world coordinates.
I know that this scenario is rather unusual for UE4, I’m trying to assess here if UE4 is the right tool here or I should maybe try a different engine (I already succeeded at doing this in Unity but I like UE4 a lot more for all the tools its offering me).
I really appreciate your help on this,