Hello!
I am trying to make a slider but it will not be a widget, it will be a physical thing. To demonstrate what I want to do, I’ll provide some screenshots
Each one of the items Easy-Medium-Hard-Back are a static mesh that takes the section as a parent. The text renders take their own slice as a parent, same goes for the tick icons. Now what I want to do is when I click on the tick icons, I want to slide them on their own local space. For each tick icon, the position and rotation are identical: 40.0, -420.0, 30.0 and when you change the value on the Y axis, they get close to center, so the Y axis is the thing to manipulate.
For this purpose, I used this algorithm:
- When clicked on the tick, turn a boolean on
- On each tick if the boolean is true, by using the ConvertMouseLocationToWorldSpace node, get the world location where the mouse points
- By using the Inverse Transform Location node, convert it to the local space of the tick mesh
- Change the Y axis of the location of the mesh with the mouse pointer
Now everything looks alright but here is the blueprints and what I read the values as:
http://pasteboard.co/1qmwZOMn.png (Inverse transform provider is the tick mesh) Value is: 529, 624, 8
http://pasteboard.co/1qmFCmvh.png (Inverse transform provider is the parent of the tick mesh) Value is: -33, -200, -519
And here is the closest value I could get, I found it out by accident. Basically on the first blueprint screenshot, if I connect World Direction pin of the ConvertMouseLocationToWorldSpace, then the value I get is: 40, 420, 10 (Thickness of the tick mesh is 20 so this is the surface value). Now this can be used yes, but the problem is, when I move the mesh at this moment, the direction value changes which pushes the mesh on a constant speed towards the direction I am moving my mouse, it is like applying a force to it.
What is wrong? Why cant I just get the value 40, -420, 30 from any of my attempts (Last one doesnt count I think). Is there any other way I can follow if this does not work?
Edit: I found out where I was wrong, so the world location for the mouse is considered to be the surface of the camera, so it is behind the object, not projected on it. So now I am facing a new problem, I need to project the mouse pointer on the object by using line traces, but somehow it just doesnt work.
Here is the setup I used for it:
The mesh I set the collision for is the slice of the tick I am clicking on and here is the debug line for the trace, it obviously hits it, but that doesnt trigger the line trace