QoL & Features (updated)

hazmhox

Moderator
Featured Contributor
Messages
921
Reactions
5,863
Points
123
I've written a few things here and there, and I know I forgot a few I thought about like weeks ago. So, let's say this is the first edition, and when I've gathered a bunch of ideas later, I'll create another thread.

QoL

Custom Unity Assets : When browsing, open the browser with the same folder as the current selected asset if there is one specified. If not specified, open the last folder browsed by the user for the last custom asset. Finally, if there is no "last folder", open the default custom assets folder. The logic behind that should be the same for almost anything else that revolves around the file browser.

Shortcuts : Split in two categories with tabs ( AddonPackages / Favorites ), allow the possibility to drag and drop a folder to favorites

Confirmations : everywhere when the operation is risky : Overwriting a scene, a look, a preset... in every case of overwrite, prompt. In every case of unwanted action that could result in a data loss, prompt. (delete)

Scene title : at the top of the window or somewhere in the UI. Could be really helpful when dealing with subscenes and avoid saves on a wrong file.

Morphs : a tiny button appears after modifying a morph "recall last value" (or something like that) to get back to the original value after modification (being the default one or not).

Rename / Delete buttons : on content like a scene for instance when you are in "open a scene mode", the buttons are not registering the delete or rename action and the scene loads instead of doing the action. Maybe there is a way to optimize that ? Like behaving as a browser : when clicking on it, you select it, if you want to open it you have to click "open" or double click it.

Selecting targets : optimizing the rayhit / hitscan of the mouse on the targets for easier selection


Features

Lights : lens flares

Physics rate ( depending on how it is gonna work in 2.x ) : allow the creator to enforce the physics settings when loading a scene ( can potentially show a prompt for the user "The scene requires 45hz physics rate would you like to..." )

Settings : save settings in two different configuration files, one for VR, one for Desktop. Even crazier, multiple configurations. A list of buttons could exist on the title screen to allow quick switch of the configuration when starting the game

Main menu and scriptable buttons : as creators, we don't have buttons to execute scripted actions. In my case ( Vive 1st gen ) I see the "menu button" as an opportunity to get 2 scriptable buttons. Single press : scriptable action. Long press ( 2secs ), main menu. The trigger in the palm of the hand are also not that usefull, could be used for another scriptable button.

Example for scriptable buttons : opening a contextual menu with buttons to switch to next/prev subscene parented to your left or right wrist.


Another batch of ideas here and there :]
Jul, 19, 2020
QoL


Confirmations :
stop VaM from closing when a modification has been made and display a warning

Buttons : when in edit mode, UIButtons should no be clickable nor prevent you from moving the atom.

Atoms and ordering : I know that most scenes are really basic, but for more advanced scenes, could it be possible to have a real way to order the atom list ? Folder, subfolders, contract expand children of folders etc ? The list starts to be crazy when you got more than 30 atoms. The more atoms you have, the less efficient you are when editing / creating a scene.

Triggers : allow a way to copy / paste actions from a trigger to another. For instance : copy triggers from the main timeline to a button, or from a button to another.

Scene thumbnails : do not ask for thumbnail if a thumb already exists for the scene when you save. Add a button to take a thumbnail somewhere in the menu. Which will result in : the first time you save, a thumbnail is asked. Every other time it isn't... you have to do it manually.

Features

Animation patterns :
Having a "reset" feature that blends to the step one instead of moving the sub atom directly in position (which result in a glitchy behavior of the person atom). Or / And, having a feature that allows blend. Example : BlendToStepAndPlay ( select step ), BlendToStepAndStop ( select step ).

Animation patterns : Allowing a blend to another anim pattern when two AP are linked to an atom. One of the way would be : with the first animation pattern enabled, if the secondary one has the same anim target, when enabling it, blend the anim target to the closest step of the secondary AP and disable the first AP. Allowing you to renable the first one later and transition back to the first anim.

Fades : Allowing fade in and fade out on the scene. Duration, color selection (if you're completely crazy, animation like whipe for instance

Suggested configuration : Suggesting a system configuration while loading a scene for adequat performances and sync. As soon as scene is unloaded or the game exited, the configuration reverts back to the original one.

Audio Source : Allowing fade in and fade out of sounds on audio sources

Materials : being able to load a bundle that would embed materials and select them on basic objects (cube, sphere etc)

Morphs : some "pose" morphs that have an impact on eyes ( for instance closing them ) should prevent the automated blink to happen OR the blink should clamp to a maximum movement avoiding extreme deformation of the eyelid
 
Last edited:
Morphs : a tiny button appears after modifying a morph "recall last value" (or something like that) to get back to the original value after modification (being the default one or not).
This is a must. Maybe one step further and having a memory store and recall button for each one as well.
Plus, I would love to see the ability to have hide morph checkbox and for the program to recognize duplicate morphs based on the files hash value (incase of differently named ones).
 
Physics rate ( depending on how it is gonna work in 2.x ) : allow the creator to enforce the physics settings when loading a scene ( can potentially show a prompt for the user "The scene requires 45hz physics rate would you like to..." )
Can I know the reason for this one? Is the preferred setting based on what the creator had it set at while creating the scene or something?
 
Yeap of course. The synchronization can be off or the speed of the animation can be perceived differently depending on what physics rate you have when you create the animation and what physics rate and framerate you have when you playback the animation. Physics update cap also have an impact on that.

You can try something if you want :
- in desktop mode, create a scene with 3 characters (to hit a low framerate).
- set your physics rate to 45hz and update cap to 1
- animate a basic scene with the timeline and do something when you animate : for instance move the head of your character from left to right and ensure that each time your reach left or right you're on a exact second, like left (1), right (2), left (3) etc...
- now, restart the animation and put 288hz in physics rate.

You will notice that your animation plays like two, three or four times slower.

Since by default the physics are in auto mode and tied to your framerate, in VR, you would have 90hz by default. Which means that your animation is potentially seen two times slower when people are playing your scene at a framerate that is half or lower than the physics rate.

Which also means that, even if the engine try to keep up some kind of synchronization ( you will notice that you timeline still display seconds but seems to take ages to playback the same length ), the sync start to be a bit off, and audio is totally out of sync since it doesn't slow the playback.

So if you know that 90% of the community cannot handle a 90hz physic rate since almost no one can output 90fps for sure, it is better to work at 45hz, test everything at 30 to 45fps in VR like almost everyone experience the game and ensure that everyone will see the same thing.

BUT, if you don't enforce the setting. The new player or average user that does not know that... will play a scene that is really really slow compared to the original intent. I did not realize that initially has just a player of VaM. I always thought that a lot of people were not animators or really good at scripting hence the strange slow animations and audio desync. It is only after starting to create content other than looks and starting to dig inside the animation system that I knew something was wrong.

So for the guy that doesn't care about creation, doesn't really read reddit or the hub, I think we could ensure that he has the best experience possible without having to understand what physics rate is :D
 
I'll have to test this. We record our animations in VR with an index at 90 hz. I haven't really had any complaints about slow animations yet.
 
I'm not sure that recording at a specific rate as the biggest impact. But having a physics rate greater than your framerate does naturally "break" the pace of the animation. Still, I did not know the animation was playing slower until I started to animate myself. Maybe your user are in the exact same position :)

Unless, everyone who tested your animations had 90fps.
 
Back
Top Bottom