In this case, v1 - v2 will give you vec3. You can break it and get X,Y,Z values. You can then display it in a widget at hit location projected to screen location. That should work.
Cool, thanks! v1 and v2 are in fact my Loc1 and Loc2 variables, correct?
Seems like it works, but there’s a deviation. What should return as delta X = 3m is actually being printed as 5.196m. In the editor, block A is at X120 Y-200 Z200 and block B is at X420 Y-60 Z200, so difference of X is 300.
The “Delta X: 300” is just a static text render so I don’t forget what delta X should be.
Here’s my blueprint:
Which leads to the widgets and prints for each individual delta:
So every Delta print has a deviation by the way, factor ~1.7 for what it’s worth… what gives?
It seems that you are still using vector length for this and convert the float back to vector. If you measure a vector, it will give you a distance from 0,0,0 to the hit point. So you’re seeing 5m from the centre of the map most likely.
There’s no need, it’s actually simpler than you think. You will need absolute values of XYZ for this since distance is always positive.
Also, you can skip MakeLiteralFloat node, I just used it to hard-code a value.
edit: In case you were wondering, you can right click struct pins (like the vector, for example) and split them instead of breaking, they need to be disconnected first, though. Saves screen space which can be quite invaluable with blueprints.
edit 2: You can also try experimenting with pushing more than one line of text into a widget’s text block:
Untested but should/could work.
Implemented all of your tips and changes and tweaked the ToText (float) so I have three decimal places all the time. I am pushing several lines into one widget now as well. This is really working great and cleans the blueprint up so nicely as well. Learned so much again, thanks a lot!