Studio Maestro

Plugins Studio Maestro

hazmhox

Moderator
Featured Contributor
Messages
1,504
Reactions
7,318
Points
173
hazmhox submitted a new resource:

Studio Maestro - Virtual photography at your fingertips

⚠ PLEASE:
  • If you like this asset, consider liking and reviewing it for the community
  • Read the documentation, read the ingame help if you have any trouble. We will not answer private messages asking questions about things that are actually explained in the documentation/help.

View attachment 353757


What is Studio Maestro
Studio Maestro is a virtual photography session plugin allowing you to create presets for...

Read more about this resource...
 
Hey, it's a great plugin! I have a question/request though:

Would it be possible to make it work with lights loaded as subscenes? I am loading some epi subscene and parent it to your empty atom. After saving, it looks like all light atoms are correctly added and subscene atom can be safely deleted. I can rotate the rig correctly, however all lights seem to have exact same default settings. If I manually parent each light individually instead of a subscene, looks like their values are saved into the preset correctly.

It's not a big problem if you need to manually parent each light instead of a subscene containing them, but it would be nice to have.
 
Hey babul : )

The goal is to remove all the friction induced by the 10000 ways of doing presets and control a scene in virtual photography situations inside VAM.

By starting to divide the way you handle lighting from the plugin, you start complicating things and potentially induce bugs OR "ha yeah this time that was a light in a subscene and that time it was a light in my light preset" scenarios.

Also, handling the same feature as Maestro's light rig will imply to have new control. Which will pack the UI with additional controls that only you (or a couple of other persons) will use when the rest will use the integrated light preset system.

You can simply load up your favourite light rig subscene, then save a light preset. I know there's a bug to fix that I will address soon, you need to unparent the items beforehand. But in the future that's gonna be as simple as loading the subscene with your light rig and save the preset.

I think what you're trying to achieve here goes in the opposite direction of the plugin's goal : )
To use an analogy: that's like if you were asking your car dealer to have a stick shift on top of your automatic transmission. That's kind of counter productive, choose one or the other ^^

( and don't tell me that semi-auto cars exists, that's not the point I'm trying to make :p )

My way of saying: embrace the lighting process from Maestro and save your favourite light subscenes as Maestro light presets. Subscenes were just a way of compensating the lack of tools. Maestro handles that by itself : )
 
Juno told me I misunderstood your intent (which is true after reading it back). You're just talking about the know bug of importing lights from a subscenes. But this is great this also will be a testament to people wanting lights in subscenes ;)
(see what I did there :p)

I'll fix the subscene issue as soon as possible!
In the meantime, load your subscene then use the "unparent all" before saving the light preset and you'll be fine ^^

Btw, you should not parent it to anything, simply save the light preset after loading the subscene (and for now: unparented all lights).
 
You've made a lot of excellent plugins, and this is another one,thanks for the tutorial video, and sorry for the wrong vote, I can't change it now, so i'm trying to ask the admin to remove it ,I really hope it works
 
You've made a lot of excellent plugins, and this is another one,thanks for the tutorial video, and sorry for the wrong vote, I can't change it now, so i'm trying to ask the admin to remove it ,I really hope it works

Thank you for getting back to me on this : )

We're okay.
On a side note: we're preparing an import system and a set of presets in the near future for lights. Hope this will help you get you started with the plugin.
 
Thank you for getting back to me on this : )

We're okay.
On a side note: we're preparing an import system and a set of presets in the near future for lights. Hope this will help you get you started with the plugin.

My request to withdraw my vote was responded to, making up for my mistakes, and I hope to be forgiven by you.
 
My request to withdraw my vote was responded to, making up for my mistakes, and I hope to be forgiven by you.

You were already as mentionned in the previous post :)
Not a lot of people make amends for inconsiderate reactions, you did, and I really appreciate that, thank you again.
 
I love the model you used. Where can i find her?

