Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

[Released] Immersive VR Mechanic Tools and Interactions

Discussion in 'Assets and Asset Store' started by ChrisHandzlik, Sep 23, 2020.

  1. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198

    Get It on Asset Store | Website | Documentation | Demo

    Intuitive Bolt / Nut / Parts interaction and placement
    - Easily move elements like bolts / nuts toward target hole
    - Customize target-path direction, length and allowed angle to attach
    - Narrow down types of elements that can be attached to target
    - eg. nut goes on bolt
    - eg. engine part can only go to specific slot that's designed to hold it
    - Put specific parts in slots where they can be further secured with bolts
    - Easily extendable to create more elements supporting this workflow

    Tools Interaction to tighten and loose elements (bolts, nuts, etc)
    - Use tools like wrench to tighten and loose bolts already placed in target holes
    - Customize target-path direction, length and allowed angle to attach
    - Track bolt / nut tightening status
    - Fully inserted completion percentage
    - Over/Under tightened
    - Immerse player by applying resistance at various points (eg when getting close to fully tightened, or when over tightening)

    Torque-Wrench
    - Control tighten / loosen mode combined with resistance and sounds to give user experience similar to using the tool in real world
    - Allow to specify toque-force to be used in combination with required torque on bolts

    VR Framework Independent
    - Designed to integrate easily into your project - independent of VR framework you're using (Unity VR Toolkit / Microsoft Mixed Reality Toolkit / Virtual Reality Toolkit / custom)
    - Current implementations for Unity VR Toolkit and Virtual Reality Toolkit (VRTK v4)

    Free for first 5 developers (0 left)
    Let me know in this thread if you'd like to give it a go. It'd also really help if you'd leave a review afterwards.
     
    Last edited: Nov 15, 2021
    EN_Games likes this.
  2. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    Hi @EN_Games, just sent you voucher code, please let me know if you need anything.
     
    EN_Games likes this.
  3. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,685
    Any codes left :) ?
     
  4. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
  5. EstudioVR

    EstudioVR

    Joined:
    Jul 26, 2013
    Posts:
    127
    I would like to test, if possible
     
  6. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
  7. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
  8. Somnir

    Somnir

    Joined:
    Dec 28, 2017
    Posts:
    1
    Hey ! Awesome project ! Do you have any keys left to test ?
     
  9. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    Sure @Somnir, one is on the way!
     
  10. J0linar

    J0linar

    Joined:
    Dec 12, 2013
    Posts:
    83
    just bought it recently... and i was a lil bit dissapointed that it didnt work with the standard shaders. Maybe am blind but i can`t recall that i saw you mentioning it being only urp/hdrp.

    Now to a few things, along with suggestions.

    1) it is not compatible with standard pipeline, at least not out of the box. Would appreciate a optional Standard Shader version.

    2) Feels smooth and adds some interesting ways to interact with the environment.

    3a) Missing a Hammer, actually this is more of a request.. Would you mind adding a Hammer along with Nails so that one could actually use planks for example to create barricades for example.

    3b) Another Request sort of, a Nail Gun..
     
  11. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    Hi @J0linar

    Thanks for purchase! Apologies you feel bit disappointed, perhaps I we can address some of that issues.

    1) The asset should be compatible with standard pipeline / surface shader - it adjusts existing shaders based on what you're running and it should automatically work out what pipeline to use. If you go to Window -> Immersive VR Mechanic Tools -> Start Screen. You should see Shaders in the bottom, are those set to 'Surface'?

    upload_2020-11-4_18-36-23.png

    With that the prefabs should be rendered correctly.

    I think you're right though as the demo scene is not working with standard template. For demo scene asset is using some props like (table / floor / hat etc) from standard HDRP/URP Unity 2019 template. I can see show that could be misleading - apologies that were not my intention. I'll get it sorted with new version so it doesn't cause confusion.

    In the meantime there's some info to get you quickly working in documentation page.

    It really boils down to running the demo via HDRP template - you can still use the asset with standard pipeline (just not demo).

    2) Thanks that's great to hear
    3) I'll look into that, right now assets focuses more around mechanics interactions, more of from a engineer/technician training point of view rather than say builder. Can't promise anything but I'll look how feasible adding that would be.
    3a) Sounds like a good idea to go with a hammer / nail logic, same as above I'll look into that.

    Please let me know how you're getting on with that standard shader. Happy to help if you have some more troubles. And as always if you're not 100% satisfied - I'm happy to give you full refund.

    Thanks,
    Chris
     
  12. ncompton13

    ncompton13

    Joined:
    Aug 31, 2017
    Posts:
    1
    I'm getting a slew of compiler errors. As an artist, I'm not the best at fixing them. I'm using 2019.4, HDRP as suggested and everything seems up to date. Attached is an image of some of the errors I'm getting. I know they are rather simple, but they are throwing me through a loop. upload_2021-1-5_12-0-58.png
     
  13. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    Hi Nick,

    Thanks for posting that here, let's move from mail to forum in case other people have similar issue.

    By default asset will try to integrate with Unity XR Framework, the errors suggest the package may not have been imported. Can you please check if you imported it via package manager?

    It should be under Windows -> Package Manager (you will need to click 'Advanced' and enable 'Preview Packages'.

    Please let me know how you got on.

    Thanks,
    Chris
     
  14. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    Nick to answer your other question

    'I didn't see that i had to import the XR toolkit package. Then I didn't realize it was in preview only. This fixed all but the 'd3d12: generating mipmaps for array textures is not yet supported.' Now I just need to get it running with a Vive Cosmos Elite, which doesn't play well with the XR plugin manager yet. '

    d3d12 - I'm not quite sure why it'd complain about that, there are barely any textures in, just wondering would old closing and opening Unity clear that one?

    If Vive Cosmos Elite is not yet supported by Unity XR Toolkit perhaps it'll work with SteamVR? If it does you'd need to add few classes to make sure SteamVR is supported. There's a guide on how to do that here
    https://immersivevrtools.com/projec...n#integrating-custom-framework---code-changes

    Let me know if you need a hand with that, I'm happy to add that in although it'll take a few days (potentially over the weekend) to get sorted.
     
  15. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    User asked the question:
    'Hi Chris!
    I purchased your Immersive VR Tools package and am quite happy how solid it works. I'm only stuck at one problem: I have a screw/bolt inserted into a guided snap target and am tightening it with a wrench which rotation progress accumulation is set to both. I can rotate the screw into both directions, but once the screw is fully tightened I can't untighten her again. Even not when detaching the wrench and trying it again. Did I missed something?'

    There seems to be a minor bug where in that case you won't be able to move the tool to undo bolt / screw. I'll add the fix to next realease, in the meantime if you have the same issue please add following code on line 131 of RotationTool.cs

    Code (CSharp):
    1.         if (absoluteDriverMovedAngle > 0.01f) //That's already in file, just for reference
    2.         {
    3.             if (_previousAddRotationProgressStatus == AddRotationProgressStatus.OverRotatingBreakingPoint
    4.                 && RotationProgressAccumulationDirection == RotationProgressAccumulationDirection.Both
    5.                 && driverMovedAngle > 0)
    6.             {
    7.                 //When rotation is allowed in both directions, at the OverRotatingBreakingPoint movement will stop, this causes
    8.                 //issues when user likes to undo progress but initially moves forward even by a marginal angle (which is very easy with XR controllers)
    9.                 //if that's the case change previous status to OverRotating as to allow it to move
    10.                 _previousAddRotationProgressStatus = AddRotationProgressStatus.OverRotating;
    11.             }
     
  16. pushpi1987

    pushpi1987

    Joined:
    May 25, 2021
    Posts:
    3
    I would Like to Test the system : Do I have any chance left?
     
  17. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    Hi @pushpi1987, sorry we're past free codes now. You're welcome to have a look at the demo if that helps

    Demo

    (if you're not familiar with XR Toolkit navigation it's Grab and Trigger to teleport where you want to go)
     
  18. pushpi1987

    pushpi1987

    Joined:
    May 25, 2021
    Posts:
    3
    Thanks for the Demo : Really Appreciate your work.
     
  19. Jax0rz

    Jax0rz

    Joined:
    Aug 14, 2019
    Posts:
    5
    I can't run your assets
     
  20. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    Hi @Jax0rz

    Thanks for getting in touch and sorry there are issues running the asset, I'm sure we can sort that out.

    It looks like XR Toolkit integration is not installed - this is the default integration for demo - if you don't intend to use that you can:
    1) Remove the folder /Integrations/XRToolkit
    2) Remove INTEGRATIONS_XRTOOLKIT compilation symbol. Since the project did not compile you've not yet seen 'welcome' screen that'll allow you to remove that with check-box. In that case please go to Project Settings -> Player -> Other Settings -> Script Compilation, and remove the symbol from there, then Apply changes.

    If you intend to use that implementation then please go to package manager and look for 'XR Interaction Toolkit' under 'Unity Registry'. Since that Unity package is still in pre-release you'll need to enable via top-right cog icon -> Advanced project Settings -> Enable Pre-release Packages

    Hope that helps, let me know if it's still giving you some trouble.
     
  21. sisusisu

    sisusisu

    Joined:
    Nov 26, 2013
    Posts:
    14
    Does it work out of VR. That is on a pc using mouse
     
  22. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    You'd have to write some custom integration to support that, but it'd be tricky - it expects you can do certain movements with 'driver' - which for you will bo mouse and not controller. That'll be tricky to do using mouse.

    I think it's best to say that it wasn't build to flat-screen inputs
     
  23. shubhamtotestd

    shubhamtotestd

    Joined:
    Oct 9, 2020
    Posts:
    1
    Any codes left :) ?
     
  24. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
  25. tecnicartonvr

    tecnicartonvr

    Joined:
    May 27, 2022
    Posts:
    1
    Any code left? :)
     
  26. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
  27. Giantbean

    Giantbean

    Joined:
    Dec 13, 2012
    Posts:
    141
    I see mention of Unity XR Framework, VRTK4 and Mixed Reality Toolkit what about Steam VR, Hurricane VR or Auto hands?
     
  28. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    Steam VR, Hurricane, auto hands - none of those are implemented out of the box, sorry!

    The reason for that is I'm not that familiar with them, although adding new integration is really simple, all that's needed is

    Integrating Custom Framework - Code Changes
    If you’re not using any framework with integrations created you’ll have to override few scripts.

    Existing implementations will give you an idea how that can be implemented in your framework.

    XRFrameworkToolInput
    This script is used to let components know when player requests to increase / decrease tool force or requests to change direction.

    Methods to override:

    Code (CSharp):
    1. protected override bool IsIncreasingToolForce()
    2. protected override bool IsDecreasingToolForce()
    3. protected override bool IsChangingToolDirection()
    Generally it should be as simple as finding if keys are pressed on controllers.

    XRFrameworkTransformControl
    When element is on drive-path or being rotated - asset will take control over it’s transform (this is to prevent your framework constantly trying to readjust position).

    Methods to override:

    Code (CSharp):
    1. public override void TakeControlFromXrFramework()
    2. public override void PassControlBackToXrFramework()
    Depending on framework you can usually temporality disable component that controls object transform when it’s in grabbed state.

    HapticFeedbackControl
    Simply override to provide method implementation that’ll be used for haptic feedback.

    Methods to override:

    Code (CSharp):
    1. public override void SendHapticFeedback(float amplitude, float duration)
    XRFrameworkGuidedSnapElementDriverExtractor
    While there’s no base to implement - most frameworks will have a concept of grabbing which will give you access to controller / avatar element that’s used. That element will have TransformPositionDriver that needs to be registered with grabbed GuidedSnapEnabledElement (to properly support moving in relation to controller).

    That's from documentation that you can find here.

    I'm happy to help if you got any questions when implementing your framework of choice.
     
  29. Giantbean

    Giantbean

    Joined:
    Dec 13, 2012
    Posts:
    141
    Thank you.

    I didn't see Window -> Immersive VR Mechanic Tools -> Start Screen. to fix the textures when i opened the scene. The asset also seems to include more settings then in needs as it changed my unity version to one I don't have installed (2020.3.3) and crashes on load when I try to update to 2020.3.5 version.

    Edit:
    Updated to 2021.3.15 and had to open in safe mode as I have 32 compile errors.
    Not sure why the asset would need to change project settings like the unity version or why it would look for BNG namespace without ignoring that when the user may not have VR Interactive Framework.

    Is there some where to post all these errors for bug fixes?

    Edit 2:
    I updated XR tool kit and deleted other integrations. It tried to change my physics settings which I refused and now the project is open. I will try to go over your guide and integrate it with other frameworks. Hopefully you can fix the issues with the #If framework integration stuff not working and make the project not change the usurers project settings unless absolutely necessary.
     
    Last edited: Jan 6, 2023
  30. Giantbean

    Giantbean

    Joined:
    Dec 13, 2012
    Posts:
    141
    I'm not understanding the custom integration instructions is there a video example or more explanation? Sorry, I come from an Art background and still have some issues with changing others' code.

    I removed all framework integrations as I am using Hurricane with OpenVR and Steam for Valve index full finger control but I am getting errors like These.
    View attachment 1177020

    @ChrisHandzlik If I'm not using XR toolkit how do I get around the need for the XRToolkitTransformerControl? I'm not seeing how following the custom framework guide would let me get away from the toolkit. It also seems to need things like the GuidedSnapElemental DriveExtractor that I don't see without the XR tool kit. Is there any way to do this without that dependency?
     
    Last edited: Jan 6, 2023
  31. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    Code (CSharp):
    1. I didn't see Window -> Immersive VR Mechanic Tools -> Start Screen. to fix the textures when i opened the scene. The asset also seems to include more settings then in needs as it changed my unity version to one I don't have installed (2020.3.3) and crashes on load when I try to update to 2020.3.5 version.
    You're right, unfortunately Unity for some reason forces ProjectSettings to be included if you have an asset in 'Templates' category, when importing please deselect that folder - it's not needed.

    Code (CSharp):
    1. Updated to 2021.3.15 and had to open in safe mode as I have 32 compile errors.
    Default demo uses XR Toolkit, which needs to be installed before you import plugin, you can have a look in the docs, please that's a short bit there around prerequisites
    upload_2023-1-7_7-56-11.png

    Code (CSharp):
    1. Is there some where to post all these errors for bug fixes?
    You can post the errors here, they'll be compilation error due to missing XR Toolkit, once you import the version specified they'll go away.

    Code (CSharp):
    1. I updated XR tool kit and deleted other integrations. It tried to change my physics settings which I refused and now the project is open. I will try to go over your guide and integrate it with other frameworks. Hopefully you can fix the issues with the #If framework integration stuff not working and make the project not change the usurers project settings unless absolutely necessary.
    As above, this is down to unity including those ProjectSettings, please do not import them.

    Integrations (and #if preprocessor directives) and controlled via main start screen (in case you want to change them). But you can also delete what you don't need. If you use settings window then just tick which integration you're using
    upload_2023-1-7_8-3-5.png


    Code (CSharp):
    1. I'm not understanding the custom integration instructions is there a video example or more explanation? Sorry, I come from an Art background and still have some issues with changing others' code.
    Sorry, there's no video as every framework is different. Asset relies on fact that all of them share some common functionality and that is where the integrations methods come in

    public override void TakeControlFromXrFramework()
    Every framework will have some kind of way to take control of the transform, eg when you're holding it. In that method you need to find out how Hurricane is doing that and use their API to temporality disable that functionality - in order for asset to start driving it, say for things like rotation / bolt tightening, etc.

    protected override bool IsIncreasingToolForce()
    protected override bool IsDecreasingToolForce()
    protected override bool IsChangingToolDirection()

    These are generally button presses, Huricane/SteamVR will have a way to say check if thumbstick is moved up / down, that's what goes into those methods.

    Code (CSharp):
    1. If I'm not using XR toolkit how do I get around the need for the XRToolkitTransformerControl? I'm not seeing how following the custom framework guide would let me get away from the toolkit. It also seems to need things like the GuidedSnapElemental DriveExtractor that I don't see without the XR tool kit. Is there any way to do this without that dependency?
    Yes, you don't have to use XRToolkit, you can have a look at say VRIF integration, and VRIFDemoScene.

    XRToolkitTransformControl is an implementation for base class XRFrameworkTransformControl
    that's not dependent on any frameworks, and exposes TakeControlFromXrFramework and PassControlToXrFramework that you want to implement for Huricaine.

    Sorry, I think it may not be feasible for you to implement that support, I might have over-estimated the difficulty here.
    I don't own Hurricane and can't implement that in any reasonable time frame.

    I think best I can offer right now is a refund, apologies again!
     
  32. Giantbean

    Giantbean

    Joined:
    Dec 13, 2012
    Posts:
    141
    Thank you for the great reply. I will take a look at all of this later today. Hopefully the XR toolkit will work for me when I am using legacy OpenVR not OpenXR (Needed for index finger controls) if not this may not be a usable solution for this project. Thanks again.
     
  33. Giantbean

    Giantbean

    Joined:
    Dec 13, 2012
    Posts:
    141
    I tried to play with it more making a new project and testing with XR toolkit but not even the demo scene worked. Its lights are blown out making everything white and once I fixed that the controllers don't work even with following the set up steps. I can look around but nothing else functions. (*Also the demo link above just put me under the floor with no tracking). I have done a lot of VR but this project just had to many issues to even get started. If you could update this for newer versions of unity and add support for new frameworks it would be great but I think at this point I should ask how I go about getting a refund for the account it was purchased on. Thanks anyways.
     
  34. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
  35. Giantbean

    Giantbean

    Joined:
    Dec 13, 2012
    Posts:
    141
    Thanks. I really had high hopes for this. If you ever do update the asset for newer versions of unity and newer frameworks I would be excited to purchase it again.
     
  36. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    Will do, sorry I couldn't get it to work for you this time round.
     
  37. Giantbean

    Giantbean

    Joined:
    Dec 13, 2012
    Posts:
    141
    The refund had issues as I purchased it under a different account then my social one used in this discussion but that's Ok as I have decided to keep it anyway and work on a fix while hoping you get a chance to update it before to long. Thanks.
     
    ChrisHandzlik likes this.
  38. Giantbean

    Giantbean

    Joined:
    Dec 13, 2012
    Posts:
    141
    Second round of testing, I have a 2021 scene with XR Interaction Tool Kit installed and then VRIF installed and finally your asset installed. I set up surface shaders and tried to run but I am still getting an error.
    upload_2023-1-16_15-15-5.png

    Also the lights are blown out (Intensity 10000!?) and everything is white until I turn off the lights and add a new directional light.
     
  39. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    Alright, it looks like intensity is wrong in that scene - I'll get that sorted.

    As for error, there's XRToolkitWrench in scene (which should not be) - it's complaining about missing component as it's not from this framework. If you remove error will be gone

    upload_2023-1-18_9-29-19.png

    Then VRIF Wrench should be used.

    I've tried it just now but it seems there's more issues with newer VRIF version. I'll get that looked at but with current workload I don't think it'll be any time soon, sorry.

    If you raise a ticket with Unity about refund and cc my email: chris@immersivevrtools.com I'll back this up so they should be able to process refund on whichever account you used to buy.
     
    Giantbean likes this.
  40. pvekariya21

    pvekariya21

    Joined:
    Oct 12, 2023
    Posts:
    1
    Hi, can you help me out with the screw and nut technique. Is there any code you can give me. Thanks in advance. WhatsApp Image 2023-10-12 at 15.07.26_c40dd982.jpg
     
  41. ChrisHandzlik

    ChrisHandzlik

    Joined:
    Dec 2, 2016
    Posts:
    198
    Hi, have you checked out existing demo scene? It should be just adding required scripts to your objects