A lighting rig avatar prefab for placing and controlling dynamic lights.
This lighting rig was made for the purpose of making dynamic lights accessible to video makers and photographers. This avatar is able to sync most settings on dynamic lights except, with the biggest exception being the light position and rotation.
This prefab was developed at Metacosm Studios, as was the packaged bot avatar. This prefab can be previewed on the publicly available Mobile Lighting Unit avatar.
NOTE: This system requires 175 bits of expression memory!!! Please make sure your avatar uses 81 bits or less of expression memory without the lighting rig.
- VRC Camera Shy Shader
- VRCFury is absolutely required.
- World Sync v3_18_2024
- VRChat SDK - Avatars 3.1.9+ (created with 3.6.0)
- Download the
.unitypackage
and drag into your avatar project to import - Open the avatar unity scene if not already open
- Drag and drop the LightingRig.prefab in
MetacosmStudios/Prefabs/LightingRig
into the root of your scene- this is the blank section below anything in the hierarchy
- Drag the
LightingRig
prefab GameObject under your avatar root - Adjust the
LightingRig/RightTarget
andLightingRig/LeftTarget
objects to be positioned at the respective hands - If needed, rotate the
LightingRig/RightTarget/RTarget
andLightingRig/LeftTarget/RTarget
objects so that the +Z axis faces the direction going from the palm to the fingertips - Upload your avatar as per usual
This method depend on phys bones and World Sync to work as expected. See the Backup system if this is broken.
- Toggle on the
Light Rig On
option to show the lamps - Drop the rig using the World Sync Drop
- Go to the
Light Rig
>World Sync
sub-menu - Toggle on the
Drop
option to drop in the lamp handles used to position the lights
- Go to the
- Hold and drag the red indicators to position lights (physbones)
- Use the small red cube to position a light
- Use the longer red indicator to rotate the light Note: Another VR user may position the lights once the light rig is on
Configure real-time light properties for Type, Color, Intensity, Range, Angle, and Shadows
- Go into either the
Light 1
andLight 2
sub-menu to configure the light - Change the light into either a
Directional
,Point
, orSpot
light, using the indicated toggles (or toggle off) - Go into the
Properties
sub-menu to change the light properties- Choose the light color using the
Color
sub-menu (uses RGB model) - Change the light strength using the
Intensity
radial (note the bug listed in the caveats section)- goes from 0%=>
0.01
to 50%=>1
to 100%=>10
- goes from 0%=>
- Change the range using the
Range
radial- goes from 0%=>
0.25m
to 50%=>20.25m
to 100%=>220.25m
- goes from 0%=>
- Change the spotlight angle using the
Angle
radial- goes from 0%=>
1deg
to 100%=>179deg
- goes from 0%=>
- Change the shadow strength using the
Shadow
radial- goes from
0%
to100%
Note: All these settings are synced and saved for convenience
- goes from
- Choose the light color using the
This backup system uses hand gestures to move the lamps.
- Toggle on the
Light Rig On
option to show the lamps - Toggle on the
Backup System
option - Open either the
Light 1
orLight 2
sub-menus to select the respect light - Make a fist gesture in the right hand to hold the lamp (if
Right Handed?
is toggled on)- The hand may be changed by toggling the
Right Handed?
option for the light
- The hand may be changed by toggling the
- Make an open-hand gesture in the same hand to let go of the lamp Note: This option does NOT allow someone else to manipulate the position and rotation of the light
You may hide the meshes for the lamps if needed, or make them visible in camera. By default, lamps are not visible in-camera nor in mirrors.
- Go to the Lamp Visibility Menu
- Toggle on/off
Show in VRCLens
to appear or disappear in the camera - Toggle on/off
Show In Mirror
to appear or disappear from the mirror - Toggle on/off
Invisible
to make the meshes disappear completely (renderers off) Note: these options are located outside of the light rig menu because these are also used by all Metacosm Studios filming bot avatars.
The Camera Shy shader included will be invisible on desktop if the client FOV is not set to 60 degrees.
The physbones on the rig will jitter when the avatar-user is moving. This will not affect the light positioning.
Please note that due to this issue where radial menus briefly set their values to 100%, the intensity will flash at 100% when opening the radial! (workaround pending).
PeachBight @PeachBight
- 0.1 (2024-05-12)
- Initial Public Release
- 1.1 (2024-05-26)
- Full release
- Mesh shadowcasting fixed
- Light intensity more sensitive from %0 to %50
- Removed requirement for full-unpack
- 1.2 (2024-05-28)
- Fixed shadowcasting on indicators
- Added public avatar to README.md
This project is licensed under the MIT License - see the LICENSE.md
file for details
This prefab is dependent on World Sync by Juzo, more info in Assets/WorldSync/ReadMe.md
This prefab also uses the VRLabs World Constraint System by lin of VRLabs
Uses direct blend trees for simplifying animator layers