Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel4

...

The vhAssetsPackage is a redistributable Unity3D Engine package file that contains functionality for allowing Smartbody SmartBody and VHMsg to work from within the Unity3D engine.

The Toolkit uses Unity as it's primary rendering engine.  It can run in Unity Free or Unity Pro.  For Unity Free, we interface with Smartbody SmartBody using 'bonebus mode'.  For Unity Pro, we access Smartbody SmartBody directly using a .dll.

Some additional functionality that the vhAssetsPackage contains is:

  • An extension of MonoBehaviour that allows order-dependent initialization and updates
  • Smartbody SmartBody interface
  • VHMsg interface
  • VHCL Audio interface
  • Asset Post-processors that ease pipeline integration
  • Resolution independent UI classes
  • Interactive Debug Panel
  • Customizable Free Mouse Look
  • Ini file configuration
  • Loading Screen
  • Performance time demo tests
  • File Parsing
  • Application setup point
  • Customizable build process
  • Fps and Memory Debug Info

Any of these optional components are available when installing the vhAssetsPackage

...

Upgrading .unitypackage files is a little more difficult.  This quote from the Unity docs explains it:

"For the cleanest possible upgrade, it should be considered to remove the old package contents first, as some scripts, effects or prefabs might have become deprecated or unneeded and Unity packages don't have a way of deleting (unneeded) files (but make sure to have a security copy of the old version available)."

The easiest way I've found is to use the approach the SVN docs recommend for vendor branch upgrades.

...

Through the Unity Editor, many variables of vhAssets script components can be customized

DebugConsole

Captures all Smartbody SmartBody and Unity log ouput and display it to user. Also can be used to send commands. Type '?' for a list of available commands.

...

Variable NamePurposeValue Range
Time Demo NameIdentifying name of this time demo. Used for starting a specific time demo through the console or command linestring
Performance Log NameThe filename for the output log from unity's performance trackingstring
Project NameSpecifies the project this demo is used forstring
Time Demo LengthThe amount of time it will take for the time demo to complete once startedpositive float
Fps Sampling RateHow often the fps will be sampled during the time demopositive float

...

SmartBodyManager

Interfaces with smartbodySmartBody.dll to provide smartbody SmartBody character animation to unity

Variable NamePurposeValue Range
Path To SBM FilesThe directory in which smartbody SmartBody should look for initialization files. Starting directory is the current unity project folderstring
Character Load PathProject subdirectory in which character prefabs should be instantiated fromstring
Position Scale

Units of measurement between smartbody SmartBody and unity can sometimes be different based on how the art was exported.

If there is a difference, it can be mitigated with this variable

positive float
Display Log MessagesToggle for allowing smartbody SmartBody LOGs to be output to unity.True/False
All Facebone CharactersToggle for making all unity smartbody SmartBody driven characters facebone drive or notTrue/False
Cam SettingsUsed for the SBMonitor to duplicate the renderer viewport and camerapositive float
Initial VHMsgs to SendVHMsgs that will get sent as soon as smartbody SmartBody is initializedstring

...

UnitySmartBodyCharacter

Works with SmartbodyManager SmartBodyManager to have a smartbody SmartBody driven character inside of unity

Variable NamePurposeValue Range
Bone Parent NameChild gameobject name path that will lead to the skeleton rootstring
Is Face Bone Driven:Toggle that informs smartbody SmartBody whether or not this character is face bone drivenTrue/False

...