New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement support for Leap Motion's "Orion" release #41
Comments
@squakmix had emailed about this issue. Scott, have you seen the forum discussion linked above? |
Yeah, unfortunately I'm having issues getting the Hover dlls to compile (with or without the LeapCSharp.Net3.5.dll). When I open Hover.sln in Monodevelop and build all, it creates Hover.common.dll but runs into an error trying to move it: Executing: cp "D:\projects\Hover-VR-Interface-Kit-1.4.0\Core\Solution\Hover.Common\bin\Debug\Hover.Common.dll" "D:\projects\Hover-VR-Interface-Kit-1.4.0\Core\Solution/../../Unity/Assets/Plugins/" ---------------------- Done ---------------------- Failed to execute custom command 'cp': The system cannot find the file specified Hover.Common.dll appears to have built without an issue (without the LeapCSharp.Net3.5.dll in the Core/Packages/LeapMotion/ folder), so I'll try using that in my project. |
That Leap DLL is outdated, and is no longer supported in Orion, so we can't build against it. I tried a couple long-shot ideas tonight, where I referenced the "LeapC" code in the Visual Studio solution in various ways, and hoped that it would "just work" on the Unity side. No luck so far, and I doubt it's possible. It looks like three main options:
|
Option 1 sounds best to me. |
Joe Ward responded at the Leap Motion forum:
And later:
|
@squakmix, so even if the Leap DLL becomes available again -- would you prefer to have the code directly in the Unity project, vs. installing the Hover DLLs in the Unity project? Adding code directly seems to be the "Unity way to do things", so I suspect that would be what most Unity developers would prefer. It has always seemed a little strange to me to paste third-party code directly into my projects -- it seems cleaner to keep that third-party code/functionality stored into DLLs. The DLLs help to simplify installation because Hover VR has many optional components (i.e. installing only the Leap Motion input module, or only the Hovercast elements). I think this simplifies the upgrade process, too -- you get versioned DLL files, and you're only replacing a few DLLs vs. dozens of script files/folders. Ease of making custom changes seems to be the primary benefit of placing the code directly into the Unity project. Do you agree? Are there other benefits that I'm not seeing? Thanks for your feedback! |
Hey there, I emailed on the subject and appreciated the response and didn't want to nag any further via email. For the short term I agree with squakmix simply through time concerns - the UI is central to my project and rather than wait for leap to move it would be very useful to have the functionality compatible with Orion sooner rather than later with hopefully fewer ramifications should the project be moved to a dll later than stick with the older leap dll. With unity having the non-dll source in the project is a familiar practice and hence not seen as too inconvenient, and presumably for now maybe a bit less work until leap move on your suggestion. Regarding the complexity of adding various components, it's also familiar to choose what to import into a project from a unity package from the options presented at the time of import, so with instruction a user could simply choose from that, which is to me just as familiar as figuring out which dll I should be importing |
The primary benefits I see to doing it the "Unity way" are consistency with other imported packages/libraries, ease of editing hover source files, and likely ETA of solution. As christianatkin said, supporting Orion as soon as possible is a high priority and it seems like you could move faster than Leap Motion might be able to. |
…oved VS solution. Known issue: all "demo" scene references are now broken.
The above commit also includes a few changes to be compatible with the new Orion API. Notably:
Known issue: this change breaks all the script references in the "demo" scenes. This will be a big task to re-create these scenes, and I will not have time to do that in the near-term. Because of this, I have not tested the code changes in this commit. I will try to update a couple simple scenes today to confirm that the basic functionality is working as expected with Orion. |
Please track the |
Resolving Missing Script References in Unity:
This is the opposite direction (Hover code has moved from DLL to Unity) but the underlying problem is the same: the script references have changed.
|
I'll update this table as I find more old-to-new GUID mappings. You'll be able to find-and-replace these in your script and prefab files, but only if you have those assets serialized as text. TODO: Looks like the GUID isn't enough, because all of the scripts within the same DLL receive the same GUID. So, this table will also need to include the FileID value.
|
Hey Zach, can gou take me.off youe mailing list? For some reason im getting emails for l8ke every support case you have Sent from my Verizon Wireless 4G LTE smartphone -------- Original message -------- I'll update this table as I find more old-to-new GUID mappings. You'll be able to find-and-replace these in your script and prefab files, but only if you have those assets serialized as text. Script HovercastItemVisualSettingsStandard HovercastItem HovercastItemHierarchy HovercursorSetup HovercastSetup HovercastInteractionSettings HovercastTransformInput — |
Hi @VicerVersa, you have probably clicked "Watch" for this project at some point. You should be able to click "Unwatch" (near the top of the GitHub project pages) to stop receiving notifications. There may be other GitHub options for how frequently you receive notifications, or whether they generate emails (vs. seeing them only when you login to your GitHub account). |
…something is way off with the scale of hand movement and menu size.
…ation of coordinates in Orion. Updated the test scene to use Leap's VR rig. Updated the Hovercast Leap Input to use camera transform (instead of a local-space direction) to determine the menu alpha strength. (#41)
…formation of coordinates in Orion. (#41)
@squakmix, @christianatkin, thanks for your feedback on this. Please see the latest commits in the Moving the code from the Hover DLLs into Unity causes the script references to break in your Unity scenes. If you serialize your scenes as text, you can perform a search-and-replace (on both FileID + GUID) rather than manually updating your scene. More details in my comments above. Note: there was a Unity bug causing the UI text to have an incorrect vertical alignment. Updating to the latest Unity build resolves this. If you can't update Unity, setting the Tahoma font resource to be "Dynamic" is also a workaround. |
Awesome, thanks Zach! I'll give this a shot over the next few days and let you know how it goes. |
It's been working great for me, thank you for your time, it's great to be
|
The test scene works great for me, thanks again for the update! |
I still cannot get this working, as I find 2 errors, Assets/Hover/Hover.Cast.Input.Leap/InputMenu.cs(46,52): error CS1061: Type if I replace R in Rotation with r, then I get the following error: Assets/Hover/Hover.Cast.Input.Leap/InputMenu.cs(46,52): error CS1955: The member `Leap.LeapTransform.rotation' cannot be used as method or delegate and this error exists nevertheless Removing Assets/Hover/Hover.Board.Input.Leap because the asset does not exist |
Hi @yesh66, I haven't had time to look into the latest Orion release, but I suspect they have made a minor change with this property. Just today, there was a post at the Leap Motion forum with (what appears to be) the same issue:
|
Thanks a lot Zachkinster for your prompt response, it is working now! |
In files InputCursor.cs, InputMenu.cs and HovercursorLeapInput.cs one need to add |
Hello, |
All Hover UI Kit v2.0+ releases include input modules for Leap Motion's Orion and pre-Orion SDKs. The latest release is v2.0.0A (alpha). This release is substantially different from the v1.x releases. Please see the project wiki for details. |
There are several changes/improvements in "Orion" that affect Hover VR. Notably, it no longer uses the
LeapCSharp.NET3.5.dll
, which means I'll need to change the way that the Hover DLLs are compiled.The text was updated successfully, but these errors were encountered: