MacGruber Essentials

Plugins MacGruber Essentials

Version 8 is now free!
Version 8 adds a toggle to the ParentHoldLink plugin to change its behavior, making it possible for characters to pick up and put down objects, like in this video:

Changelog
  • ParentHoldLink: Added option to prevent the plugin from resetting it's relative position/rotation when it is deactivated and then reactivated. This makes the atom snap into position when turned on, but it prevents unintentional drift/misalignment when doing crazy things like picking up a toy, playing with it and putting it back afterwards. You can just turn on/off the atom (or the plugin) at the right time in your animation and get what you expect.
Version 7 is now free!
Version 7 introduces the PowerHandles plugin that was teased a week ago and is intended for heavy users of the VaM Desktop mode. I was annoyed by often accidentally rotating instead of moving and vice versa. See the changelog below for all nice improvements you get from PowerHandles as well as some minor fixes/additions to other plugins in the Essentials collection.

Changelog
  • PowerHandles: Position handle only enabled when holding LeftCTRL.
  • PowerHandles: Rotation handle only enabled when holding LeftALT.
  • PowerHandles: Prevent accidental movement by disabling "MouseGrab" of unselected control nodes.
  • PowerHandles: Use global coordinate system when holding LeftSHIFT.
  • PowerHandles: Align objects by global position/rotation grid when holding SPACE.
  • PowerHandles: Option to scale VaM's control node UI, like the green icons. Also disabling rendering of sphere collider for "Empty" atoms, if the collision is disabled. Great for better overview in scenes with lots of clustered atoms!
  • FrameRateControl: Added 1/3 and 1/4 VSync options. Could be helpful when recording video of a complex scene and your machine is too slow. E.g. record at stable 15fps at 50% time scale and speed up the recording to 30fps later. (Note: Using VaM's time scale setting will break audio.)
  • FrameRateControl: Removed "keep settings over scene change" option as we have proper SessionPlugins now.
  • SuperShot: Added some 32:9 and 36:9 resolutions. The latter is the recommended aspect ratio of Patreon cover images.
  • EditMode: Fixed issues when being added as a SessionPlugin.
Changelog for Version 6
  • ParentHoldLink: The build-in ParentLink feature in VaM that can link one atom to another has the problem of using the position the atom was at in the previous frame. Even at 90fps, for fast animations this can cause obvious visual lag. ParentHoldLink solves this issue, updating the atom to the correct position. This plugin is obviously based on the identically named plugin by Blazedust, but has some improvements:
    • Usage instructions displayed directly in the plugin UI. Otherwise no UI needed anymore.
    • Saving link offset with the scene to avoid potential misalignment when loading the scene later.
    • Handling plugin enable/disable correctly.
    • Code cleanup and minor performance improvements.
  • SkyMagic: Fixed issue where sliders in 'Scene Lighting' panel were not being applied to custom skies.
  • SkyMagic: Fixed NullReferenceException exception that could happen when loading a scene while unloading a similar scene.
  • SkyMagic: Updated SkyMagicDemo to use current plugins dependencies.
  • SuperShot: Display log message if the plugin or the atom is not enabled to avoid confusion of silently doing nothing. I hope this was the issue that cause the plugin to stop working occasionally.

ParentHoldLink01.jpg
EarlyAccess ended, it's now free!

Dependencies for SkyMagic Demo:
Changelog for Version 5
  • SuperShot: Fixing compatibility with PostMagic. Note that screenspace post-effects can behave differently when applied at higher resolution.
  • SuperShot: Clear selection while taking screenshot to avoid UI elements in the camera image.
  • SuperShot: Screenshots can be triggered by VaM action. You can hook SuperShot to your custom buttons or third-party scripts.
  • SuperShot: Take screenshots from the perspective of the WindowCamera atom. Technically you can build your "physical camera" for VR now!
  • SuperShot: New custom camera feature! Take multiple screenshots from different perspectives at once. This could for example be useful for taking screenshots of different clothing variations from multiple perspectives or maybe like making graphic novels with VaM. To use this add one or more 'Empty' atoms into your scene and rename them to 'SuperShot#X', 'SuperShot#Y', and so on. These are used as camera positions, 'X' and 'Y' can be anything and will appear in the filename later. Atoms can be turned on/off to enabled/disable positions. You can use the WindowCamera preview for easier positioning. SuperShot uses the FoV of the WindowCamera for these custom screenshots. See video for a quick tutorial.
  • SuperShot: Fixed memory leak when not using super-sampling.
  • SuperVideo: Fixing compatibility with PostMagic. Note that screenspace post-effects can behave differently when applied at higher resolution.
  • SuperVideo: Removed additional Blit step for better performance.
SuperShot-UI.jpg
Changelog for Version 4
  • Two new plugins, SuperShot and SuperVideo, replace the old SuperResolution plugin. The plugin has essentially been rewritten from ground up. SuperShot is intended for screenshots. SuperVideo modifies the WindowCamera, intended for video recording by external software like OBS.
  • SuperShot: Choose among common aspect ratios: 16:9, 16:10, 21:9, 4:3 and 1:1. Each ratio comes with a list of common resolutions. Of course you can now also take portrait screenshots in inverted ratios such as 9:16.
  • SuperShot: Instead of just outputting in ultra-high resolution, the plugin can now also super-sample the screenshot for you. Quality-wise this is almost identical with downscaling in GIMP, although its done on the GPU. With the old plugin the bottleneck was always saving the large image as JPG on disk, which took a second or so while freezing VaM. If you only need the normal sized shot, this is now MUCH MUCH faster! For supersampling you have the choice between Linear (Blurring) and Lanczos3 (Sharpening) and resolution multipliers 2x, 3x and 4x. Internal texture size is limited to 8192x8192.
  • SuperShot: You have the choice now between saving as PNG (Quality) and JPG (Filesize).
  • SuperShot: The build-in VaM screenshot tool has been modified with a much larger preview (freely scalable now) as well as support for the different aspect ratio. As an alternative, while in Desktop mode, you can also take screenshots directly from the player perspective.
  • SuperShot: Some people mentioned that they had trouble holding their head exactly straight when taking shots in VR. This why you can now "Lock Z Rotation" to make your screenshots exactly level.
  • SuperShot: Should someone be annoyed by the flashlight, you can turn it off now.
  • SuperShot: Since it might not be that clear for some how much graphics memory is needed, there is now an memory estimation. In the worst cases with everything cranked up, SuperShot can (momentary) need up to 3-6 GB (!!) of graphics memory, excluding VaM itself and your scene. If you get incomplete/black pictures you did probably run out of memory. Please don't complain if this doesn't work on your 2 GB laptop card...
  • SuperVideo: Super-samples the WindowCamera with the same options as SuperShot. The output resolution and aspect ratio is always defined by your VaM window. Note that you need a massive rig to record 1920x1080 video with 8xMSAA and 4xSS at a stable 30fps frame rate, my RTX2070 won't do that. However, you can try 2x or 3xSS or lower MSAA.
  • SuperVideo: The plugin is intended to be used with the FrameRateControl (also in this package) to sync your framerate with the OBS capture rate. For example record 2x super-sampled FullHD at 30Hz using VSync-Half. (Note that this doesn't work in VR.)
  • SuperVideo: Preview image matches the aspect ratio of your VaM window now. By default the preview is always attached right of the WindowCamera atom, you can now center it or shift it to the left, which can be helpful when filming in VR. Preview can also be scaled.

SuperShot-UI.jpg SuperShot-Tool.jpg SuperVideo.jpg
SuperShot-Compare.png

Known issues
  • For some reason SuperShot and SuperVideo are not applying effects from PostMagic.
  • FrameRateControl: When "Pause VaM when not focused" is active, do no longer pause VaM while a scene is loading. You can be productive now while waiting on a complex scene to load!
  • SkyMagic: Direct export of PNG files. You still need to go through Unity to apply the convolution step, but at least you get a preview now.
  • SkyMagic: Fixed rendering issue with characters and other native VaM objects, by essentially re-implementing the cubemap render step. You can create reflections of characters now, although it is very tricky to make that look good!
  • SkyMagic: Added support for PostMagic. Note however, that UserLUT is the only effect where this is actually useful. Other effects will produce visible seams at the cubemap edges.
  • SkyMagic: Removed rotation-sync feature, since ReflectionProbes do not support rotation and it was pointless. Added a warning instead.
  • SkyMagic: Can spawn a small reflective sphere now for viewing ReflectionProbes.
  • SkyMagic: Fixed a silent crash during cleanup phase.
  • SkyMagic: Tutorial updated.
Screenshots from "SecretRoom":
Room1dis.jpg Cuffs.jpg
During the extended Easter weekend I had another attempt at my trial&error research for making custom global illumination work in VaM. I had a new idea to try. After already wasting a weekend on this back in September, this time there was glorious success!

Now you can not only import cubemaps from Unity, you can also bake a custom cubemap from within VaM! This allows you to setup a scene as normal and then produce a scene specific cubemap that matches your light setup perfectly. Of course, SkyMagic works on both, native VaM assets (such as characters, clothing, ...) as well as native Unity assets (imported through a CustomUnityAsset). The latter enables you to use AmbientOcclusion textures for PBR materials, e.g. when using the Standard shader, which can spice things up a lot.

In the included demo scene I first imported a high resolution sky as a CustomUnityAsset. Then I setup my scene and baked a cubemap to be used for global illumination.

The process to bake cubemaps within VaM requires you go through Unity and reimport as AssetBundle. Since this is slightly wonky, I included a tutorial explaining the 3 parts of the plugin: SkyMagicExporter, SkyMagicImporter and SkyMagicLoader. As an extra the tutorial also covers how to import a high resolution sky from hdrihaven.com.

Latex catsuit from the second comparison picture is not included.
Beach_SkyMagic_scale.jpg Beach_SkyMagic_comparison.jpg Beach_SkyMagic_comparison2.jpg

Credits
The beach demo scene contains a sky under CC0 licence from HDRIHaven and some public domain audio from SoundBible. The hair was made by our awesome NoStage3.
Back
Top Bottom