VUML

JayJayWon

Well-known member
Featured Contributor
Messages
568
Reactions
1,760
Points
93
Patreon
JayJayWon
JayJayWon submitted a new resource:

VUML - Provides configurable variables that enable conditional logic flow and calculations.

VUML is a plugin by JayJayWon designed to provide basic logic flow and calculations that can be setup within the VAM virtual space. Combined with the latest ActionGrouper plugin (also by JayJayWon) it allows creators to trigger actions based on a combination of states and conditions without having to code their own C# Unity plugins. VUML allows the user to create any number of Boolean, float or string variables the values of which can be static or derived/calculated from a combination of...

Read more about this resource...
 
JayJayWon updated VUML with a new update entry:

VUML v1.6 Update

Two minor bug fixes:
  • When loading VUML variables, any other plugins that are hooked into that VUML instance don't reflect any changes in the variables.
  • When scoping a VUML variable from another VUML instance, it doesn't show the first variable in the series
Thanks to darklordofmeep for reporting.

Read the rest of this update entry...
 
Hey JayJayWon, thanks for the resources, I used VUML, ActionGrouper and OrificeAligner in my resource posted today at https://hub.virtamate.com/resources/electric-pleasure-virani.2004/

With VUML and ActionGrouper I had a question though - I'm used to scripting in python and javascript and basically I wanted to do something like

voice = 1,2
speed = slow,easy,fast,hard

if (voice1) {
if (slow) { play voice1_slow);
if (fast) { play voice1_fast);
...
}
if (voice2) {
if (slow) { play voice2_slow);
if (fast) { play voice2_fast);
...
}

What I ended up with was 8 bool group plugins(1 for each voice play action) that were triggered from VUML by a bool comparison combination of bool voice and bool speed(slow/fast) - so in VUML to accomodate this I ended up with a total of 16 bools. I ended up needing something like a radio trigger for the bool(voice or speed) selected because the bool choices there were exclusive to each other. I think it works ok, but took a bit to wrap my head around using bools instead of float integers, not sure if you have a different easier take on accomplishing that. I thought about using floats, but didn't see where you could 'and' comparison between two float values(like say if voice = 1 and speed = fast, play voice1_fast) the same way as bool values.

I was thinking about using array values/lookups for my controls, like incrementing and decrementing through a long list of choices, but I can't think of a way to do that without getting into plugins and C#, which isn't the worst as I've done some game programming in unity earlier with C#.
 
Last edited:
Not sure I totally follow your scenario, but in general VUML is simplistic and more complex logic will take some setting up. Its never going to replace coding in a real programming language.
Dont know if it quite fits your scenario, but you could possibly have created a vSTRING that was a concatenation of the speed ("fast", "slow", "easy", "hard") and the voice (1 or 2). So you would have ended up with strings that were "fast1" or "fast2" or "slow1" or "slow2" etc. Then you could have your eight Sting Comparison vBOOLs for each of the eight voices.

1602495286850.png

You can also dynamically concatenate a string based on other variables. See here for details: https://www.patreon.com/posts/35790864
 
Last edited:
Thanks for the patreon page example and this, I see how the concatenation would work like my pseudocode and better/easier to implement.
 
I realized my scene is running very slow(5-20 FPS) and tested disabling parts of my VUML and ActionGrouper elements in the session. When I disable my ActionGrouper elements, I get my lost performance/FPS back. In VUML I tries setting my BOOLs to Execution from Continuous, but it didn't seem to make a difference. Is there something I'm doing wrong with my VUML/ActionGrouper setup thats creating a performance bottleneck? Thanks
 
@thx1138 that's a bug in ActionGrouper it seems. I'm surprised no one has seen it before!
Its a simple fix I believe, I'll DM you a version to check and then I'll package it as a new VAR.
 
I'd love to be able to save established variables inside plugin presets and/or subscene atoms, but I noticed that the plugin resets when loaded anywhere other than a saved scene.

