Answered How do you transition One scene to another without having to reload assets?

3rdStoryline

Active member
Messages
124
Reactions
29
Points
28
In the past, I recall coming across a scene that they had a uibutton that would load another scene save file, but it would retain the assets that were already loaded, as well as retain their changes/alteration, but would replace other things like the person.

For instance I'm attempting to make a scene where Individuals come in one at a time to take a test. After the test is complete, I want to be able to switch them out for another person, but not have to reload the entire scene and assets, just the character and it's corresponding animations, and animationpatterns.

The primary "need" is that I want the changes to the Environment to remain the same between each transition. As each individual has various ways of interaction that differ from one to the other. During the scene certain assets will be generated(loaded in or have edited plugin values,) and I want to retain those for when the next person is loaded in, having those assets remain in the scene unchanged/unmoved from their previous states. These various things can be random though, so Attempting to have a "Next Scene" button just won't work as it will basically only load what was saved for that scene, and remove everything that was in the previous one.

My current Idea was to just make a list of buttons for each person as a load and remove subscene button. I figure by naming all the subscenes the same name, I can remove the current subscene with any of the buttons, and load in a desired Person when I press the button (no matter whose loaded in) their subscene is removed and the next person is loaded in via their subscene save file, but I haven't gotten far enough to test if that would work, or if the option to Load/Remove a Specific SubScene using a UIButton is even possible..

Any advice would be great! I'm just trying to figure out what my next steps are before I'm fully there, as currently I'm doing A LOT of braindead tasks like setting up 50+ 'Buttons' to Adjust various asset animations and audio cues.
 
Solution
There are different ways to do such things in VaM:

  • Loading a new scene (that doesn't work well in your case, as you noticed)
  • Merge-Loading a new scene (Loads the new atoms. BUT it keeps objects in the old scene, unless there is an atom with the same name in the new scene)
  • SubScenes (AFAIK you can't have multiple subscenes with the same name as that would be the same file. But loading specific subscenes is definitly possible. And they need to be in the same category/subfolder, maybe that's what you meant)
  • Presets (potentially instead of loading a new character you just apply presets to it. Keep the plugins, but load new appearance and pose, etc.)

Probably familierize yourself with all of those methods to figure out...
There are different ways to do such things in VaM:

  • Loading a new scene (that doesn't work well in your case, as you noticed)
  • Merge-Loading a new scene (Loads the new atoms. BUT it keeps objects in the old scene, unless there is an atom with the same name in the new scene)
  • SubScenes (AFAIK you can't have multiple subscenes with the same name as that would be the same file. But loading specific subscenes is definitly possible. And they need to be in the same category/subfolder, maybe that's what you meant)
  • Presets (potentially instead of loading a new character you just apply presets to it. Keep the plugins, but load new appearance and pose, etc.)

Probably familierize yourself with all of those methods to figure out which combination of them works best for your use case. Possibly something like switching a subscene, but then loading presets onto the characters afterwards to "retain changes".
 
Upvote 2
Solution
There are different ways to do such things in VaM:

  • Loading a new scene (that doesn't work well in your case, as you noticed)
  • Merge-Loading a new scene (Loads the new atoms. BUT it keeps objects in the old scene, unless there is an atom with the same name in the new scene)
  • SubScenes (AFAIK you can't have multiple subscenes with the same name as that would be the same file. But loading specific subscenes is definitly possible. And they need to be in the same category/subfolder, maybe that's what you meant)
  • Presets (potentially instead of loading a new character you just apply presets to it. Keep the plugins, but load new appearance and pose, etc.)

Probably familierize yourself with all of those methods to figure out which combination of them works best for your use case. Possibly something like switching a subscene, but then loading presets onto the characters afterwards to "retain changes".
Awesome.
I ended up going with the SubScenes route, as I have (fully) customized Arousal systems, gestures, and facial expressions all made within AnimationPatterens. Reason being, is that I can add a simple Pump plugin to the animation pattern, which works with collision triggering to increase various states and expression based on interactions(touch and feeling) in VR. I went this route as I find many plugins just have generic expressions, and I feel like I spend more time messing with the plugins, then I would just adding my desired expression into an animationpattern. All of these are different for each person. Cuz every person has different forms of expression. By attaching the animation patterns and plugins to a SubScene, I can load them all in or out, with the character included, on the fly.

As my scene is to have multiple People individually come into the room and then leave, what I've decided to go with, was to name all the Subscenes with the same "SubScene Signature." But Have different SubScene Save Name's. This allows me to make an array of UIButtons that I can just add "clear subscene" to, and then copy and paste them. Then Add individually to each of them the path of a different person thats included in their own subscene. Then label the UIButton with the name of that character. That way no matter what button I press, and no matter what Person is currently in the scene, when I select one of the UIButtons, the current Person is removed, and the next one walks through the door. All of this tied in with Timeline of-course so the last person is actually behind closed doors before I click to have the next person walk through.
This gives me a list of Persons, with various plugins, reactions and personalites, that can all be loaded into a singular scene without having to reload every asset now.

Thank You for informing me of the various ways I could go about it, as now I've been able to make a more accurately informed design decision.
 
Last edited:
Upvote 0
Back
Top Bottom