Eve, blue hairs, Selene dark hairs with white panties (if of course you're refering to the long usage video with all the shots at the end).
If not (the other two videos) they are most certainly Juno's unreleased girls of his own.

Eve and Selene will be available when the Read Only Memories scene is published.
 
hazmhox updated Studio Maestro with a new update entry:

LUT Update

LUT Update
  • Added LUT feature (handled through @MacGruber's Post Magic, thank you buddy as usual!). LUT settings are saved with the lights preset.
  • Added new preview system featuring quality setting and overlay options
  • Changed the right UI layout to be nicer and more in line with the new preview features
  • Fixed a bug when using the search function for the sets
...

Read the rest of this update entry...
 
Is there a chance that at any point some of the pre-sets created, like the Bokeh_HDR backgrounds from the last video on the page will be made available for download? They look so good. The bokeh CUA/plugin you made is already quite good, but it looks like you made it into a skybox, because it almost feel like around the entire scene.

Once again, thanks for the amazing resources!
 
Is there a chance that at any point some of the pre-sets created, like the Bokeh_HDR backgrounds from the last video on the page will be made available for download? They look so good. The bokeh CUA/plugin you made is already quite good, but it looks like you made it into a skybox, because it almost feel like around the entire scene.

Once again, thanks for the amazing resources!

Yup! This is planned and this is the next update. The preset system is ready (an integrated system that allows you to install presets), we're just creating, sorting out presets, naming them... it's longer than the code part :']

Thank you for supporting my work <3
Edit: "OUR" work ( we're both working on that with Juno ;) )
 
Last edited:
This is an absolutely amazing plug-in. Is there a way I can trigger any of it from a simple UI button or other external method? I'd like to create my own in-world buttons and triggers to switch between presets without opening up the actual plugin UI interface, but I don't see any hooks for it (although I may just be looking in the wrong place?)
 
This is an absolutely amazing plug-in. Is there a way I can trigger any of it from a simple UI button or other external method? I'd like to create my own in-world buttons and triggers to switch between presets without opening up the actual plugin UI interface, but I don't see any hooks for it (although I may just be looking in the wrong place?)

Being a session plugin, I have no way of having a direct call on the plugin I think (like a normal action with triggers).
Let me try to think of something. I could potentially do a relay of some kind... I'll keep you posted : )
 
hazmhox updated Studio Maestro with a new update entry:

Alpha Update

View attachment 423626
Well...

Yesterday I needed a break from the incoming Halloween scene we're working on with @Juno and @Spacedog so I started thinking back of the things I failed to do and could fit into Studio Maestro.

An hour later, I succeeded in finally doing proper screenshot with an alpha channel. I'm so excited about this feature that I temporarly disabled the features from the next big...

Read the rest of this update entry...
 
This is an absolutely amazing plug-in. Is there a way I can trigger any of it from a simple UI button or other external method? I'd like to create my own in-world buttons and triggers to switch between presets without opening up the actual plugin UI interface, but I don't see any hooks for it (although I may just be looking in the wrong place?)

Thinking about this recently.

Would a "HUD" system work for your case? Instead of doing world UI, it would be on the screen somewhere (obviously only desktop).
( I'm currently considering a full autonomous HUD outside of the plugin )
 
Last edited:
First off I'd like to say this is a fantastic plugin overall, and I really appreciate it. The screenshot with alpha feature in particular is very useful for me.

I have run into a major problem, though, where I can't seem to get the camera positions to load. I've looked through the documentation and even tried just doing that in a clean scene, with just a floor, light, and one prop, to no avail.

It appears to save my camera (position & orientation) presets, such as:
1730995751976.png

1730996091983.png


As seen below, when the camera is at the position where I saved the second camera preset of "TestLeft", even after selecting "TestRight" for the "Load Cam Preset", the camera does not move, and it's still at the "TestLeft" position (or wherever else I've manually moved it). Making selections for "Load Cam Preset" simply appears to have no affect, while also raising no errors.

As a very likely related clue, moving the slider has no effect beyond the slider's position, not even updating the text in the button, and selecting from the dropdown after pressing the button doesn't update the text on the first try either, but rather requires two presses and selecting the same choice in order for the button text to update to that choice.

Here's how things look after using the dropdown twice in a row to select "TestRight" (while being at the position of TestLeft):
1730996222654.png



For more context, I do get a strange message whenever I enable Studio Maestro, where it seems to be failing to detect MacGruber's Essentials 16.
1730995532174.png



I do actually have that resource, though it is in a subfolder, named "MacGruber" (all my resources are arranged this way, in subfolders by creator name, with no other ill effects):
1730995651142.png


I'm unsure if this error message is related to the camera positions failing to load, other things work, such as tweaking camera positions, taking screenshots, etc. It's only the restoring of saved camera positions that seems to be failing.

Please let me know if I'm doing anything incorrectly or take a look at what could be going wrong here. I'm also happy to provide more information or try things out for you to troubleshoot this further.
 
I just tried moving MacGruber's Essentials up from the subfolder, and that did result in the error message no longer appearing. However, all other issues related to failing to load the camera presets persist as before.

So, that error message does seem to be just a false positive based on an invalid assumption as to the location of the Essentials plugin.
 
Send me both your camera presets : )
Or you can even copy paste the file contents in here it's short.
You will find them in \Saves\PluginData\StudioMaestro\WinCam_Presets

I'll answer to the rest afterwards.
 
Last edited:
So, that error message does seem to be just a false positive based on an invalid assumption as to the location of the Essentials plugin.

This is not an "invalid assumption". This is how VAM is made. Any plugin will download into the root.

My code accounts for VAM vanilla behavior... I'm not gonna code something specific and/or scan for several depths in addonpackage folders to account for people messing with VAM's original behavior : )

This is even more true since VAM does not even take in account existing files in subfolders when downloading. If you redownload it, it will duplicate the file at the root.

Long story short: if you're messing with how VAM works, expect bugs.

Waiting for your camera jsons ;)
 
