Flycam

== How do I enable Joystick Flycam? ==
In Second Life 1.20 and newer where it became a formally supported feature, View menu > Joystick Flycam (Alt-Shift-F). To customize settings, go to Edit menu > Preferences > Input & Camera tab and click Joystick Setup.
In order versions (like 1.9.1), Advanced menu > Joystick Flycam.
Press Esc to leave Flycam mode.
== How do I use Flycam with the 3DConnexion SpaceNavigator? ==
See the SpaceNavigator page.
== Instructions ==
 The following instructions were graciously provided by Runitai Linden and edited by Torley Linden. As of Second Life 1.20, the Joystick Flycam, and specifically, SpaceNavigator compatibility, is officially supported.
: "I tested on a logitech cordless rumblepad 2 (PS2 controller clone) and got some great shots, but with only 4 axes, I couldn't move straight up or down. The device that started this whole mess was a 3D connexion 6-axis controller, so the camera works well with it, but I'm not fond of the device because it acts more like a 3D cursor than a joystick, hence the '3D Cursor' check box. Enjoy!" -Runitai Linden
Joystick Flycam offers 6 degrees of freedom that you can bind to various actions:
* Y-Axis - Move camera up/down
* X-Axis - Move camera left/right
* Z-Axis - Move camera forward/backward
* Yaw - Turn left/right
* Pitch - Look up/down
* Roll - Bank left/right
* Zoom In/Out
The little output graph shows you the values Second Life is getting from your joystick on each axis. Take the number of the axis you want and set the action you want it to go to to that axis number. Set an action axis to "-1" to turn the action off.
Dead Zone - These values tell Second Life to ignore values below a certain threshold to avoid drift.
Scale - These values adjust sensitivity. If you find it difficult to move with precision, use lower scale values.
3D Cursor - Gives values as cursor positions instead of push amounts. Should be enabled for SpaceNavigator and similar devices.
Direct Zoom - Enable this to directly map values from your joystick to your FOV (Field Of Vision) instead of being treated as a delta. Off by default.
Auto Level - Keeps the camera up, vector sane — good if you feel dizzy and want the horizon to be level.
Feathering - Setting the slider all the way to the right will make the camera very rigid, giving complete control to the joystick. Setting the slider all the way to the left will make the camera very fluid like the camera weighs a lot; good for fly-by shots, not good for framing.
== Resident experiences ==
Have an intriguing Flycam story to tell? Share it here!
=== Nalates Urriah - Win-7 64-bit SpaceNavigator Install ===
:: The information below got me started. But, it is possible to get the version 10 (v10) driver for the SpaceNavigator working and program the SpaceNavigator buttons. The quick and dirty install is to use version 3-18 legacy driver (Download: 3Dconnexion's Legacy Drivers). To use the newer version 32 or 64 bit (current 64-bit: 3DxWare64_v10-1-4_r1818 as of 8/2014) you have to make a change in Windows Device Manager and manually create a profile for Second Life. It is a long explanation. The details are here: Installing 3DConnextion SpaceNavigator v10 for Second Life. Nalates Urriah 07:42, 28 August 2014 (PDT) 
:: Please click by the JIRA and Watch item: BUG-6049 - Add Ability to select device in Joystick Config. If you have a good user case and have needed this feature please explain it in the comments and itemize the device or devices that ran you into the problem.
=== Nathan Zetkin - Space Mouse wireless - 3DxWare v10.0.19 - Windows 7 64 bit ===
(with much thanks to Zion Tristan)
 Use Zion's instructions below to begin: 
In Windows, go to Control Panel > Administrative Tools > Computer Management. Select the Device Manager from the left pane, and then choose the Human Interface Devices and check to see if you have a device called 3Dconnexion KMJ Emulator. You may or may not be able to disable this device (Properties > Driver > Disable), but disable it if you can. Additionally, find a HID-compliant device, HID-compliant game controller, or HID-compliant consumer control device, and check the Hardware ID (Properties > Details > Hardware IDs), looking for HID\3DXKMJ_HIDMINI&Col03 as the topmost value. When you find the device, disable it from the Driver tab.
Editing the config file:
In the folder C:\Program Files\3Dconnexion\3DxWare\3DxWinCore64\Cfg, you will find a file called joystick.xml. Copy it and rename the new file to SecondLifeViewer.xml. I use a free xml editor to edit xml files but just about any text editor should work. I made the following changes so that the top part looks like this:
<AppCfg Default="true" xmlns="" CfgFormatVersion="1.0" ThisFileVersion="1.0">
 <AppInfo>
 <Name>Second Life</Name>
 <VersionRange>
 <Min>1.0</Min>
 <Max>1.0</Max>
 </VersionRange>
 <ExecutableName>SecondLifeViewer.exe</ExecutableName>
 <ApplicationIcon>SecondLifeViewer.ico</ApplicationIcon>
Save the file and run Second Life. 
Changing Second Life preferences:
Go to Preferences->Move & View->Other Devices. You should see at the top, that the Enable Joystick: SpaceMouse Wireless is checked. The other parameters are set as shown below:
 	Avatar	Build	Flycam
X Scale 	0.50 	0.30 	8.00
Y Scale 	0.50 	0.30 	8.00
Z Scale 	0.50 	0.30 	8.00
Pitch Scale	0.50 	0.30 	2.00
Yaw Scale 	4.00 	0.30 	2.00
Roll Scale 	 	0.30 	0.30
I check the box Auto Level and leave Direct Zoom and 3D Cursor unchecked. For Control Modes, I leave Build unchecked and Avatar and Flycam checked. 
I hope this helps. 3Dconnexion says the Second Life is no longer supported, but the Space Mouse is a joy to use in Second Life and is indispensable when building.
----
Update (2015-11-03) by MartinRJ Fayray
You need to make some slight modifications to the instructions above, with newer versions (3DxWare64 v10.2.9).
Open the config-file JoystickTemplate.xml with notepad,
(you have to open notepad AS ADMINISTRATOR, rightclick Notepad.exe->Run as administrator),
and replace the AppInfo part in the top with this:
	<AppInfo>
::		<Name>STR_SECONDLIFE</Name>
::		<VersionRange>
::::			<Min>1.0.0.0</Min>
::::			<Max>1.0.0.0</Max>
::		</VersionRange>
::		<ExecutableName>SECONDLIFEVIEWER.exe</ExecutableName>
::		<InheritsFrom />
::		<ApplicationIcon>SecondLifeViewer.ico</ApplicationIcon>
::		<Transport>KMJ</Transport>
::		<IgnoreMouseWheelInertia>true</IgnoreMouseWheelInertia>
	</AppInfo>
and then save the file as SecondLifeViewer.xml in the same folder.
Afterwards you have to restart your PC, in order to apply the changes.
--MartinRJ Fayray (talk) 09:58, 3 November 2015 (PST)
=== Zion Tristan - SpacePilot Pro - 3DxWare v10 Beta 15 - Windows 8 ===
The Beta 15 version of the 3DxWare v10 works quite well, however may require some tweaking in terms of removing the KMJ Emulator from the Devices list to make it work correctly.
In Windows, go to Control Panel > Administrative Tools > Computer Management. Select the Device Manager from the left pane, and then choose the Human Interface Devices and check to see if you have a device called 3Dconnexion KMJ Emulator. You may or may not be able to disable this device (Properties > Driver > Disable), but disable it if you can. Additionally, find a HID-compliant device, HID-compliant game controller, or HID-compliant consumer control device, and check the Hardware ID (Properties > Details > Hardware IDs), looking for HID\3DXKMJ_HIDMINI&Col03 as the topmost value. When you find the device, disable it from the Driver tab.
I additionally note that the .xml file holding the settings for the profile you use with Second Life needs editing. If you create a profile for Second Life (highly recommended), navigate to the following directory: C:\Users\<your username>\AppData\Roaming\3Dconnexion\3DxWare\Cfg\secondlife.xml (Or your viewer of preference) and change the <Transport>DirectInput</Transport> to <Transport>S80</Transport>, then save the file.
You may need to restart your computer for changes to take effect, but it should be pretty instantaneous. When you start up Second Life, you can go to the Properties > Move & View > Joystick Configuration, and check the Enable Joystick: SpacePilot PRO 3Dmouse (or your joystick's name). I personally use the settings below:
 	Avatar	Build	Flycam
X Scale 	1.00 	0.30 	20.00
Y Scale 	1.00 	0.30 	20.00
Z Scale 	1.00 	0.30 	20.00
Pitch Scale	5.00 	0.30 	5.00
Yaw Scale 	5.00 	0.30 	5.00
Roll Scale 	 	0.30 	0.00
I additionally have unchecked Direct Zoom and 3D Cursor, and these settings work fine for me.
I did notice that the "Fit" key on the actual device (thumb button, when used in the left hand) also makes the avatar jump, and I've found no way around this, so I use one of the other 39 buttons, and assign macro's to them to control me. I set the following buttons to do the following actions through the 3DxWare Properties:
Button 	Action
R (lower right corner, right set of buttons)	Flycam Toggle
F (lower left corner, right set of buttons) 	Escape (Reset camera position)
ISO 1 (centre, right set of buttons) 	Fly toggle
=== Kiptic Horsley - SpaceNavigator 3DxWare v10 ===
The new (currently beta) 3DxWare v10 puts everything on its head, so to make it work with
Second Life you need to change a few settings:
* In the 3Dconnextion Properties, create a new application profile for SL. Make sure you select Joystick as the profile template.
* In the Joystick configuration inside the SL viewer, change all XYZ etc. Scale values for "Avatar" to 1.00 (they have various values like 2.00, 0.10 and so on by default and this will not work well). You can always change this later if you like. You might want to increase the flycam XYZ scales a bit too, maybe 3.00 or so.
* Finally, uncheck 3D Cursor. This is very important, and completely contrary to everything anyone has said about SpaceNavigator inside SL before :)
Now it should work, enjoy!
Major gripe: left button can't be changed from that annoying 3Dx popup menu in the current 3DxWare beta, so you'll have to get along with only one button for now.
=== Illumine Demina - SpaceNavigator ===
Updated: 4/9/2008 per 1.20 "Dazzle" release
We have some nice new "joystick" support: these instructions describe use of the 3d_Connexion "Space Navigator."
Configuration options have been moved to the Edit -> Preferences menu item, "Input and Camera" tab. At the bottom of the page, select "Joystick Setup" and a new popup appears. Bottom right of this page, click "SpaceNavigator Defaults." For some, you might be all set... give it a try. 
NOTE that in prior releases, the SpaceNavigator could only control the "Flycam", whereas now it can also control objects in Build/Edit mode ("Build" column) as well as Avatar motion ("Avatar" column). To enter Flycam mode select the View -> Joystick Flycam menu item, or keystroke Alt-Shift-F.
 
In Avatar mode, it seems the X/Y/Z scales have no effect - amy value other than 0 gives standard walk/run speeds. Pitch and Yaw scale cn be raised to 1.0 if you like to dance till you're dizzy... 0.3 seems about right to me. I leave all the zones at the defaults.
I'm not a dedicated builder... but it seems to me that aligning anything would be about impossible using this feature. I defer to others on this. 
As a machinimatographer I like to make some changes to the defaults in the "FlyCam" column. First, decide if you want the SpaceNavigator to act as if you're moving 1) the object, or 2) the camera. The defaults move the camera, just as advertised. When you lift up the camera goes up - and the world goes down. I'm sure some get used to this with no issue, but I prefer the SpaceNavigator to operate as though I'm holding the world: lift up and the world raises, pull toward you and the world comes closer. Its entirely a matter of preference, but its weird how one can feel right and the other probably doesn't. For this behavior, all the numbers in the top half of the "Flycam" column get a minus "-" in front of them, inverting everything and giving you object mode. Most of my camera moves are around an avatar, so they are short and delicate. That means the scale numbers need to get smaller (in absolute value): X-Scale and Z-Scale become -0.6, Y-Scale becomes -0.2 (up and down is less quick) as do "Pitch Scale" and "Yaw Scale." I slightly increase deadzones to 0.03, except pitch goes to 0.1 to keep things a bit stabler. Feather slider goes all the way left (syrupy, not snappy), and give it a try.
Illumine )I(
=== Pre-1.20:
I made mine work (on Windows XP) by installing, configuring, and calibrating per the factory instructions, starting SL, and selecting the Client -> Joystick Flycam option. A popup appears... and my screen went wonky :) But after fiddling quite a bit I was able to operate using these settings:
First, this is a "3D cursor", so check that box. Then, check "auto-level", un-check "Direct Zoom", and set "Feathering" to the middle. Start here: 
 x y z yaw pitch roll zoom
