Hi,guys. I am working on a project that i need to show a ring on the ground where my mouse points to mark the boundary of the actor skills.Just like the picture i got from wow. But right now I have no idea how to make it. Please help me.Thanks!
you can use GetHitResultUnderCursorByChannel/GetHitResultUnderFingerByChannel (see like it is done in Top Down template) or you can use ConvertMouseLocationToWorldSpace - that will give you a point and a direction where to do a line trace.
In either way, you will get a hit result with an intersection point. A normal to a surface will give you an orientation of your ring to display.
Thank you!I will have a try.
And I want to know whether the world direction means the normal?
If I understood your question correctly, world direction would mean a direction where your cursor is pointing to. When you deproject a mouse cursor (2D on screen) into 3D space, UE will give you a location and a direction, then you make a trace like: from location, to location + 10000*direction. “Normal” in hit result would be a normal to the surface you hit, so you can rotate your ring to place it flat on a surface. In fact, if you already know how it should be rotated, you can skip that step an pre-position your ring on the surface in design time. In this case you just need to know the intersection point and position your ring there.
But I need the ring follow my mouse when I drag it, so I can’t just get the normal when it comes a"hit".And sorry ,our school’s network was mulfunction yesterday ,so i can’t reply you on time.
what I mean is if your surface is flat, you do not need to rotate it, just position. You still need to do all of the above to get intersection point.