How to use subscenes

Guides How to use subscenes

Intro
What is a subscene?
A subscene is simple a part of a scene that is saved separately and that you can reuse at will. You can include any subscene any number of times in any scene.

More precisely, a subscene is a VAM atom: it can be found under “Misc / Subscene” when you add atoms to your scene.
A subscene atom should be the parent of other atoms. It allows you to link one or multiple atoms and save the exact state of each: it will save their position and all customization, plugins included.
Exactly as if you saved a scene, except it saves only the set of atoms parented to the subscene.

What could I use it for?
You can use it for a lot of things!
  • The most obvious: to import something you’ve already done in a scene into another.
  • Less obvious: duplicate! You can save part of your scene into a subscene and then add a new subscene to import it again. And again. And again!
What does that allow you to do? You can:
  • Make “procedures”: for instance, an animated sex position that you want to reuse in any scene.
  • Make your own reusable & customizable props (kind of VAM-created assets). Animated and interactive if you want to (you can check my fucking machine subscenes for an example of this).
  • Save a specific setting of a set of atoms: for instance, lightings with specific position/intensity/color (the 3-point light setup is an example of this), or a person with a set of plugins configured on it.
  • Ease and speed up the creation of your scenes (thanks to the power of duplication).
Jump to the demos at the very end if you want to get a concrete picture.

Interested? Let’s dive!



Creating a subscene
Add a “SubScene” atom
First, you’ll need to create a scene or open an existing one. Anyone, really, it doesn’t matter.

Then add a “SubScene” atom:
  • Click on the “+” in the menu to add atom, on “Edit” mode. In the “Misc” category, select “SubScene”
  • Or click on the flag icon in the menu: it will open the same menu, except with "SubScene" already preselected. Timesaver.
Then just click on “Add atom” and you’ll have a “Subscene” atom ready to use.

Tip: Tick the checkbox “Select atom on load” in the “Add atom” menu. It will automatically select the atom you add.
Otherwise you won’t see any difference after adding a subscene atom (it’s invisible if targets are not displayed) and you’ll have to find it using the “Select” menu.

Image1.png




Add atoms to your subscene
At this stage, your subscene is empty: nothing is linked to it by default. You’ll have to select what should be linked to it. That is why I told you to open any scene: it’s totally independent. You can make your subscene among a huge scene or an empty one: what matter is what you link to your subscene, not what is around.

So! How do we link atoms to our subscene, you ask? It’s very simple: by parenting any atom to subscene, whether directly or indirectly.

By parenting atoms directly to the subscene
You will need at least 1 atom directly parented to your subscene atom.

To do that, select the atom you want to link and go to its “Control” tab. Here, you’ll find 2 ways of linking atoms to one another:

1) By selecting a parent atom: in this case, the whole atom will be considered as a parent. That’s what we need.

2) Or by selecting a parent atom + a specific subpart of it (e.g. the right hand of a person atom) + specifying that the position and/or rotation of your atom have a parent link: it will NOT work to link your atom to a subscene.

I repeat: to link an atom to a subscene, only the first way of parenting works. You’ll need the subscene atom to be a parent as a whole.

Image2.png


Tip: How do I see if an atom is linked to a subscene? It’s very simple: its name will change. If its name was “nameOfYourAtom”, it’ll become “nameOfYourSubscene/nameOfYourAtom”.
Also note that a “Select Containing SubScene” button has appeared on top of your atom UI.

Image3.png




By parenting atoms to other atoms already parented to the subscene
Using the 1st parenting method, you can parent atom to atoms that are parented to another atom. You can make the chain as long as you want: if the “top” parent is a “SubScene” atom, all child (and grand-child, and grand-grand-child, etc.) will be included in the subscene.

Why should you care? Just because it allows A LOT of possibilities. Especially useful if you want to make a prop with moving sections.

My “Mic stand” subscene is an example of it. The mic holder is parented to the mic tilt; the mic tilt is parented to the top part of the leg. The top part of the leg is parented to the subscene (along with the base and the bottom part of the leg). So if I move the mic tilt, it’ll move the mic holder along; if I move the top part of the leg, it’ll move the mic holder + the mic tilt. And if I move the subscene, it’ll move everything. And everything will stay in position, because everything is relative to the subscene position.



Note on parenting
I learned a lot on atom parenting while playing with subscenes. Of course, parenting goes way beyond subscenes. Here are some tips for you:

Tip: It’s a good thing to parent all the atoms you want in your subscene to only 1 atom, and then parent this atom to your scene.
Why? It makes it way easier to link/unlink a group of atoms to your subscene. You may want to do that for many reasons. One of them is duplication of a part of your subscene.
Watch the “Create a table” demo below.

