Search Unity

[RELEASED] Snap-and-Plug: join anything to anything

Discussion in 'Assets and Asset Store' started by a436t4ataf, Sep 15, 2014.

  1. lighting

    lighting

    Joined:
    Dec 21, 2011
    Posts:
    42
    Hi,

    After a long pause from Snap&Plug, I've returned to version 2.2 and see it supports runtime now. Horray ! :)
    One thing, that I've observed and like to clarify - why on every scene I had and during creating new scenes I've got "Snap And Plug SceneData" GameObject with SnapAndPlugScene script attached ?
     
    Banksy likes this.
  2. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    There's a big update coming over Xmas too - I've cleaned up a lot of old API calls, improved a lot of automatic things (that currently you have to script / keep in sync by hand) etc.

    The GO is because that is the only officially accepted way (from Unity!) of plugins like SnP working correctly and running correctly both in Editor and at runtime. Without it, you get occasional data loss and corruption, you get bugs I can't fix for you, etc. With it I'm able to prevent that and give much higher performance - all without users having to do anything. NB: I was originally using a hack that made this invisible within the scene (which Unity doesn't suypport, but knew about and silently allowed) - but that hack is dangerous; if I ever make a mistake, you'll have an unknown invisible uneditable object polluting your scene. Also ... it didn't play nicely with runtime / in-game editing.

    I decided it was much safer to make it visible. It's a little annoying, but until Unity fixes their handling of plugins I don't know how else to do operations safely - I've tried a whole bunch of things. They either fail because of Unity bugs, or fail because of half-implemented Unity Editor API's, or fail because you can't access them at runtime (unfortunately there's a lot in this category!).

    At the moment, it seems a very small price to pay - most Unity scenes have vast numbers of placeholder objects etc in them. If I find a better way - and which definitely works in all cases - I'll happily replace it.
     
  3. lighting

    lighting

    Joined:
    Dec 21, 2011
    Posts:
    42
    Thank you for so detailed explanation. It's fine with this GO on the scene. First I thought that only scenes using Snap & Plug mechanism would require this GO, however plugin is part of Unity, not the scene thus probably all scenes will contain that.
     
  4. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    Yeah ... originally I had it that it only added to scenes that had at least one Snap and Plug object in. I had some edge cases where that meant it failed to notice you upgraded Unity (and so failed to tell you if you needed to upgrade SnP too).

    I think those are all fixed now, so I can probably move back to "only create it in scenes where there's already a SnapPiece". Maybe I can make it an option.
     
  5. lighting

    lighting

    Joined:
    Dec 21, 2011
    Posts:
    42
    Hi,

    I'd like to ask you how to implement real-time generating of SnapSockets and setting proper Joint types for them.
    The scenario is following:
    I'm reading form text file geometry data, basing on which I'm creating GameObject with 3D shape dependent on read data.
    Now, I'd like to add SnapPiece component to such GameObject and place it in specific place - e.g. where the shape wall big enough.
    What I do in code is:
    Code (CSharp):
    1.             SnapPiece snapPiece = masterGameObject.AddComponent<SnapPiece>();
    2.             SnapSocket snapSocket = snapPiece.CreateSocket("first");
    Could you help me please how to properly set Joint type ?
    I'm trying sth like:
    Code (CSharp):
    1. snapSocket.sharedJoint = new UniversalJoint();
    However I'm not sure if this is correct approach because I don't see joint type in inspector:



    Thanks !
     

    Attached Files:

  6. lighting

    lighting

    Joined:
    Dec 21, 2011
    Posts:
    42
    I've done it with prefab approach instead. Thus now, I'm loading prefab and it looks fine:
    Code (CSharp):
    1.             UniversalJoint universalJoint = Resources.Load("Universal") as UniversalJoint;
    2.             snapSocket.sharedJoint = universalJoint;
    If you will develop further version of this handy tool, please add some API methods for handling snapping from code :)

    Thanks and Happy New Year !
     
  7. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    That works - the key thing you need to know is that joint-types are ScriptableObject (not MonoBehaviour).

    This is a requirement from Unity - without that, lots of weird things happen.

    If you know how to use SO's already, it's easy. As you discovered, one way of creating and assigning SO's is via Resources.Load.

    You can also create them in script, but you use "CreateInstance" (it's a Unity method for creating them, lots of resources on web + forums about how to use it, it's pretty simple). However, I would strongly recommend never *creating* them in script, only *assigning them*.

    ...i.e. create each joint-type in your project, in the Editor. Then assign them at runtime / in scripts.
     
  8. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    There's a BIIIIIG update coming very soon (I'm hoping to upload to Unity this weekend ... then about 1 week for them to approve it) that adds lots of new + improved methods for scripting the snap.
     
    Camagine likes this.
  9. lighting

    lighting

    Joined:
    Dec 21, 2011
    Posts:
    42
    Thank you for all above information !
     
  10. Camagine

    Camagine

    Joined:
    Sep 11, 2014
    Posts:
    6
    Hey will that BIIIIIG update be coming out soon?
     
  11. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    I'm still testing the changes.

    However, anyone who wants a pre-release copy, feel free to email me (or email the support address) with your Unity invoice number (not necessary if you've already emailed me in the past, I have it all in a spreadsheet), and I'll send you the current build.
     
  12. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    UPDATE: my flatmate ragequit and destroyed my desktop where I do all my Unity development. So until I can buy a new one, all I have is iPad and a 7 yr old laptop :(.

    I get paid next week, so hopefully I'll be back and submitting the final build to Unity, live on the store by the end of this month.
     
  13. Camagine

    Camagine

    Joined:
    Sep 11, 2014
    Posts:
    6
    So unfortunate to hear about your laptop. How are things coming back together? I want to use this in a new app soon, will you be back and running soon with the newest update?
     
  14. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    Version 2.2.9 has just been submitted to Unity.

    Key points:
    • lots of bugfixes, some of them quite major, based on edge-cases that people discovered (some of these are subtle bugs that have existed for a long time!)
    • lots of Obsolete tags added -- there's legacy methods that no-one should still be using, they now have better / faster replacements, so the obsolete tags will warn you if you're still using them. Upgrade / replace them now - they may get removed / unsupported in future versions
    • lots of refactorings and API improvements (many new API calls) in preparation for v2.3.0
    • Improved the About / help dialog for new users
    I am still working on an example scene to show how to use the new API calls. But I didn't want to wait any longer on the bugfixes (that should be useful to everyone).
     
  15. suvaneethan

    suvaneethan

    Joined:
    Mar 24, 2017
    Posts:
    3
    Hi,

    I purchased this plug-in a couple of days ago. I am working on a small interactive module where I need to include snap feature to the objects available on screen to my users. I have used "Universal" joint and achieved this feature. However, the other functionality needed is that I should let my users to split the objects which are joined. Is there a split feature available in this plug-in? I would appreciate it a lot if you could let me know the details?

    Thanks.
     
  16. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    There's several ways to split. Can you be more specific? This is in-game, right? (not in editor)

    There are direct API calls on the SnapPiece (methods to DisconnectAll) and on the individual SnapSockets (Disconnect) that you should feel free to invoke in response to whatever user-input you have that triggers a split.

    You can even use the Unity-physics joints (instead of UniversalJoint), and use the standard Unity methods for detecting breaking forces - e.g. https://docs.unity3d.com/ScriptReference/Joint.OnJointBreak.html - although I don't have a demo for this yet, I'd like to make one in the future.
     
  17. suvaneethan

    suvaneethan

    Joined:
    Mar 24, 2017
    Posts:
    3
    Thanks very much for such a quick reply. I appreciate your inputs. Let me try your suggestion and keep you updated.
     
  18. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    Version 2.3.0 now in beta:

    - Built-in drag/drop features for in-game deployment (previously provided as standalone scripts)
    - GREATLY improved drag/drop system in-game (previously only a simple example for basic games)
    - Drag/drop now supports VR (NB: no VR demos included - I have to test this on more VR headsets first)

    @suvaneethan - I've also added a tickbox where you can automatically make things split when you click on them. In script, it's one line of code that you can change every time the user clicks, so you can add your own logic for when you want them to split versus move the whole group.

    NB: this is in beta right now! I'll be sending an email to all registered beta users soon, but if you're not on the beta-testers list (haven't joined a previous beta), email me now with your Unity Invoice number / registration code and I'll add you to the beta. adam.m.s.martin at gmail.com
     
  19. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    Web-browser Demo of the new in-game drag-drop system, using default settings:

    http://t-machine.org/web/sap-betas/sap-glue-demo

    (NB: I expect you to customize this for your own game! But this is how it runs with zero scripting, out-of-the-box)
     
  20. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    wow.. finally VR support. Nice one ;)

    I've been following along for sometime now & am looking forward to implementing this into my game. I'd like to snap car parts together and then race the cars on snap together track pieces.
     
    Last edited: May 6, 2018
  21. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Just testing a simple V.R scene using the Vive.

    I created two cubes and added snap pieces and a " universal " to each. They snap in edit mode but during run-time. I'm able to pick up and move each cube but they won't snap when in close proximity.

    Q. I have a car that I would like to build. After all parts are snapped into place does the assembled vehicle then sit in a group hierarchy ? The reason I ask is my vehicles main body & wheel colliders have torque applied to them when the player pulls a trigger.

    note: I'm currently not using the latest beta version of SnP that supports V.R - ( hoping to test it out in coming days )
     
    Last edited: May 9, 2018
  22. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Ok so I have the Beta version open... The SnP example uses mouseDOWN() for dragging wall pieces but V.R makes use of hand controllers.

    I've swapped out the FPSController for a Steam based FPcontroller as it has hand controllers & then see if I can get each controller to interact with the wall blocks.

    [EDIT] I can pick up a wall piece... now let's see about snapping each block.. onMouseDown() to move blocks is not required... All I require is the snapping once the universal connectors touch.

    I can;t find anywhere in the " InGameSnappable.cs" script that allows snapping ?

    I notice there's several .dll files - such as SnapSocket.dll.

    I can't access these so am looking for which method is used to snap sockets.. help please
     
    Last edited: May 10, 2018
  23. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    Yes - the editor functionality is always-enabled, because it's under your control.

    If you want in-game snapping, you have to turn it on. Think about it: e.g. if you build a level you definitely don't want your players disassembling / rebuilding it in-game!

    Also, different games will need different kinds of snapping -- do you want FPS, or RTS? Do you want always on, or enabled when the player collects a certain gun? etc.

    C.f. the demo scene in the beta for in-game snapping: one new component is added to each piece to enable in-game snapping (off the top of my head, I think it's currently named "InGameSnappable" in the beta :))
     
  24. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    You have two options here, one of which is specifically designed for the situation you describe (I used it to build vehicles that can break apart if the forces become too strong).

    Most of the time, you use Universal Joints, or a custom joint that extends the default joint. This groups things in Unity and torque etc won't have effect (exactly the same as normal Unity: when you group objects together, Unity treats them as a single solid object that cannot break apart).

    Alternatively, you use Physics Joints (I pre-created all the ones you need, and they're included in the Joints folder). These automatically create Unity-Physics joints each time they snap together (and destroy the physics-joints when you take them apart). This way, Unity treats your object as a collection of physics-linked things, and e.g. exerting torque on one will turn the other ... or snap the connection if it exceeds the max-torque you've configured in the Joint.[/QUOTE]
     
  25. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    Yes and no :).

    Yes -- the beta-version demo directly uses mouse events, where it should instead use abstracted calls that default to mouse, but can be VR instead (it's a beta :), and the VR support is work-in-progress).

    NB: this works fine - you can extend the class yourself (all the methods were made abstact, so that this is very very easy to do) - but it would be cleaner if I included a pre-written VR demo class too.

    No -- we can't use hand-controller API directly either! Most people don't use VR controllers: they are incompatible across different VR hardware, and don't allow mouse / gamepad interaction (e.g. for debugging, or for times when you want to play the game without the headset). Instead, best practice is to write a wrapper that lets your game ignore whether there is a VR headset.

    NB: in the long run, I expect individual developers to write their own subclass/replacement of InGameSnappable that implements whatever specific VR settings you want for your game.

    99% of the magic is in DragDropAction3D (this might have been renamed in current beta -- that was the name from the private alpha release, I wanted to rename it but can't remember what name the beta uses).

    The InGamSnappable is a thin wrapper that converts mouse-input and mouse-over (allows the game to hilight items on hover) ... and then creates a DragDropAction3D to do all the hard work.

    NB: you can subclass DragDropAction3D if you want to do something advanced, the methods that are replaceable all have sensible names, but this is not recommended unless you want to do deep customization.

    NB: you SHOULD subclass InGameSnappable -- or re-implement it yourself (it's a small class) -- to provide different input controls, or to change the behaviour (e.g. enable/disable snapping based on the player's "power reserve" or whatever features you have in your specific game for allowing snapping).
     
  26. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    It's now called " DragDropAction3DWithGhost " I will try to call this instead. i think this is all I need to call once the sockets make contact.
     
    Last edited: May 10, 2018
  27. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    That sounds right - it's a better name (since the class handles creation + management of the ghost/preview objects too).

    NB: look at how InGameSnappable calls the methods in the DragDropAction3D... thing -- there's only a few that are required (ones to start the drag, one to cancel the drag, one to confirm the drop, etc), but you do need to send those calls to the DragDropAction or it won't be able to manage its internal state enough.

    (also, you can of course implement your own system for handling in-game snapping - you don't have to use the DragDropAction3D stuff. It's designed to be replaceable with your own implementation, as well as extensible. There's something like 3,000 lines of code in there, so it's quite complex)
     
  28. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Quote " you don't have to use the DragDropAction3D stuff " ... Ok on reading over your last message I understand it as.. "stuff" as in.. I don't have to call certain DragDropAction3D methods such as when using onMouseDown. I just need to access... methods in DDA3D.cs

    But I notice DDA3D is not using monobehaviour ie.

    public class DragDropAction3DGhost : DragDropAction3D

    all is being derived from DDA3D (Ghost is only for the material outline )
     
    Last edited: May 10, 2018
  29. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Is it correct when I say DragdropAction3d is derived from the SnapAndPlay.dll file

    #region Assembly SnapAndPlug, Version=1.0.6679.29510, Culture=neutral, PublicKeyToken=null
    // C:\Users\User\Documents\Unity Projects\SnP\Assets\Plugins\SnapAndPlug\SnapAndPlug.dll
    #endregion

    using System.Collections.Generic;
    using UnityEngine;

    namespace SnapAndPlug
    {
    public class DragDropAction3D
    {
    public bool DEBUG_DropAction;
    public GameObject draggedObject;
    public ISnapObject draggedSnapObject;
    etc...
     
  30. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    Quick summary:

    1. DDA3D: a custom class with tonnes of internal logic that handles "all the difficult stuff needed to provide a drag/drop kind of action in a 3D world, where the user can rotate the dragged item, and make it use different snapping points in realtime, with the ability to cancel, or accept, the results"
    2. DDA3D is closed source, like the whole of SnapAndPlug (I am planning to do a Pro version with source code access, but it will be a lot more expensive. The amount of time and money that goes into writing the source code is many times more than I get back in AssetStore revenue).
    3. DDA3D is designed to be subclassed for special cases - the DragDropAction3DWithGhost is an example I include in the project to show how you can add the preview/ghost system on top, with simple code. The snap-preview system I implemented there is simple but most games probably want to write their own version that fits with the look and feel of your game (e.g. steampunk vs fantasy vs space RTS). I'm providing an example that is good enough, that works, and is easily replaceable or extensible.
    4. ... I am considering making some optional add-on modules that provide e.g. a snap-preview rendering that's much nicer to look at and customised for an RTS, and then charge e.g. $5 for it. That way, people who don't want to write their own can get swappable ones, but the price for everyone else doesn't increase.
    5. SnapAndPlug has been designed so that ALL the code in DDA3D is optional: you can ignore all of it, and implement your own complete in-game solution (NB: you only implement the in-game GUI parts: you re-use the existing SnapAndPlug API's to do the actual snapping, the measurement, check if things connecte, etc). When I say "you don't have to use DDA3D", this is what I mean: if you want to write your own in-game controls, I've made sure everything will work fine: there will be no compatibility issues.

    (also: any feature of SnapAndPlug that DDA3D is using behind-the-scenes is ALSO exposed as a public API within the SnapAndPlug APIs, so you have access to all the same stuff I had access to! But remember that DDA3D is a huge chunk of code, so I don't recommend rewriting it yourself unless you have very specific needs, and a lot of spare time)
     
  31. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Quote - " look at how InGameSnappable calls the methods in the DragDropAction3D... thing -- there's only a few that are required (ones to start the drag, one to cancel the drag, one to confirm the drop, etc) "

    Is it correct when I say that "dragDropSnapMode" is the method I need to access ??

    "public DragDropAction3D(Material m, DragDropSnapMode sm, float maxSnapDist, bool unGroupOnDrag = false);

    All I'm trying to work out is which method snaps after the collisions happens between the sockets... this will help me heaps. I can move the brick walls, all I need to do is see which method I need to call that does the snapping action.

    Once I get this up and running on the Vive Controllers I will send you the example scene so you can make use of it for future ref.

    BTW.. I appreciate the help you've provided me to date.. I really look forward to the open source version.
     
    Last edited: May 12, 2018
  32. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    Here are the methods on DDA3D that you must call from your code:

    public DragDropAction3D(Material m, DragDropSnapMode sm, float maxSnapDist, bool unGroupOnDrag = false)
    public void StartDrag(GameObject dgo, IDragActionSource optionalSnappable = null)
    public void UpdateDrag()
    public void TriggerDrop() // ACTIVATES the drop and processes it

    The constructor args are:

    1st: Material used for showing the ghost object that you're moving around / previewing
    2nd + 3rd: how close things have to come before they "snap". The DragDropSnapMode lets you choose between 3D distance (Unity world space), or 2D pixels on the screen.
    4th: enable/disable the feature where dragging an item pulls the whole object with it, or auto-disconnects it before dragging it.

    StartDrag should be obvious: you give it the object you're dragging.

    UpdateDrag is designed to be called from within a MonoBehaviour Update() method (hence the name!), although it doesn't have to be.

    TriggerDrop should be called when the player clicks to confirm the position, as it performs the snapping. NB: it will only work if the preview object was close enough to snap!

    Internally, that method:

    1. Decides if anything needs to be UNsnapped (e.g. if you're removing something from one group and adding it to another - by default, this won't happen, but there are cases where you want to force it)
    2. Uses the internal data it has to decide which sockets to snap, and how to snap them
    3. Invokes SnapSocket.SnapTo( ... ) to do all the snapping

    NB: that last method - SnapTo() - is the one that is used by all code, and which you should use if you want to do snapping from script. Every SnapSocket has this method:

    SnapSocket:
    public bool SnapTo( SnapSocket otherSocket, bool makeConnections = true, bool removeFromOriginalGroup = true )

    There are a lot of other public methods in SnapSocket that should have obvious usage, and your IDE should autocomplete them for you. I don't know if the API-docs are automatically included by the build-process (they should be, but I haven't checked recently). I may need to manually re-export them and put them on the website.

    PS: my web host got hosed when we upgraded to MariaDB (it's a known bug in MariaDB), and I had to restore from backups. I discovered that the images weren't being backed-up, so the site is missing all the images, and I haven't had time to re-create them.
     
  33. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    appreciate the reply.. I'll look into it now. ( 2am here just can't sleep so time to learn more code )

    bumma about the site dropping out. that's gotta hurt. as long as the links are there is what matters..
     
  34. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Wow... I have it operating with the HTC Vive controllers. ( I used no coding. - VRTK event handlers ) it's not perfect as after a few snaps the group jumps to a different location. Also only works on blocks that are not spawned... hhmm ? NB. I still plan to apply custom coding.. jsut thought it was interesting it does hook into VRTK.

    I'll post a video shortly.
     
    Last edited: May 13, 2018
  35. ashomran

    ashomran

    Joined:
    Mar 4, 2017
    Posts:
    13
    good day i am a bit designer not coder and i bought this asset today i cant even find any tuts for it i dont know what socket meens or joint?
    is there any videos explain this asset?
     
  36. ashomran

    ashomran

    Joined:
    Mar 4, 2017
    Posts:
    13
    update: i mean while runtime..
    i need to get documentation for the asset
     
  37. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    @ashomran - When you download and install it inside Unity, you should get an automatic popup with the asset logo and a help screen and links to more info (youtube videos etc). Did that not happen?

    Look in the plugin folder and there's a large PDF doc with screenshots, tutorials, links to the YouTube demo videos, descriptions of the example projects. There are also example projects each showing off one or more of the main features.

    (anything that still doesn't make sense, feel free to ask her or email me)
     
  38. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    @Banksy how did you get on, did it work OK in the end? I haven't had any bug reports about groups mis-snapping - if that's still happening, can you send me some details?
     
  39. ashomran

    ashomran

    Joined:
    Mar 4, 2017
    Posts:
    13
    @a436t4ataf i did not get any popups at start and i tried to get into your website it looks like word pad now and there is no videos there, i tried to read the getting started file too but i cant figure out how to make a snappable object without your demos for runtime method
     
  40. ashomran

    ashomran

    Joined:
    Mar 4, 2017
    Posts:
    13
    @a436t4ataf i also try to work with some different assets so it is all looks in a mess while trying to get into errors wo i might need some help fast
     
  41. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
  42. ashomran

    ashomran

    Joined:
    Mar 4, 2017
    Posts:
    13
    Hi again @a436t4ataf ,
    sorry for asking too much,
    now i got what i was planning to do but i got one issue..
    i need to snap an object (in runtime) that is already in the scene field but it prevents to snap.
    its only works when i get it from a button like in the example scene
     
    Last edited: Aug 20, 2018
  43. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    Asking is fine :). I'm not sure what you are trying to do here - can you post a video (e.g. youtube link) showing what you're doing?
     
    ashomran likes this.
  44. ashomran

    ashomran

    Joined:
    Mar 4, 2017
    Posts:
    13
    @a436t4ataf i want to snap objects that are already on the ground not from button as shown in example scene
     
  45. ashomran

    ashomran

    Joined:
    Mar 4, 2017
    Posts:
    13

    this is a sample video i was trying to drag an opject to connect it to base object using some knid of motion sensor working like mouse but it prevents to snap to it even if i was so close to it..
    in editor mode it works fine.. look at the attachment 1.PNG 2.PNG
     
  46. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    376
    Regarding SnP in V.R mode ( HTC Vive )
    I've not had much time the past months but intend to have another crack at SnP in V.R shortly.
    I was able to get objects to snap but I used it in conjunction with VRTK toolkit as well...
    Now I'm running only STEAM V.R

    Wondering if any other developers have SnP up and running in V.R
    I'd appreciate a simple example scene, hand controller input only (no mouse input) .
     
  47. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    NB: Google is blocking all emails to/from snapandplug.com - for any support issues, please email me directly adam.m.s.martin at gmail

    (Google doesn't allow normal people to get support - only large corporations - so there's not much I can do except hope they stop soon. They simply didn't like the mailserver, and randomly decided to start blocking it for a while).
     
  48. lumeneo

    lumeneo

    Joined:
    Mar 3, 2014
    Posts:
    60
  49. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    I haven’t used 2018 for any production projects yet, but t should work.

    Can you confirm that youve tried the demo scenes and they dont work either, or is it only your new scenes/code that arent snapping?

    Re:website, I’m still slowly getting it online after it got hacked, but ALL docs are already in the PDF thats included in the package, and the only external links with extra info are the YouTube videos in the PDF.
     
  50. a436t4ataf

    a436t4ataf

    Joined:
    May 19, 2013
    Posts:
    1,933
    I've just tested in 2018.2 and everything seems to be working fine. Can you be more specific about what's not working (either here or email me on the address above?)