Ok, so I have target. In the beginning of the level, the target rotates down, when the user shoots it, the projectile hits the target, and the target goes back into the bActive=false state. This part works fine. However, what I’m running into is having a scoring system. Currently, the mesh has it’s own collision mesh, and in the actor BP, I have another collision mesh to detect that the target has been hit (which triggers the deactivate event). This works as well.
The part I’m having issues with is the scoring aspect. At the moment, I am using a center collision box, then another, and another, with varying XY scale factors to surround the scoring area. This part does not work. Here is a sample of a target, hopefully it can be visualized what I want to do:
You could set up different surface types for the different point-areas, then you get the surface type from the hit and allocate score base on that.
So instead of "metal, “dirt”, “water” and stuff that games usually work, you could have “target10p”, “target9p”, etc. They’d all have the same base settings, with hit effects of paper or whatever, but you could make specific stuff like the points be set using a surface type switch.
Any other recommendations? Arcade’s recommendation doesn’t seem too bad, if the material (the target) was divided into separate meshes / materials. As it is now, the target is just a plane (more or less). Adding in multiple meshes and materials like that would, I suspect, add unnecessary drawcalls which I want to avoid.
You could use some maths, calculate in wich section of the target the hit happens based on the distance from the center. As the target areas are not square, it would require a bit of maths but its possible.
But I think what Arcade said is the best option, setup different material ID on the mesh, each section would have its own material with its own surface type, then you can get wich surface type was hit and manage the score this way. I do not believe this would affect performance so much.