OpenMoBu

How To Compile and Build

Projects are configurated with CMake scripts to run from Src folder. The target MotionBuilder version is defined in the src/PRODUCT_VERSION.txt

From a given version in the file, MotionBuilder SDK default path is C:/Program Files/Autodesk/MotionBuilder ${productversion}/OpenRealitySDK

By default binaries will be copied into MotionBuilder/bin/x64/plugins folder

Third party libraries

Third party directory contains dependency libraries

You also have to locate glew library include and lib directories

For PostProcess plugin uses freetype2 and freetype-gl in order to render a text. You have to locate these libraries. Pre-compiled libraries could be found in the project folder.

How to compile Old Notes

Note! Some old Projects and MoBu solution are created in VisualStudio 2010, the latest projects I’ve developed in VS 2015.

1) Specify env variables with the path to your motionbuilder folder

NOTE: If during the compilation you have error “Macro definition of snprintf conflicts with Standard Library function declaration”. The way out for the issue is to comment the line of declaration snprintf in kaydara.h

In order to render HUD text on top of post processed screen image, there is a setting “Draw HUD Layer” in the post process object. And the plugin have to be compiled with HUD_FONT definition and with depencies of freetype2 and freetype-gl:

2) After compiling release version of the plugin, there is a post build commandline to copy file into the output folder.

copy “$(ADSK_MOBU_2011_64)\bin$(Platform)\plugins$(ProjectName).dll” “..\bin_2011$(Platform)\plugins$(ProjectName).dll”

3) I’m using one MotionCodeLibrary for compiling all the projects. In each project I have added a relative path to that folder. Right now this library is a colletion of header and source files, it’s not a static or dynamic library. You should not only include needed headers but also add corresponding source code files to your project.

Compiling older plugins

There is a snprintf redifinition issue when compiling for older MoBu SDKs with VS2017+, to solve that you could just comment the line #define snprintf _snprintf in kaydara.h in the OpenRealitySDK/include

1) On my machine I have put 32 bits version of MoBu into the 64 bits folders. They share the same files except folders bin/win32 and bin/x64.

2) For supporting older version of MoBu in different projects I’m using these pre-defines

3) You should know that each dll plugin project has a resource with a version information.