Tip 2: Did you know that if you use parent an atom to another (using the first method), it will consider the child atom as a part of the parent? It means that if you set the parent as “Off”, it will hide the child atom, even if this one is “On”: this is a huge timesaver if you want to easily make a lot of atoms appear/disappear at once.

Tip 3: Did you know that if you parent an atom to another (using the first method), it will change the positioning reference of the child atoms? Their positioning will refer to the position of the parent, and not to the scene reference anymore. For instance, if you use Timeline plugin, the reference for the “Control” target of the child atom will be the position of the subscene: if you move the subscene, it will not break your animation; everything will move with it.



Note on plugins
Just a quick word on plugins. I insist: if you have atoms parented to a subscene (whether directly or indirectly) and if those atoms have plugins, they will be included in your subscene when you save it. Along with all the plugin settings.

So you can perfectly make a subscene just to save a character or prop with a plugin configuration of your linking.



Save your subscene
Ok. Now you’ve made the subscene of your dreams. Time to save it. How do we do that?

Don’t worry, it’s easy:
  • Select the “Subscene” atom (to which your set of atom is linked to through the 1st method of parenting)
  • Go to its “SubScene” tab.
  • Input a SubScene signature and a SubScene Save Name, then click on the big “Save New SubScene” green button.
    Note: if you already have a subscene with the same name, the button will be called “Overwrite subscene” instead.
Done! You can find your new subscene folder under “Custom/Subscenes”.