In my opinion this plugin is indeed making an invalid assumption, as I think it's a quite reasonable action to place resources in subfolders, and every single other plugin and feature I've ever used handles that just fine. You are of course free to make your own determinations, but I find that an odd thing to be so adamant about, given how most features for most programs support subfolders, as does everything else in VAM.

Anyway, back to the core issue, I ended up just poking around at it and doing some logging. It turns out that the camera presets it saves do not include an entry for "FOV", and the loading code blows up when trying to parse a null string pointer into a float, causing it to silently abort before completing the rest of the loading code. Adding a check for an empty string for the FOV value and skipping the rest of the FOV code seems to get it working for me.

Here's what my camera preset looks like, as an example of one without FOV:

XML:
{
   "CameraControl" : {
      "id" : "CameraControl",
      "cameraOn" : "true",
      "showHUDView" : "true"
   },
   "control" : {
      "id" : "control",
      "position" : {
         "x" : "0.09647864",
         "y" : "0.8539563",
         "z" : "0.3075236"
      },
      "rotation" : {
         "x" : "10.68562",
         "y" : "95.17557",
         "z" : "-1.30326E-06"
      }
   }
}

Here's my code change, if (StorableDatas["FOV"] != null), which appears to be one way to address this (other than ensuring FOV is in written to the preset, etc.):

C#:
        protected void LoadWinCamPreset(string name, bool isSyncedLoading = false)
        {
            JSONClass LoadedPreset = SuperController.singleton.LoadJSON(PRESETS_WINCAM_PATH + "\\" + name + ".json") as JSONClass;
            foreach (KeyValuePair<string, JSONNode> jsonData in LoadedPreset)
            {
                // We ignore the display control parameters to avoid changing it's position
                if (jsonData.Key == "DisplayControl") continue;
            
                JSONClass StorableDatas = jsonData.Value as JSONClass;
            
                // Overriding some values of the camera control to the current state
                if (jsonData.Key == "CameraControl")
                {
                    StorableDatas["showHUDView"] = "" + GetPreviewState();
                    StorableDatas["cameraOn"] = "" + WinCamControl.GetBoolParamValue("cameraOn");

                   if (StorableDatas["FOV"] != null)
                        WinCamFOV.valNoCallback = float.Parse(StorableDatas["FOV"].Value);
                }
 
Last edited:
This is even more true since VAM does not even take in account existing files in subfolders when downloading. If you redownload it, it will duplicate the file at the root.
That has not been my experience. VAM properly handles resources in subfolders, detecting them in all cases, including showing that I have downloaded them, avoiding duplicating them, etc. I've been operating this way for years, with no other issues prior to this plugin's error message.
 
Back
Top Bottom