mapping 0 2 1 5 3 4 -1
scale .1 .05 .2 .05 .05 .01 0
deadzone .1 .1 .1 .1 .1 .1 1
Try moving the navigator ... it may work ... else restart the application and re-enable Flycam. 
Update as of Jan 2008:
When I first wrote this, the feathering slider was way weird... it needed to be pretty much left or it wouldn't work. As of windlight at this time, feathering works *much* better. Left is "mushy soft" and right is "snappy firm" ... season to taste :)
I updated the above settings to give a better ability to move forward and back (Z Axis) and better overall response. Love this!
 
If the motion seems weird, perhaps you'd prefer to use its inverse! In a typical 3D modeling approach, you move the controller just like you would model a model in your hand. In the inverse case, its more like you are holding and moving a camera. To really confuse yourself, set different axis in different senses :) You can reverse motion either in the controller software or in the SL Client -> Joystick Flycam option popup. To reverse an axis, simply enter a negative scale. Inverting makes a huge difference... try them both so you know which you like.
=== Tenebrous Pau - SpaceNavigator ===
Tenebrous Pau uses a community-provided joystick driver to connect the SpaceNavigator to SL. See this blog post for Tenebrous' recommended settings with the RBC9 driver. 
Note: The RBC9 driver is not needed to make the SpaceNavigator work with SL; just use the latest 3DConnexion driver.
The community-provided joystick driver is not compatible with 64-bit operating systems.
Note: As of 11th April 2008, Tenebrous no longer uses the RBC9 driver, with the advent of Second Life client 1.20.0 84432. The SL viewer has built in support for the SpaceNavigator, without need for the RBC9 drivers, as per Illumine Demina's Instructions above.
=== Ganesha Xi - Space Navigator ===
After much frustration with this cool hardware I bought, I decided to further investigate settings. As I don't use it much to walk, only for fly cam, those are the only settings I changed.
Some advice if you are getting frustrated with your SpaceNav:
* Always get the latest driver. If your Space Nav is NOT glowing blue, it does not have the driver installed. See previous contributions.
* The default SpaceNav settings are "slow" (according to them), but are entirely too fast for the average user. Step them down some (such as in my picture)!
* Practice, practice, practice. The SpaceNav requires a gentle touch. The only way to fully master it is by practicing.
* Join the 3DConnexion Space Cadets group in SL. They are a friendly bunch!
* Yes, seeing a bunch of ]]]]]]]]]]]]][[[[[[[[[[[[[[[['s in your chat box when you "spin" left/right is common (and irritating). The only way I've found to fix it is to relog.
=== ZATZAi Asturias - Xbox 360 controller ===
It's also possible to use the FlyCam mode with the very popular Xbox 360 controller, provided you have one you can connect to your PC and the latest drivers (Works on XP & Vista) you're set for FlyCam. One thing to keep in mind with the 360 controller, is that it only supports five axis's, the joysticks each have two and the analog triggers together represent a fifth (Right trigger for negative left trigger for positive). The FlyCam only supports the first two buttons, so you can't use any other buttons on the 360 controller.
To the right you can see the settings I went with for my 360 controller after toying with it for a while, this allowed maximum mobility and smooth movement, also I used a larger than default dead zone on each input because the precision of the 360's joysticks called for it. Additionally 10% feathering, or so, was used as it greatly smoothed out camera movement while not suffering from the excessive sliding of the maximum setting.
Settings:
 x y z pitch yaw roll zoom
mapping 0 2 1 4 3 -1 -1
flycam scale 8.00 4.00 20.00 2.00 2.00 5.00 1.00
flycam deadzone 0.25 0.25 0.25 0.25 0.25 0.25 0.50
flycam feathering 10%
avatar scale 1.00 1.00 1.00 1.00 1.00 
avatar deadzone 0.25 0.25 0.25 0.25 0.25 0.25
avatar feathering 5%
Direct Zoom Enabled
3D Cursor Disabled
Auto Level Enabled
Zoom Scale 1.00
Zoom Dead Zone 0.50
With these settings you can push forwards and back on the left joystick to dolly the camera forwards and back, and left and right on the same joystick to dolly the camera left and right. To pitch the camera up or down push forward (To pitch down) or pull back (To pitch up) with the right joystick, or tilt the right joystick to the left or right to turn the camera to the left or right. To raise the camera pull in on the right trigger and to lower it pull in on the left trigger.
You'll find you have a slightly smaller field of vision which makes a nice effect for machinima with Direct Zoom enabled. You can disabled it or adjust the Zoom settings to alter it's appearance for close in or wide angle shots. I didn't put in any settings for Build as personally I don't use it (Note that while you can move things around very elegantly with flycam for build... only you will see the object move others will not until you stop moving the item). You will also be able to move your avatar with your joystick with these settings (That's why the Avatar column is checked). Not terribly useful for walking around but you'll find it fun for controlling vehicles, especially planes!
To activate or deactivate flycam mode press: (Or the A button on your controller)
=== Geneko Nemeth - Logitech Dual Action ===
This controller is similar in layout with the Xbox 360 Controller. It has 4 axis (shoulder buttons are not analog), 12 buttons and a D-pad, but Second Life does not support more than 2 buttons or Point-of-View hat, so the D-pad cannot be used under Windows (but can be used in Linux).
Scales Whatever you like
Dead Zone At least 0.15
Direct Zoom Disabled
3D Cursor Disabled
Auto Level Disabled (Enable if you think turning around in flycam mode looks strange...)
Left thumbstick to walk (Z) / turn around(yaw)
Right thumbstick to fly (Y) / strafe (X).
== Related resources ==
* SpaceNavigator - Includes video demos.
Category: Tutorials