Good to know: The SubScene Save Name will be the name of the subscene file (the “.json” & thumbmail) on your computer.
The SubScene signature is the name under which your subscene will appear when you load it into a VAM scene & the folder name in the “Subscene” folder. If the SubScene signature of my subscene is “Table”, when I hit “Load existing” on a subscene atom and pick it, the name of the subscene will become “Table” (or “Table#2”, “Table#3” if there are already other instances of it). And the composing atoms’ names will be “Table/nameOfAtom”).
Use the same SubScene signature if you want different subscenes to appear under the same save folder.

Image4.png


Tip:Oh no! I’ve done the steps above and there's no big “Save New SubScene” button; there's still a big “Not Ready For Save” button and it’s disabled :(’ => Don’t worry and check the “Note on saving a subscene from a packaged subscene” section below!



Loading a subscene
From your computer or from a package
In order to load an existing subscene into a scene, there are only a few steps:

  • First, you’ll need to add a “SubScene” atom.
    Yep, the same one you use to create a subscene. Just go back to the 'Add a “SubScene” atom’ section above if you’ve already forgotten how.
  • Select the “SubScene” atom, go to its “SubScene” tab and click on “Load existing...”.
  • Browse to the subscene you wish to load:
  • Either from your computer, in your “Custom/Subscenes” folder (where VAM will take you by default)
  • Or from a package, using the “AddonPackages filtered” or “AddonPackages flattened” which will show you every addon package having subscenes.
Select it and click on “Load”.

Done.




Note on saving a subscene from a packaged subscene
You may want to edit a subscene that you’ve got from a package. It’s perfectly fine! I even strongly encourage you to do so :)
If you want to repack it afterwards, just make sure the original subscene was Free Content or under an appropriate CC licence.

It will just require an additional step before saving: in the “SubScene” tab of your subscene atom, there will be a mention of the package where the subscene came from (“Package Uid”). Just clear it using the button next to it. Then you can save it using the regular steps!

Image5.png


Customizing
You’ve downloaded a subscene that you want to tweak, or you want to create your very own prop in VAM using subscenes? Nice! Let’s see how you could do just that.

This part is especially useful for subscenes, but it is of course applicable to customizing VAM scenes in general.



Using VAM shapes
Add a basic shape
There are a few basic shapes that you can use in VAM: cube, sphere, cylinder, tube, cone & capsule.

Admittedly, it’s not a lot (MeshedVR, if you read me this is my open letter: please add more shapes! Half cylinder, half sphere, pyramid, donut would be reaaal nice :p). But by modulating their scales (on every axis), color and texture, you can make your own props within VAM and achieve pretty decent results.

To add them into your scene, click on the “+” icon in Edit mode. Then click on “Shapes”, select the shape of your choice and click on “Add atom”.



Scale
First, you’ll need a sense of scale and adjust the shapes you add accordingly. I advise to keep a standard “Person” atom next to the prop you’re creating: it’s easy to get fooled by the camera zoom.

To adjust the scale of the shapes, just select one and go to the “Physics Object” tab. You’ll find at least one scale slider: at least for the object, or by axis. By using this, you can transform a sphere into an ellipsoid (a deformed sphere), for instance.

Image6.png
Image7.png


Tip:
Some shapes do not have a scale slider by axis. It’s the main difference I see between “ISSphere” & “Sphere” shape, for instance. So, If you want to keep the proportions intact, go with “Sphere”; if not, go with “ISSphere”.


Position precisely
You can create a subscene from anywhere in a scene. It doesn’t matter: as I said before, the reference point of all the atom on your subscene will become the position of your subscene atom.

But if you want to make props or if you want a precise positioning for whatever reason, I advise you to make your subscene on the “0.0.0” point (i.e. the position of your “SubScene” atom should be x = 0; y = 0; z = 0).

Why? Just because it makes it way easier and faster to position your components. On the “Move” tab of any atom, click on the “0” button for X, Y and Z, and they’ll be at the “0.0.0” point. You can move them from here very precisely using the “+x” & “-x” buttons.

Image8.png


Color & Texture
To have a proper rending, you’ll obviously need to play a bit with the color. And eventually textures.

To do that, select your shape and go to the “Material” tab. Depending on your shape, you’ll have several material tabs where you can tweak the color and texture of different parts.

I won’t go into details:
  • To simply tweak the color, just use the “Diffuse color”.
  • To add a texture, go to the texture sub-tab on the top right and just use the 1st line (“_MainText”). Click on “Select” on this one to browse to the texture image of your choice.
Image9.png



Make it tidy
Just a tip, especially if you want to make props using subscenes: prevent child atoms to be moved in any unwanted way and hide them if you don’t want the user to interact with them.

To do so, just select the atom, tick the “Hidden” checkbox on top and untick the “Allow possess/grab” for position and/or rotation.

Tip: You can block some movements for an atom:
  • For instance, you may want a piece to be moved but not rotated. To do that, just untick 1 of the “Allow possess/grab” checkboxes (for rotation or position, depending on what you want).
  • Or you can block position and/or rotation on specific axis. To do that, go on the “Move” tab and click on the “Lock” checkbox of the axis you wanna block.


Duplicate elements
I spoke of this before: you can use subscenes to duplicate any set of atoms. How could you do this?

  • Create and save a subscene containing the atoms you want to duplicate.
  • Add an additional subscene to your scene and use it to load your newly saved subscene.
  • You can stop here. If you want to add the duplicated elements into your 1st subscene, just go to the atoms of the new subscene and parent them to the 1st subscene.
Tip: If you want to duplicate to huge numbers, repeat the step 1 to 3 with your subscene now containing twice your set of atoms: you’ll go from 1 to 2, then 4, 8, 16, 32... The power of 2 goes up pretty fast.


Animating subscenes
There are several ways to animate your scenes in VAM. You can use all of them in subscenes.

AnimationPattern
The default animating solution in VAM is “AnimationPattern”.

It’s an atom, so it can be parented to a subscene. Just parent the main “AnimationPattern” atom (not the steps, they’ll be parented through the main atom).

Forces (e.g. CycleForce)
You can add forces in VAM. Same thing: it’s an atom, it can be parented to a subscene.

Timeline
The magnificent Timeline plugin is the best for complex animations. It’s a plugin: just add it to an atom parented to your subscene and you’re good to go!

Tip: If you add several times the same subscene animated with Timeline in your scene, all animations with the same name will trigger at the same time. And you will have animations with the same name, since they are copied in each subscene.
An update of Timeline adds a new option to allow you to prevent this: within the Timeline plugin, go to “More” / “Options” and check “Send sync in subscene only”. Thanks again, @Acid Bubbles!

Capture.PNG



Demo
Let’s make a basic prop: create a table in less than 5 minutes

Customize an existing subscene: transform your table into a round table
Author
ZRSX
Views
9,798
First release
Last update
Rating
5.00 star(s) 12 ratings

More resources from ZRSX

Share this resource

Latest reviews

I know how much work it takes to make a tutorial. Thank you very much for this, will definitely try it out now. Subscenes, here I come!
Thx for this guide!
Wow. This is a great help!
goood tut
Wow, such a detailed tutorial, thanks for taking the time to write all of this, it's very clear now :)
Still trying to learn how to get temporary status of a person listed with a set of plugins... mostly those with precious physics dynamics. Thanks for the tutorial (you give real help to cronic newbs like me approaching subscene method).
Clear and very useful!! Thanks!
Thanks for the well written Guide and Explanation.
Love it! Thank you
Excellent guide, very well explained and answered several questions I had about!
Top Bottom