Coder Social home page Coder Social logo

spacenavigator's Introduction

#SpaceNavigator SpaceNavigator driver for Unity3D

This driver lets you fly around your scene and allows you to move stuff around.
You can also use it at runtime via scripting.

The default mode is Fly mode and when you're flying around, this driver keeps your horizon horizontal.
So you don't have to worry about ending up upside down, just go where you want and get some work done.
To comfortably navigate large areas and minute details, you can easilly switch between 3 customizable sensitivity presets.
To move stuff around, you can use 2 modes: Telekinesis and GrabMove.
In Telekinesis mode, you can move the stuff you selected with the SpaceNavigator, while your camera stays put.
(this mode can be operated in Camera-, World-, Parent- and Local coordinates)
In GrabMove mode the stuff will be linked to your camera so you can take it with you and position it where you want.
Translation can be snapped to a grid and rotation can be angle-snapped.

If you have feedback, please use this thread on the Unity forums.

Platform support

As of version 1.3, this driver supports both PC and Mac.
The driver supports both Unity Personal and Pro versions.
Caveat: when running Unity 4 and lower on Mac you need the Pro version because Free did not allow plugins.

Known bugs and limitations

  • Grab Mode only works in the camera coordinate system (sorry, I couldn't get my head around the quaternion math of manipulating in one coordinate system while constraining in another)

The goods

  • The full package is available on the Unity asset store.
  • The package also contains a couple of runtime samples:
    • Fly around.unity: Fly around with a sphere while knocking over some cubes.
    • Folow curve.unity: Make your torus follow the curve, but don't touch it!
  • The source code is available on Github

Installation

  • Install 3DConnexion driver and make sure it is running
  • Import the unitypackage into your project
  • Open the SpaceNavigator window from the pull-down menu Window/SpaceNavigator (or hit Alt-S)
  • Fly away

Upgrading

When installing a newer version of the plugin, please follow these steps:

  • Close the SpaceNavigator editor window.
  • Delete the SpaceNavigator folder from your project.
  • Delete Plugins\3DConnexionWrapperU4.bundle from your project.
  • Import the new package.
  • Reopen the SpaceNavigator window (Alt-S).

If you delete the folder while the SpaceNavigator window is still open, Unity will throw some errors. When this happens, choose the default layout from the layout dropdown in the top right of Unity's UI and everything should return to normal.

Pro tip 1

Copy the SpaceNavigator.unitypackage to Unity/Editor/Standard Packages directory.

  • SpaceNavigator is added to the packages list in the project creation in wizard.
  • Easy to add later by right-clicking in Project View and choosing Import Package.

Pro tip 2

The 3dconnexion driver comes with a keyboard, mouse, joystick emulator.
Personally I have never needed it, and some games and applications receive really erattic joystic input from it.
Here's how to disable it On Windows 10:

  • Open the device manager by pressing Windows-X and choosing Device Manager.
  • Navigate to Human Interface Devices/HID-compliant game controller.
  • Select it and click the down arrow button.
  • If there are more entries called HID-compliant game controller,
    disable the one which properties say Location: on #Dconnexion KMJ Emulator.

Credits

  • Thanks to Stephen Wolter for further refinement to the mac drift fix.
  • Thanks to Enrico Tuttobene for contributing the mac drift fix.
  • Thanks to Kieron Lanning for implementing navigation at runtime.
  • Big thanks to Chase Cobb for motivating me to implement the mac version.
  • Thanks to Manuela Maier and Dave Buchhoffer (@vsaitoo) for testing and development feedback.
  • Thanks to Ewoud Wijma for loaning me the Hackingtosh for building the Mac port.
  • Quaternion math by Minahito http://sunday-lab.blogspot.nl/2008/04/get-pitch-yaw-roll-from-quaternion.html

spacenavigator's People

Contributors

jephron avatar pathightree avatar

Stargazers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.