Announcement

Collapse
No announcement yet.

MSSR ★ Modular Snap System Runtime Plugin

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    The example project is updated too, there is a map showing how to setup splines and also how GetConnected work (when snapping stuff everybody connected is re-colored).
    Download here: https://inugames.itch.io/mssr-demos

    Leave a comment:


  • replied
    SeesePlusPlus I fixed the bug and submitted it to the marketplace, I hope it's here soon. I also added an example with splines to the example project, you can already try the demo, I will update the source project too when the marketplace is updated.

    ps: a little video here: https://twitter.com/games_inu/status...54918552207360

    Last edited by scha; 07-05-2020, 03:11 PM.

    Leave a comment:


  • replied
    Originally posted by SeesePlusPlus View Post
    Do you have an example on how to use splines? It says you support them, and I see code in `SearchSocket` that seems to handle `SplineComponent`s, but it's not working for me. I can't seem to find an example in the provided example project.

    To provide some more details of what I'm trying to do:

    - I am spawning new actors with a mouse click and dragging them until they snap to existing actors
    - All of the actors I'm trying to snap together are blueprint actors which have a single child of type SplineComponent under the root SceneComponent. On construction, I add a simple cylinder spline mesh component
    - I was able to get the system working easily with static mesh actors, leveraging `SnapActor`, however this doesn't work by just giving it the actor of the new blueprint actor that has a child SplineComponent
    Hi, I was writing an explanation about how to use splines, then I found that at some moment I introduced a new feature that broke the spline handling, so now I'm fixing that, also adding the preview for spline meshes to the preview actor.

    Btw, how it's supposed to work: the plugin sees the endpoints of the spline as sockets. Their names are the name of the spline component plus number. For example if the spline component is called "Spline" the sockets are called "Spline_0" and "Spline_1". Then, in order to snap an actor containing the spline to something, you just need to add SplineComponent to the SourceComponents array in the snap parameters struct.

    If you want to snap to the spline endpoints, then it's a little bit more complicated. First, you need to add SplineComponent to the Target Components array of the param struct. Then the spline itself has no collision, so you need something with the collision for the plugin to see. If you have spline meshes with collision on the spline then you can use those, otherwise I spawn a simple sphere collision around each endpoint. You also need to add the component class you use for collision to the target components list.

    As a workaround you can put a static mesh with socket placed at each spline endpoint. If you can use this then it's actually faster, because spline handling is special and takes more steps.

    Leave a comment:


  • replied
    Do you have an example on how to use splines? It says you support them, and I see code in `SearchSocket` that seems to handle `SplineComponent`s, but it's not working for me. I can't seem to find an example in the provided example project.

    To provide some more details of what I'm trying to do:

    - I am spawning new actors with a mouse click and dragging them until they snap to existing actors
    - All of the actors I'm trying to snap together are blueprint actors which have a single child of type SplineComponent under the root SceneComponent. On construction, I add a simple cylinder spline mesh component
    - I was able to get the system working easily with static mesh actors, leveraging `SnapActor`, however this doesn't work by just giving it the actor of the new blueprint actor that has a child SplineComponent
    Last edited by SeesePlusPlus; 07-04-2020, 01:03 AM. Reason: Added details of what I'm trying to accomplish

    Leave a comment:


  • replied
    I have 9 sockets all of which rely on same name example (Box, Box_1, Box_2 ect....). I have my actor with one socket (Box) which is able to snap to all those 9 sockets. Now i want to tell this actor to snap to lets say Box_1.....ignoring all the other sockets. could you please help me with that. ive been trying to figure out ways of doing it allday and just dont seem to be getting anywhere.....maybe you could add an option to snap only to socket with a specific tag? Basically i want to prioritize which socket is used first and last etc...

    Leave a comment:


  • replied
    Originally posted by rikuman View Post
    Hey There I'm loving your plugin!!!! But I did have a question:

    How would you save in game the snapping position of the objects?

    Please see below of what I've been working on to make it save


    Click image for larger version

Name:	Capture.JPG
Views:	83
Size:	89.3 KB
ID:	1752521

    I've installed the EMS Save plugin to make life easier but I still can't save the snapping positions.

    Any help would be greatly appreciated

    Thank you for reading!
    Hi there!

    I don't have experience with this plugin but I'm surprised it cannot save the positions. Basically, you need to save which actor it is, where the actor is located (relative transform) and to who it is attached (another actor or nothing if not attached).

    If I would do it manually I would save a list of actors with their relative transforms and their parents, then when loading spawn the actors from the list and re-attach them to each other. If you are using physics you also need make attention to have correct physics state, use "weld" if needed, same like the snapping blueprint you use does.

    Leave a comment:


  • replied
    Hey There I'm loving your plugin!!!! But I did have a question:

    How would you save in game the snapping position of the objects?

    Please see below of what I've been working on to make it save


    Click image for larger version

