Terminology of allowing user to "connect objects"

Hi,

I’m starting a new project and currently doing some research on how I will develop some of the features I have in mind.I’m struggling to find any leads on one particualar feature.

A part of my project will involve connecting multiple objects together, see poorly drawn image. The green connections will be drawn by users with the red crosses (Nodes) being autogenerated or manually placed. This video shows something similar also.

In terms on set-up, I plan for these to be 3D objects views in a 2D plan and the connections be actually objects not widgets or overlays.

My question is, I have no clue where to start with allows the users to draw these connections with a mouse, what node to use etc and google yielding no results apart from widget lines. Any tips or terminology im missing to allow me start working this out.

Many Thanks
Joe

You’re looking for splines, these work in tandem with spline mesh components and can deform a piece of mesh which can then be textured. It will be also very easy to work-in the bendy bit - like the wires in the UE editor.

It sounds more complicated than it really is but working with splines does take some time to get used to.


Another option is to use ribbon particles. But I feel splines would be easier to set up, maintain and allow for more overall control.

2 Likes

Thanks you, I’ve starting to make progress…

As you said, Splines seem complicated. I’ve managed to create a spline blueprint which works in the editor. Quite a hard one to get your head around.

No clue how to get in for users to draw but Il stick with it. Thanks again!

1 Like

In case you get stuck, have a look at this:

Basic functionality that should convert to UE5 easily. It still needs a ton of features to make into what you need, here’s hoping it could inspire you a little though. The collision channels are set up so there’s no ambiguity what can detect what - the dragging script and collision detection is in the Level Blueprint (should be moved to the player controller).


Project link: