Wrist Assist
This plugin provides a small world-space UI with up to six primary buttons and four mini-camera control buttons. In VR (its primary use-case) the UI is located on the left wrist and will always face the headset, no matter your headset orientation. In desktop the UI will be located in the lower-right corner of the screen.
How to use it! And update in your scene.
Add it to scene plugins or any other atom. Do not add this to a scene more than once. See mini-camera section for important notes.
To update, it should now be possible to load a scene where you're using an older version and replace the plugin with the new version. The new version should read the existing configuration. Don't forget to save afterwards.
Buttons
Each main button can be configured with triggers. Each button also now has a long-press mode which can activate alternative triggers. For example, in the modeling scene show in the images here, the Animate button sequences through some animations. When I long-press this button, the model returns to the default static state.
Demo scene
I have created a demo scene here to show how I have used this plugin. It's pretty clunky; I'm sure you find better ways to use the plugin.
Mini-Camera
Attached to the UI is a mini-camera view. This view renders the WindowCamera atom's camera. You can move the WindowCamera control around and change its FOV and it will be reflected in the mini-camera display. The mini-camera view can be switched off. For VR users, I have disabled the default behaviour of the WindowCamera whereby it renders to the desktop window when actived (your privacy is maintained).
You can use the mini-camera view for a lot of things. For modeling, I use it to show a profile view of the face, for example. I use triggers on the cam prev and next buttons in the UI to move the camera to different angles. For action scenes, the mini-camera can be used creatively. See my demo scene for one example.
Rotation: The mini camera display can now be rotated; Landscape, Portrait, and Auto. Auto is like auto-rotate on a mobile device, but the rotation is chosed based on the orientation of the WindowCamera control.
Resolution: You can now change the resolution of the mini camera display. This is particularly noticable in VR.
Important: The mini-camera view is hijacked from the built-in WindowCamera and DisplayControl atoms. Please don't mess with these atoms if you want the mini-camera to function as intended. The plugin will restore these items to their original state when it unloads.
Performance: The mini-camera view can reduce FPS a little, especially in VR. This is not a plugin issue, but rather the graphics engine just needs to do extra rendering work. Increasing the mini camera display resolution will have an impact on performance. I didn't notice it too much.
Mini-Camera buttons
Prev and Next: These are the > and < buttons. You can configure triggers for these to move the WindowCamera around.
Cam: Turns the mini camera display off and on.
A / L / P: This reflects the current rotation of the mini camera display.
Mini-camera display in-front of world-space objects. This is the default setting.
Mini-camera display behind world-space objects (based on your avatar's current location). This setting can be changed in the config UI.
UI visible in mini-camera display. It will also be visible in screenshots. The default setting - off - will hide the UI from screenshots and the mini-camera display. This setting is changed in the config UI.
The green light indicates that the desktop window is rendering the mini-camera view. While using VR, if you want the desktop window to show nothing, turn off the "Camera renders to desktop window" toggle in the UI. It's off by default.
Configuration and API
Each primary button is configurable - colors, visibility, triggers. The camera buttons are designed for a specific purpose - only the prev and next button triggers can be changed.
UI for the UI
There are APIs for each of the configurable main button properties such as colors, labels, etc. There's also APIs for camera rotation and rendering to deskop.
Credits
MacGruber's utils. Inspiration drawn from JayJayWon's UI Assist.
This plugin provides a small world-space UI with up to six primary buttons and four mini-camera control buttons. In VR (its primary use-case) the UI is located on the left wrist and will always face the headset, no matter your headset orientation. In desktop the UI will be located in the lower-right corner of the screen.
How to use it! And update in your scene.
Add it to scene plugins or any other atom. Do not add this to a scene more than once. See mini-camera section for important notes.
To update, it should now be possible to load a scene where you're using an older version and replace the plugin with the new version. The new version should read the existing configuration. Don't forget to save afterwards.
Buttons
Each main button can be configured with triggers. Each button also now has a long-press mode which can activate alternative triggers. For example, in the modeling scene show in the images here, the Animate button sequences through some animations. When I long-press this button, the model returns to the default static state.
Demo scene
I have created a demo scene here to show how I have used this plugin. It's pretty clunky; I'm sure you find better ways to use the plugin.
Mini-Camera
Attached to the UI is a mini-camera view. This view renders the WindowCamera atom's camera. You can move the WindowCamera control around and change its FOV and it will be reflected in the mini-camera display. The mini-camera view can be switched off. For VR users, I have disabled the default behaviour of the WindowCamera whereby it renders to the desktop window when actived (your privacy is maintained).
You can use the mini-camera view for a lot of things. For modeling, I use it to show a profile view of the face, for example. I use triggers on the cam prev and next buttons in the UI to move the camera to different angles. For action scenes, the mini-camera can be used creatively. See my demo scene for one example.
Rotation: The mini camera display can now be rotated; Landscape, Portrait, and Auto. Auto is like auto-rotate on a mobile device, but the rotation is chosed based on the orientation of the WindowCamera control.
Resolution: You can now change the resolution of the mini camera display. This is particularly noticable in VR.
Important: The mini-camera view is hijacked from the built-in WindowCamera and DisplayControl atoms. Please don't mess with these atoms if you want the mini-camera to function as intended. The plugin will restore these items to their original state when it unloads.
Performance: The mini-camera view can reduce FPS a little, especially in VR. This is not a plugin issue, but rather the graphics engine just needs to do extra rendering work. Increasing the mini camera display resolution will have an impact on performance. I didn't notice it too much.
Mini-Camera buttons
Prev and Next: These are the > and < buttons. You can configure triggers for these to move the WindowCamera around.
Cam: Turns the mini camera display off and on.
A / L / P: This reflects the current rotation of the mini camera display.
Mini-camera display in-front of world-space objects. This is the default setting.
Mini-camera display behind world-space objects (based on your avatar's current location). This setting can be changed in the config UI.
UI visible in mini-camera display. It will also be visible in screenshots. The default setting - off - will hide the UI from screenshots and the mini-camera display. This setting is changed in the config UI.
The green light indicates that the desktop window is rendering the mini-camera view. While using VR, if you want the desktop window to show nothing, turn off the "Camera renders to desktop window" toggle in the UI. It's off by default.
Configuration and API
Each primary button is configurable - colors, visibility, triggers. The camera buttons are designed for a specific purpose - only the prev and next button triggers can be changed.
UI for the UI
There are APIs for each of the configurable main button properties such as colors, labels, etc. There's also APIs for camera rotation and rendering to deskop.
Credits
MacGruber's utils. Inspiration drawn from JayJayWon's UI Assist.