SnippetsA collection of small unrelated scripts to address specific needs. This resource should make it more straightforward for me to release additional small free scripts in the future, as I have a template ready, and can publish them without having to create a new Hub resource. If you have an idea for something useful that could be quick and easy to implement, I'm open to your suggestions!
Script | Description | Type |
---|---|---|
BulkAllowPossessGrab | Toggle Allow Possess/Grab on all selected joints at once. | Person |
FocusDistance *new* | Adjust camera focus distance via slider/trigger, save and load focus distance with scene. | Any except Session |
FrameRateControlEE | Freely select target frame rate between 20-240, fixed bugs. Improves upon FrameRateControl by @MacGruber. | Session |
HairColorChangerEE | Improved version of Hair Color Changer by @LarrysArms. | Person |
HideTrackersByDefault | Checks the Hide Trackers toggle in VAM user preferences automatically. | Session |
SaveLoadedScene | Adds a Keybindings action Global.SaveLoadedScene for saving the currently loaded scene. | Session |
UISliderColors | Allows adjusting UISlider's handle, fill and background color and alpha. | UISlider |
UISliderSync | Sync the value of a float parameter to a UISlider atom's slider. | UISlider |
UITextSync | Sync the value of a string parameter to a UIText atom's text area. | UIText |
UIToggleSync | Sync the value of a boolean parameter to a UIToggle atom's toggle. | UIToggle |
VRControlGizmos | Makes the rotation and position control gizmos visible in VR (visual only, cannot manipulate). | Any |
VRPointerSettings | Adjust the width, color and alpha of the left and right VR laser pointers. | Any |
Required VaM version is v1.20.77.13 or later, except for SaveLoadedScene which requires v1.21 or later.
BulkAllowPossessGrab
- enable or disable Allow Possess/Grab for Position or Rotation for many joints at once
- execute via UI or trigger
- select which joints to include in the operation
FocusDistance
By default, VaM does not save the camera focus distance, only the camera position and player height. It can be annoying to have to reposition and zoom the camera to enable right mouse button to properly orbit the intended focus point such as a person's face. This plugin solves that problem, and allows you to also adjust the focus distance via trigger.FrameRateControlEE
Changes compared to FrameRateControl from MacGruber.Essentials.16:
- Freely select any target frame rate number between 20 and 240
- The target frame rate popup with fixed options is replaced by the "Use target frame rate" toggle and the "Target frame rate" slider
- Fixed issue where having the plugin disabled on startup still applied the selected settings; now it properly initializes as disabled
- Fixed issue in VR mode where saving a session plugin preset containing the plugin would cause the plugin to load with default settings the next time in desktop mode, nullifying your customizations to the settings
- The fix was to ensure the plugin initializes fully and registers its parameters even in VR
- Fixed issue where "Pause VaM when not focused" did not allow the automatic default scene loading to proceed on startup or when restarting via Hard Reset
- Plugin must be added to Session plugins (can't add to some random atom)
HairColorChangerEE
Improvements to the original script from LarrysArms.HairColorChanger.2:
- hair list is automatically synced when navigating to plugin UI, opening Copy From popup, loading a hair preset, and loading an appearance preset
- hair list can be synced via trigger action (useful mainly after enabling a hairstyle via trigger)
- Copy From popup value can be set via trigger
- Apply To All can be called via trigger
- Restore Hair Defaults can be called via trigger
- improved preset loading
- list shortcuts to appropriate var packages
- fixed issue where reselecting the previously selected preset file did not apply its parameters to the active hairs
- added Load From Hair Preset With Path action, equivalent to the load preset button in the plugin UI
All new trigger targets:
HideTrackersByDefault
The Hide Trackers toggle is unique among VAM user preferences in that it is not saved to the prefs.json file. VAM always initializes that toggle as unchecked on startup. This plugin allows you to set it checked by default. Disabling the plugin prevents it from checking the toggle, and enabling the plugin automatically checks it again.
SaveLoadedScene
Requires Keybindings by Acidbubbles.
UISliderColors
By default in VAM, only the text and panel can be adjusted. UISlider Colors allows adjusting the a UISlider atom's handle, fill and background color and alpha. These parameters are triggerable so you can animate them.
UISliderSync
Use UISlider as a value or progress indicator. Optionally prevent the user from interacting with the slider, only allowing a change in the synced parameter to change the slider value.
In this demo, the light intensity is being randomized, and this plugin updates the value to the UISlider:
UITextSync
Sync the text from a string parameter to a UIText atom's text panel. Some examples: another UIText's text parameter, a plugin's label parameter, presetName of any preset type, texture URL, and any string parameter registered by some plugin.
Supports auto fitting the text to the available area (decreases font size to a defined minimum font size in order to prevent overflow). This also works without selecting a parameter to sync, and is enabled by default.
UIToggleSync
Use UIToggle as an indicator of some boolean state. Optionally prevent the user from interacting with the toggle, only allowing a change in the synced parameter to change the toggle's state.
VRPointerSettings
- Adjust the width, color and alpha of left and right VR pointers
- Use a custom selection line from each VR hand to a selectable controller in the scene, with adjustable width, color and alpha.
The width and alpha settings could help with making the laser pointers more easily visible when using high resolution VR displays. One remaining visibility issue is the link lines between linked controls - that might be another script later as those are also shown in desktop mode.
Set your own defaults by adding the plugin to Session plugins. If added to an atom or to Scene plugins, the width, alpha and color parameters can be adjusted via triggers.