Name:	Capture.JPG
Views:	83
Size:	89.3 KB
ID:	1752521

    I've installed the EMS Save plugin to make life easier but I still can't save the snapping positions.

    Any help would be greatly appreciated

    Thank you for reading!

    Leave a comment:


  • replied
    Originally posted by unrealjin View Post


    Yeah, I have been trying to do it with this Snap plugin as well. Similar to the games like Fortnite, Russt, etc etc.

    Bring the green outline to the level and then snap to another piece, and on confirmed press button, it will spawn the mesh into the level. Instead of spawning actors and then move around with the actor together to snap it. Feels wrong since the game design be flawed due to situations.

    Have you manage to make this way like you mentioned?
    Hi unrealjin, you posted here too?

    I've started to make the example like those games you mentioned, so far with cubes. Adding new cube will show the preview first, then spawn the real cube when you confirm the placement, or delete it when you cancel.



    It feels pretty nice this way. But it's true that example would be better with real house parts. If somebody knows any house part meshes I can distribute with the example, like public domain or creative commons, let me know please
    Last edited by scha; 03-12-2020, 12:08 PM.

    Leave a comment:


  • replied
    Originally posted by rackley View Post
    Looks superior in a lot of ways to other runtime building plugins for unreal except for one small detail...

    In all of your videos and examples I've seen, the mesh has to exist before you can "snap" it on. Other marketplace build systems provide the blueprint for materializing the pieces out of thin air. What I mean by that is you choose a piece to add to your building or whatever it is you're constructing, it's brought in to the level as a green outline then snapped to another piece, then the normal material is applied. This is the typical user interaction for building houses, spaceships, etc. in games. The player does not typically have all the pieces just laying around on the ground to assemble stuff.

    It looks like this could be built on top of what I've seen in the demo videos but do you already have an example for something like this? If not, consider this a feature request. Is this something that can be accomplished with your plugin or is it for a completely different use case?

    Yeah, I have been trying to do it with this Snap plugin as well. Similar to the games like Fortnite, Russt, etc etc.

    Bring the green outline to the level and then snap to another piece, and on confirmed press button, it will spawn the mesh into the level. Instead of spawning actors and then move around with the actor together to snap it. Feels wrong since the game design be flawed due to situations.

    Have you manage to make this way like you mentioned?

    Leave a comment:


  • replied
    Originally posted by rackley View Post
    Looks superior in a lot of ways to other runtime building plugins for unreal except for one small detail...

    In all of your videos and examples I've seen, the mesh has to exist before you can "snap" it on. Other marketplace build systems provide the blueprint for materializing the pieces out of thin air. What I mean by that is you choose a piece to add to your building or whatever it is you're constructing, it's brought in to the level as a green outline then snapped to another piece, then the normal material is applied. This is the typical user interaction for building houses, spaceships, etc. in games. The player does not typically have all the pieces just laying around on the ground to assemble stuff.

    It looks like this could be built on top of what I've seen in the demo videos but do you already have an example for something like this? If not, consider this a feature request. Is this something that can be accomplished with your plugin or is it for a completely different use case?
    Hi rackley,

    Basically, there are two things. One thing is to spawn the new actor, and this part is easy. You can see an example in BP_PhGrabChar in the screenshot below. The other part is to manage the inventory of assets you can spawn, which includes the UMG menu, the icons, the "database" part and other stuff like that. And this is something different from snapping tool, it's really like an inventory system, it really depends on the rest of the game.

    I wanted to keep those examples very generic, so I didn't do anything like that.

    But, anyway, I will probably make a new example in the future with also this part. I' doing something like that right now in VR, like you can see here: https://twitter.com/games_inu/status...02974600568832
    Attached Files

    Leave a comment:


  • replied
    Looks superior in a lot of ways to other runtime building plugins for unreal except for one small detail...

    In all of your videos and examples I've seen, the mesh has to exist before you can "snap" it on. Other marketplace build systems provide the blueprint for materializing the pieces out of thin air. What I mean by that is you choose a piece to add to your building or whatever it is you're constructing, it's brought in to the level as a green outline then snapped to another piece, then the normal material is applied. This is the typical user interaction for building houses, spaceships, etc. in games. The player does not typically have all the pieces just laying around on the ground to assemble stuff.

    It looks like this could be built on top of what I've seen in the demo videos but do you already have an example for something like this? If not, consider this a feature request. Is this something that can be accomplished with your plugin or is it for a completely different use case?

    Leave a comment:


  • replied
    Originally posted by scha View Post
    Hi Rolento



    45s video is just a joke, you find longer ones here: https://www.youtube.com/playlist?lis...CK_OjALl4E9lM8 and you also have example project with different example pawns here: https://inugames.itch.io/mssr-demos
    Thanks

    looks like I didnt get the joke lol

    Leave a comment:


  • replied
    Hi Rolento

    Originally posted by Rolento View Post
    Hey i looked at your 45 second video to create a pawn that works with the system, and I cannot find any detailed pictures or info on the blueprint nodes you copied + connected in the pawn? is there a place I can find this?

    thanks, loving it so far
    45s video is just a joke, you find longer ones here: https://www.youtube.com/playlist?lis...CK_OjALl4E9lM8 and you also have example project with different example pawns here: https://inugames.itch.io/mssr-demos

    Leave a comment:


  • replied
    Hey i looked at your 45 second video to create a pawn that works with the system, and I cannot find any detailed pictures or info on the blueprint nodes you copied + connected in the pawn? is there a place I can find this?

    thanks, loving it so far

    Leave a comment:


  • replied
    Check it out: somebody used MSSR plugin in an AR app on iPad: https://twitter.com/LideTark/status/1217993491701088262


    Steps to build MSSR for IOS, Android or other unsupported platform:

    1. Copy the plugin to your project: from UE_4.24/Engine/Plugins/Marketplace/MSSR to your project/Plugins/MSSR
    2. Edit MSSR.uproject file in your project and add the platform in WhitelistPlatform list. "IOS" or "Android", etc. depending on your target.
    3. To avoid conflicts uninstall the engine's MSSR plugin
    4. Rebuild your project

    Leave a comment:

Working...
X