Is this a feature that might be possible in the future?
 
I'd love to be able to save established variables inside plugin presets and/or subscene atoms, but I noticed that the plugin resets when loaded anywhere other than a saved scene.

Is this a feature that might be possible in the future?
I wasnt aware that was a problem - but I'm not too surprised. VUML was created before plugin presets and subscenes and (in retrospect) the saving and loading functionality of VUML wasnt really implemented with the optimal code pattern. I'll have to take a look and see how much work it would be to re-engineer. Thanks for reporting!
 
Hey JayJayWon, i just made a nice F*** Scene with VUML and ActionGrouper. But evertime i Load my Scene nothing works anymore... i have to "Reload" the plugins and make all the settings new. I don't really know if the problems on your plugins side or VaM itself. Just wanted to mention it. Its pretty annoying though =/
 
Hey JayJayWon, i just made a nice F*** Scene with VUML and ActionGrouper. But evertime i Load my Scene nothing works anymore... i have to "Reload" the plugins and make all the settings new. I don't really know if the problems on your plugins side or VaM itself. Just wanted to mention it. Its pretty annoying though =/
That doesnt sound good. Can you confirm what versions of VUML, AG and VAM you are using?
 
Hey i just found out it has to be something with the scene itself. I just made a new one, fast and simple... and in this scene its all working. Even after Reload. I think my other scene is just cramped with old scripts or something. Would be nice to have a possibilty to clean scene from scripts. Or am i just too stupid? ^^
 
Hey i just found out it has to be something with the scene itself. I just made a new one, fast and simple... and in this scene its all working. Even after Reload. I think my other scene is just cramped with old scripts or something. Would be nice to have a possibilty to clean scene from scripts. Or am i just too stupid? ^^
Yeah I know what you mean. Scripts can be attached to so many places, even finding them can be challenging. VAM is hard work but ultimately fun! If you can reproduce the problem with VUML in a clean scene then give me a shout again.
 
I'd love to be able to save established variables inside plugin presets and/or subscene atoms, but I noticed that the plugin resets when loaded anywhere other than a saved scene.

Is this a feature that might be possible in the future?
Ok that should now work in the version I just released. I tested it with Plugin Presets, but not SubScenes - let me know if you have any problems.
 
Ok that should now work in the version I just released. I tested it with Plugin Presets, but not SubScenes - let me know if you have any problems.
Tested with subscenes (including VUML and Action Grouper plugins), works like a charm!
Thank you so much for the update, this is a serious game-changer!
 
VUML doesn't like latest VaM 1.20.77.8

!> Exception caught: System.NullReferenceException: Object reference not set to an instance of an object
at JayJayWon.VUMLVariable.ColliderContact (System.Object sender, JayJayWon.TriggerEventArgs eventArgs) [0x00000] in <filename unknown>:0

Bummer... I had an interesting idea to share with community... :(
 
VUML doesn't like latest VaM 1.20.77.8

!> Exception caught: System.NullReferenceException: Object reference not set to an instance of an object
at JayJayWon.VUMLVariable.ColliderContact (System.Object sender, JayJayWon.TriggerEventArgs eventArgs) [0x00000] in <filename unknown>:0

Bummer... I had an interesting idea to share with community... :(
What version of VUML were you using. Can you provide more details of how you created that issue as it seems to work ok for me.
 
What version of VUML were you using. Can you provide more details of how you created that issue as it seems to work ok for me.

I'm using VUML v1.7

I'm attempting to create a BOOL that displays the state of a collision trigger.

[Operation Type] is set to "Collision"​
[Result Update Frequency] is set to "Continuous"​
[Scope] is set to "ANY"​
For some reason I'm no longer getting that error message, but I'm still not seeing a change in value when triggering a collider.
I tested a "Look At" trigger, that seems to work fine.
 
Last edited:
Back
Top Bottom