With VR it basically just attaches the actor you pick up to the controller component and then detaches the actor when let go, so I would assume it should work no problem.
As far as emulating VR with mouse and keyboard, I don’t think there are any tools to do that.
I’ll let you know how it functions in VR once I can get my hands on the plugin
I was just about to tackle something like this myself for my project. Now I think I will delay implementation of my solution to see if this here comes out in time. I bought your editor version and I am really eager to get this one too. Any estimate as to when we can expect this?
Thank you. I’m a little bit afraid to give estimates Before I said it’s coming soon then something else happens…
My self-imposed deadline this time is to submit before the end of this month.
In this level the search for snapping point and connections is made using the plugin, the rest is in the player pawn, it’s not part of the plugin per se.
There are simulated and kinematic actors. When snapping them together the strategy is as follows:
if the target is simulated then the snapped actor will be made simulated too and attached with “weld simulated bodies” option enabled, so chains of actors are formed this way.
if the target is kinematic the physics on the snapped actors will be disabled too.
Holding of actor is made with a physics handle. When user click on an actor we will grab the top most parent of the actor, unless the shift is pressed, in which case we will detach a weld actor from it parent.
Tried out the demo and it’s made me even more excited for the plugin.
My only question is about the “bridge” parts. When you snap a cube to the base in order to build the bridge, the scale of the cube morphs to match the scale of the base. Is this a feature that can be toggled on/off in the blueprints?
Thank you for trying it! I really want some feedback before publishing it.
It’s a feature, called “scale snap”, that can be turned on and off, as you want.
Basically, there is a parameter that enables or disables it per axis. It can be specified as a global, or per connection point, so you can say ‘I want cubes scale to match the other side, but the pipes should keep their original scale’. Now the scale is something kinda tricky in UE, always local, so use with care!
There is also rotation snap that works the same way, you can specify it globally or per snap point, for each axis. By default Y,Z are fixed and X snaps at 90° increments, so for example if you try to connect the bend pipe to another one you have 4 possible rotations that will work. You can also disable it and just snap locations keeping the original rotation of the mesh.
Let me know if you have other questions, so I know what I should explain when I do documentation.
For the purposes of the VR game I have in mind, I would be disabling the 90° rotation snap feature and just let the rotation stay as-is when snapped. I really like just how customizable and flexible this plugin will be.
Here’s another question for you.
How would the plugin handle multiple snap points being detected simultaneously with the rotation snap off?
Example (image attached):
Let’s say I have some rectangular floor tiles that are 1x2 and they have 6 snap points that align to a square grid. The green dots would be the socket snap points and the transparent green circle is the trigger zone. Would something like this end up in both of the sockets that are being triggered to be snapped together, ultimately aligning the two parts as if the 90° snap rotation was on?
I kind of see something similar happening in the demo when I place the last piece of the tube in its place completing the tube, but is it snapping to both sides or just one?
Pipe is snapping to the nearest pipe. It’s always one snap point to one. But you can override global rotation alignment rules per snap point too.
About snapping to 2 points, I kinda was thinking about something like that, but we managed to build our Japanese village demo level without, so I never really tried to implement it.
I will submit the thing now then we can see what can be improved, otherwise I will never finish
90° rotation snap doesn’t work like that. I made a little video to explain:
I had an idea. Once I submitted the plugin I will make an interactive tutorial where people can change those settings and see which effect they have, like content examples.
I hope I will manage to submit tomorrow. Everything compiles for UE4.20-UE4.22. I started to fill in the submission form.
Let me know what you think of my marketplace page content
Description
MSSR is a plugin that allows for automatic snapping of actors to each other in game. Works with any mesh or actor, connection points are simply defined using standard UE4 sockets.
Watch videos (TBD)
Download demo (TBD)
Useful for:
In-game building systems like player built houses, furniture, roads, rail-tracks, racetracks, bases, spaceships, fortifications, etc;
Puzzle games that require placing or connecting objects in certain way;
In game placement and moving of actors in general, like “put book on the shelf”, “put the key into keyhole”;
and more…
Technical Information
Features:
Based on the concept of snap points defined using standard Unreal’s sockets
Works with static meshes, skeletal meshes or any other type of actor supporting sockets, also works with splines. Supports snapping of multiple actors
Highly customizable, settings can be adjusted for each snap point
Integrates with game’s object placement, movement and selection systems (i.e. how objects are selected, moved by the player in game); example implementation is provided
Can be used in first person, third person, top view, VR
Easy to use, contains automatic preview actor and helper nodes for smooth snap
Thank you Wolfgang! I think I will do something like that.
I will make the example level with the usual content examples rooms and use that for screenshots.
It looks better than the default material and also there will be already the text in the level.
It usually takes them some time to start reviewing, so I can submit now an make the exmaples/screenshots during this time.
I’m standing ready with my wallet, but for what version will it be? I’m trying to update my project from 4.20 to 4.22 and Unreal crashes right and left, I am about to end my update history with 4.20 it seems, when Unreal has become so buggy that it can’t even load a project anymore, so unless your plugin will compile with 4.20 I can’t use it
Are those examples with cubes okay or I need to make something more realistic, like houses with doors and stuff like that?
Won’t people think “Meh It’s just cubes”?