• Hi Guest!

    We are extremely excited to announce the release of our first Beta for VaM2, the next generation of Virt-A-Mate which is currently in development.
    To participate in the Beta, a subscription to the Entertainer or Creator Tier is required. Once subscribed, download instructions can be found here.

    Click here for information and guides regarding the VaM2 beta. Join our Discord server for more announcements and community discussion about VaM2.
SimpleStateMachine

Plugins + Scripts SimpleStateMachine

Download [0.07 MB]

entitycs

Active member
Joined
Jun 9, 2021
Messages
66
Reactions
137
entitycs submitted a new resource:

SimpleStateMachine - Spam-Create, Modify, Undo, Compare & Iterate through the States of your Scene/SubScene/Atoms

  • Thank my early backers, esp. Vitlam, if you end up having fun with this.

    SimpleStateMachine

    Main goals:
  • Help users build interactive, and sequential scenes, with less fear of making mistakes.
  • Give the user a better sense of ability, without having to learn much more beyond the native UI.
  • Give users a way to experiment with controller physics values - differences in how character's body moves in...

Read more about this resource...
 
Is this a "state machine" in the Computer Science sense (a symbol graph) or a "procedure that remembers stuff" sense?
 
You could call it a simple version of one. Kind of depends on what you do around it.

"The machine is in exactly one state at any given time, and it changes to a different state in response to inputs, producing outputs based on the current state and transitions."

I honestly haven't done much testing around the "Range" options I made available on request. You could use them in a way that breaks the idea right away.

Basically, it simply saves the state of things, in many variants, and if using only a single instance, gives each state a node within a finite linear graph where states can be entered / exited via the algorithms the machine provides. But I don't stop users from moving the "cursor" and re-appearing at any state from any other state. That's part of what makes it simple. It's not meant to constrict traversals / transitions as part of its intentional design.
 
I'll release a simple demo scene showing how to use it for UI branching. I'll throw in some SFW 2-character states + transition examples too. Working incrementally on my first big scene, showing more use cases & other stuff - couple weeks out though, for the bigger scene.
 
Sup dude... I'm finally gonna give this one a try! (and then also try to wrap my head around your comment on Sensor ;)
 
Sup dude... I'm finally gonna give this one a try! (and then also try to wrap my head around your comment on Sensor ;)
It'll make sense when you see the "lite" scene... I think that's where I'm supposed to release it? The rig would be a little more advanced, but the geofencing between rooms, then adjusting sensor instance(s) per room (by adjusting sensor directly, then creating a slot for each setup using the state machine) would be pretty simple.


aufwiedersehen
 
Use Case Examples: "Swappables"

Custom Unity Asset State Swapping


Player-Preference-Capable Swapping (eg. Player-Chosen Appearance + swaps later in scene)
 
"draft"
Feature Update Preview Thread
  • New feature in latest version - ignore controller restoration on grasped controllers.
  • Feature test - Triggering parent SubScene state from child SubScene Animation, + separate Animation + end of loop trigger for each state: verified working.
    • Haven't tried the feature test on v10/v11, but I don't see why that wouldn't work.
Setup:

# Top Level involving the state machine consists of
SubScene -> SubScene -> Person
names/uids: (.stateTracked -> SubScene -> Person)

# Top level state machine instance
.stateTracked -> SimpleStateMachine -> 4 States
* All -> Controller -> Controller -> All

...Controller states are moving the limbs/controllers.
..."All" states are not only moving controllers, but triggering Animations on "SubScene".
...Triggers in the SubScene animation are making calls back to the parent instance (iterating through the 4 states)
 
Last edited:

Similar threads

Back
Top Bottom