This guide is for creators who would like to use epiCreator as a tool to remix their scenes, or create new ones. If you need to start creating with something that is lighter on loading times, dependencies and memory footprint, try epiCreatorLite. That one can also be used for remixing old scenes in minutes with 10 quick and easy steps as detailed in its description.
License
The license is "NC" (CC-BY-NC-SA) because of the animations that are included from remixed scenes, and other assets. If you're a Patreon creator who does cool motion caps, I'd strip those parts with NC licenses out and replace it with what you have, and use this. You have my permission to use the parts that I made except for the limitations of my ND assets like the looks and skins because they are based on work done by others like Alter3go and Ren, not mine to give you permission over. And if you're a professional or a company making more than $100K/year, you don't have my permission and the NC stands.
Framework
1. epiChains
These are there for chains and hooks. The default is empty. The preset that you can import in contains the chains and hooks from MacGruber SecretRoom, and the plugin to move and rotate the handles. These are located to fit perfectly with the room setups in the framework.
2. epidroneCamA
Follows the main character. Switch to this camera by clicking C on the tablet in a scene like ReignMocap's Ultimate Belly Dance and you have a music video that looks like it was shot live. Switch the rooms and costumes and you have a full music video.
3. epidroneCamB
Follows the main character's butt.
4. epiFurniture
Has the furniture that will stay constant in your scene bundle. In my default bundle, the ottoman stays ther so that I can place the tablet on it for every scene. The placement of the ottoman is such that it will always be out of the way as long as the action fits in a room scale VR environment. For example, a motion capture like ReignMocap's Ultimate Belly Dance where the dancer move around the whole capture space will still not have her running into this ottoman. There is also two toys there for checking GI reflection and physics.
5. epiFX
This is the tonemapper. Can be toggled on and off with the tablet button FX. I went with the tonemapper instead of MacGruber PostMagic becase the tonemapper works perfectly in VR and can be toggled on and off without problems.
6. epiGI
This is my Global Illumination that uses MacGruber's SkyMagicLoader. The asset is designed in such a way that it works perfectly with my lighting rigs, as if it's providing a bounce of them from the environment. It's an emulation of ray tracing that works in VR in the cheapest possible way in terms of performance cost. It's designed to give the character contour like some default GI sets do, but keep it color-neutral as GraySky does. If you want a similar effect but less of it, try epiGIEmpty instead of the default epiGIMagic.
You can switch to different GI assets what were prepared with a similar mindset but also reflect the rooms that come with the package. I prefer to keep my default GI on instead of the ones with room reflections because I don't find reflections that do not have dynamic object immersive enough. You can cycle through them with the GI button on the tablet.
7. epiLight
Every scene comes with it's own lighting rig by default. But you can switch to other sets in my lighting rig pack by hitting the light button on the tablet. Some look much better but are heavy, some perform better. The default one (4 spots wide) offers the best quality/performance ratio I could get while lighting a wide area, wide enough for ReignMocap's Ultimate Belly Dance which I used as my benchmark. As the rigs are made with 360-degree VR in mind, you can simply rotate them to get a different aesthetic.
Instead of lighting that is left to auto and switches to vertex on some setups, looking horrible, and making people ask "why doesn't mine look as good as in the screenshots", the lights are set to what they need to be set to. If 4 point lights are too much, there is a 4 spot version that you can switch to. If that's too much, there is a 3 spot version. If that's too much, there is a 2 spot version... All designed to look the same on all systems and designed to let you pick the one that works best for you. All designed for 360-degree VR. The spot lights perform better, look great and 3 or 4 spot lights are my favorite.
The default color values for the lights are neutral because that is similar to using flat listening monitors in a record studio. It's not a good idea to design your look in a specific lighting. But for your final scene, you could pick opposing lights, make the weak one a bit more teal, the brighter one a bit more orange, to give the scene some color contrast.
8. epiLogic
This has stuff that get triggered on scene load, stuff that get triggered on scene exit, and stuff that the tablet uses. On scene exit it saves the Female01 look. On scene enter it loads it. So with a scene pack like Intimate sex by Acid Bubbles, if you customized her, the look would stay like that when you moved to the next scene.
It also has small things like fade in when the scene first loads. I didn't make it relayed after everything loads, that would keep the player in the dark if one thing got stuck. But in a perfect world whre I know everything will load as it should, that's what I would do.
It also has a slate with materials turned off. So no matter what room you're in, even if it's empty, the floor is where her feet should touch. The animations you prepare in an empty room will work when you switch to another room. This was important to me because an empty room offers the best performance (no lighting or physics for a whole room) but things should still work perfectly if the players want to import a room to have depth in their view.
9. epiMirrors
These allow you to see her in 360 degrees so that you can decide if the lighting/look/costume/pose you have just loaded looks fine from all angles. It can be toggled on and off using the tablet.
10. epiRoom
This contains just the room without furniture or props. It contains a selection of rooms that offer enough empty space for any action that would fit in room-scale VR. Rooms are positioned such that the empty space is right where it should be no matter what room you load. The furniture you bring in fits perfectly. The props fit perfectly. The lights fit perfectly. You can just start designing by saying "I want the sofa prop in the dining room, with wide lights, and the ottoman as my default furniture and you'll be there in a second.
11. epiSceneLogic
This has scene-specific stuff like the breast and glute physics that you might want to keep constant for that scene. Let's say it's a gym scene and she is doing jumping jacks and you have set the physics such that it looks perfect. But the epiLogic will bring in the saved look from the previous scene and now things won't look as nice. This takes care of that if you save that breast physics preset to be triggered after the look loads during this scene load. So epiLogic triggers the loading of the saved look first, relays, and loads whatever breast and glutes physics preset you have saved for the scene. By default, it loads my settings that work best on average.
12. epiTablet
This gives you control of the scene animation, the look, the lighting, the sound etc. It also has a button to switch to high-performance low-quality, and back to high quality. It also displays scene information and anything you wanna communicate to the player.
It has buttons to take a screenshot, start recording a video and stop recording it. It uses Eosin VRRenderer plugin for that purpose. If you have MacGruber SuperShot or something running in the background, in your session plugins, you'll get an error that that one is hogging the super-resolution resources and VRRenderer plugin can't access them. Ideally, if there was a plugin to save the game state like time demos from Quake/Doom games, I'd save that and later play it back to capture a video, so that I can set the options for the best performance during recording and the best quality during video capture. But I didn't find such a plugin.
You start a scene. Customize her to your liking. Do everything you wanna do. Hit "Next" and the next scene is loaded, the look is loaded from the saved preset but if her physics needs to be tweaked for the scene, those are loaded on top of it.
13. epiTabletStation
This is where the tablet sits unless you pick it up. It also has a button to call the tablet back from your VR hand. If you saved the scene in VR, and the tablet was in your hand, but now you're back on the desktop editing the scene, and you want it back, you hit this button and the tablet returns home.
14. epiWatch
This is a watch on your VR hands with a single button that just calls the tablet to your hand. You can move it around a little by grabbing it from its bottom corner.
How to revise and remix old scenes with epiCreator
For all of this to work, the female character has to be named Female01, the male character has to be named Male01, and
1. Either (ideally) their animation should take place in the middle of the space (0, 0, 0 as marked by the center mark button on the tablet).
2. Or you'll bring all these subscene to where the characters are.
I'll explain how to do it with everything centered on 0-0-0 (xyz), the animation taking place in the middle of the space.
You need to be able to move the characters to the center without breaking their animations. If the original creators moved things to absolute positions instead of relative positions, things will break (Instead of going one step left, they will fly off). In that case, try bringing everything to where the characters are. Otherwise, this should work.
After renaming the characters, you can open EpiMergeIntoThis scene, merge load your scene, bring the characters to the center and save it. Of course, you'll have to edit the buttons on the tablet, customize the scene to your liking, etc, but you'll have all these presets and logic working.
Step 1
Rename characters to Female01 and Male01.
If there is only the female character in your scene, just add the male person atom, rename to Male01, and turn it off. This way you'll still keep the links that are on the buttons to the male character in the second step. Otherwise, they will be deleted.
Have plugins/scripts properly configured on the characters.
Rename things like WindowCamera (default named things) that would get overwritten with a merge load
Remove the lights and the environment. Alternatively, you can save the lights as a SubScene and make it the one that loads under epiLight by default for this scene.
Set everything in Scene Lighting (like GI lights intensity, etc.) to the default values.
Save & Exit
Step 02
Open the latest epiMergeIntoThis scene
Merge load the scene that you're remixing.
Female01 and Male01 in the "epiMergeIntoThis" will be replaced by the ones in the scene and the tablet button links, and logic related to Female01 Male01 will transfer.
Save and exit. Let VaM breathe for a second.
Step 03
Spawn a new subscene
Rename it to 000
Move it to Female01's feet (if you use align to object, reset rotation to 0,0,0)
Add all original atoms (add Loose atoms to this subscene) INCLUDING HIDDEN
Manually link other original scene Subscenes to it too if necessary
Turn the center mark on using the tablet. It shows you where 0-0-0 is.
Move subscene 000 to have female01 in the middle of her animation, at the center (you may need to disable collision)
Take Female01 and Male01 out of the subscene (some animations won't work with the characters in a subscene)
Test
Remove all out of the subscene
I move the music source to 0 1.000 -1.500 by default.
I set the scene playback to not auto. Let things load first and let the player start when they want to. Except for scene 05 where only she is animated and it doesn't effect the player.
Good point for another save.
Step 04
If you don't want too many dependencies, take the audio and assets out of the original var. Change scene audio url to the new placement. Change audio link on the AudioSource atom.
Step 05
Change action buttons on Tab 1 of the tablet.
Audio link on buttons (start, resume, pause, reset, pose, mute...)
FX button to scene effects if different (and thus remove the tonemapper). I avoid MacGruber PostMagic as not all the Unity effects that it triggers always work properly, and some don't work in VR at all. But it's still great for photography.
Save her starting pose and change scene pose on the start and reset buttons.
If you need to add scene-specific action buttons, use the 101, 102, and 103... dummies already on the tablet. That way, in the next scene, they'll be replaced by dummy buttons with the same name if you ever use merge load.
For the same reason, lighting rigs have dummy lights. If you change the lighting, I'd keep the naming scheme so that a scene that merge loads your scene doesn't add its lights to yours; yours replaces them because they have the same names.
edit 1AllOn button triggers accordingly (and 1AllOff if you have removed/added buttons).
1AllOn turns buttons on tab 1 on when you click 1. 1AllOff turns them off when you click 2, 3, 4, 5. This way you don't need to edit 2,3,4,5 if you change the buttons on 1. Only 1AllOff.
If the scene already has proper buttons of its own, you can just add "oh my buttons" plugin to them, make them invisible and out of the way, and trigger them via the buttons on the tablet on tab 1. Tab 1 is dedicated to scene actions, the other tabs more or less stay the same.
Edit "Next" to merge load the next scene.
Save.
Step 06
If necessary, connect the speed sliders to plugin parameters.
Add the three morphs (petite, big, tall) to the look at 0.001 so that it's there when you package the var (and the sliders control them).
Add the "Breath1" morph from Spacedog.Import_Reloaded_Lite at 0.001. Otherwise Spacedog.Import_Reloaded_Lite won't show up in the dependencies. On a clean install of VaM you'll get an error that says "missing stomach morph" and it will drive you nuts.
There is an option under epiLogic/Enter to load previously saved look at start-up. So if you keep that option enabled under epiLogic/Enter, the look will stay the same between scenes even after you alter it. It's disabled by default on the first scene of the bundle because (1) you wanna have your look selection as the creator represent your bundle, (2) the player would get an error stating the preset was not found because it has never been saved on their machine, (3) it's annoying if the player hasn't changed anything as it ends up loading the same look twice at the scene bundle startup.
This is designed with room scale VR in mind. The action happens in the center of the room, so that you can walk around it as if you were at a museum exhibit. The epiTabletStation is placed accordingly, to be out of the way of the action. If you want to move it for a bundle of scenes, you can place it anywhere you want the tablet to stand and call it there by pressing the button twice. But if you're going to use merge load between scenes, all the scenes in your bundle better have it at the same spot because otherwise things might get screwed up during the repositioning that happens at the merge load.
5next points to the next scene. 5text has scene information. 5resettablet button loads the tablet subscene for that scene (gotta save the tablet subscene, edit this button to point to that, save the tablet subscene again)
4performance and 4quality buttons on the tablet switch tesselation on the characters on and off. If the plugins on the characters are located at a different slot, youll have to adjust that manually. Same thing with the timeline stop trigger on 3pose. And you may want to capture a few poses and use them to replace the states on 3PoseStates if you don't want the default pose states. When you run out of them, just change the next one to 01 so that it loops.
If you have clothing item like fluids that need to be on the female, (1) all that should be a preset, (2) costumeStates should load that first, and (3) merge load its costumes next. Under epiSceneLogic when the scene first loads, what should happen is: (1) save clothing, (2) load scene clothing preset, (3) merge load that newly saved preset. This way your triggers that interact with those fluid cloths will still find them at the clothing number they look for.
You can clear the epiRoom subscene by loading epiRoomNull so that whatever the player set up at the previous scene carries over without anything added to it. Otherwise, if you ever use merge load, let's say you have a "Slate" in there, that will replace the Slate that was in the room that the player picked during the previous scene.
Save
Step 07 (optional)
If you want to change the list of rooms, the list of lights, cloths etc, I suggest loading a new preset (that you save first) to the corresponding state button on the tablet. Alternatively, you can try to use plugins like PresetLoader by ky1001.
Step 08 (fictional)
If you're living in the future and your computer an draw everything twice, add SpyCam&Tablet by Griffo11709 to the 5. tab of the tablet as an alternative to the text. The tablet fits right there. Alternatively, you can use VideoController by VamSander and have a video displayed there instead of the info text. If you're living further in the future and your VR set has retina resolution, put the browser window to that 5. tab of the tablet, remote connect to your work computer and work in VaM (you pervert).
Advanced tips
For scenes with only the female character, a combination of
1. Timeline's bulk editing (Move relative to root to offset the whole Timeline animation) after you import the scene animation to Timeline,
2. Setting the position manually to have her at the center
3. Person / control / detachControl / true
4. Set the position to 0,0,0.
5. Set the rotation to 0,0,0.
6. Timeline bulk editing to fix the rotation.
will get you to have her at 0-0-0 and the animation be correct.
(Not necessarily in this order and maybe not only once each.)
Save the pose when it's all correct. If there is a drift or something with the animation, having this pose load with the click of the start button and/or the reset button will take care of that.
What the next VaM can bring
1. Better physics performance.
2. Better memory management.
3. Better hair performance (still physics)
4. This tablet as the default control scheme under VR.
5. Better dependency removal tools.
6. DLSS support.
7. Bells and whistles.
At this moment physics is the performance bottleneck.
If you're sharing on the hub (not just keeping it for your own personal use) removing dependencies properly take long and require manually copy/pasting things around and editing files in a text editor.
FAQ
Q: When I do this, this, and this... I don't like the result.
A: Don't.
Q: Can't you make it smaller, faster but better quality?
A: Can't.
Future updates
If any invaluable member can help improve this project, please be my guest.
(I am not a coder)
- Improve the loading time without degrading the quality.
- Turn the main tablet idea into a plugin.
- Embed a script that automatically adds rolldown menus to the appropriate tablet buttons.
- Embed a plugin like ky1001.PresetLoader to browse folders and bring presets randomly or alphabetically.
- Embed a plugin like ky1001.SubSceneLoader (wink wink) to browse folders and bring SubScenes randomly or alphabetically for rooms, props...
- Embed a script to revert back to the previously saved relative positioning of the individual components of the tablet (instead of the current approach that reloads the tablet subscene) .
- Embed a plugin that captures game state like a time demo, instead of a video. A replayable record of he user experience, VR hands included. That would replace the current video recorder and MacGruber's SuperShot would replace its screenshot function.
- Embed a script that adds ohmybuttons to scene buttons, maps triggers to them on the tablet button 101, 102... and fits these buttons on the tablet's first tab. This would allow the user to just add the default tablet to any scene and start using it.
- I could save the room state with a name like epi_current_room and load that on start-up to always give the player the room they choose to be in with every scene. But VaM pauses to take a screenshot for a thumbnail and that's annoying for the user. If it's possible to just store a subscene without taking a thumbnail screenshot, that would allow us to keep the room, gi, fx etc states that the player sets even when a new scene loads.