-
Notifications
You must be signed in to change notification settings - Fork 8
CompileFramework
In order to be able to deploy the framework, you need to have the following software installed on your machine:
- git
- meta git
- Microsoft Visual Studio
- Unity Version 2018.4.1f (soon to be deprecated)
- Unity Version 2019.18.1f
In order to compile the framework and compile all components (Launcher, MMUs, Adapters, Services) from scratch, we recommend cloning the MOSIM meta git using
meta git clone https://github.com/Daimler/MOSIM.git
This will not only clone the main deploy functionality but the MOSIM Core, Services, Tools and Demos folder as well.
You will find several deploy related scripts in the cloned mosim folder:
Script | Description |
---|---|
deploy.bat | Central script to deploy the whole framework. |
clean.bat | Remove all files generated during the deploy process. |
deploy_variables.bat | Sets the required environment variables pointing to Visual Studio and Unity |
remove_double_mmus.bat | Removes unnecessary MMUs from the generated Environment |
update_framework_dlls.bat | Copy generated DLLs to the respective sub-folders in Services and Demo |
In order to deploy, adjust the environment variables in the deploy_variables.bat
script to the specifics of your system. The following environment variables are required:
Variable | Description |
---|---|
DEVENV | Path to the Visual Studio devenv program. |
UNITY2018_4_1 | Path to the Unity 2018.4.1f Unity.exe file. |
UNITY2019_18_1 | Path to the Unity 2019.18.1f Unity.exe file. |
Note |
---|
I did check almost all components w.r.t. Unity 2019. Apparently this does work and we could already remove the dependency to Unity 2018. |
After adjusting the paths according to your system, you can run the deploy.bat
script in a cmd window (or usually by double-clicking the file). This script does not run with Powershell!
During the deployment process, several components are compiled and copied to the right location. There will be some output from the different programs, including green and red notifications over the success or failure of deploying different features.
After the deploy script is successfully terminated, you will find the generated MMI environment in build\Environment
. We recommend running the build/deployScript.exe
if this is the first auto-deployment. It will register all components with the windows firewall automatically but requires elevated (admin) rights.
Last but not least, you can start the framework by executing the launcher in build\Environment\Launcher\Launcher.exe
.
If there are issues during the deploy process, they should appear as red notifications. In addition, most of the compilation output is forwarded to the user and can be checked manually.
The Blender IK service will download and unzip blender automatically. This may take a while and will result in a rather weird looking console output (see below). This is totally normal and expected. If the screen appears to be frozen, please check again if it is still downloading and / or unzipping the file.
The Blender IK service will pop up an additional CMD window to upgrade the python pip installation. The window will close automatically after 10s. This is a workaround, as the installation of pip packages with the blender-native python installation fails to terminate the first time it is called. If the duration is too short for your system, you can adjust it in the Services\BlenderIK\deploy.bat
script.
As the deploy script compiles all Basic MMUs and there are multiple implementations of a similar MMU (e.g. ReachSimple vs ReachConcurrent), we provided an additional script to remove the duplicates. After deploying the framework, just run the remove_double_mmus.bat
script from the meta repository folder.
During development in the core, a full deploy does take a significant amount of time. Thus, if you are working in the core framework projects (e.g. the Core/Framework/LanguageSupport/CS), and recompile the project manually, you can call the update_framework_dlls.bat
to copy the generated DLLs to the Services and Demos repository. Please ensure, that you did run the deploy script at least once before.
Several components require the UnityEngine.dll / UnityEditor.dll libraries. As the publication of these dlls is not permitted, they will be copied automatically during the deployment. You can manually trigger this copy procedure by calling the distribute_unity.bat
script in the Core repository. Be aware, that it requires the environment variables pointing to the local Unity installation.
To perform a clean procedure (similar to Visual Studios "Clean Solution" process), you can run the clean.bat
script. It will remove all build folders and clean all visual studio solutions utilized in the process.
- What is the MOSIM Framework?
- Components of the Framework
- Repository Structure
- RPCs with Apache Thrift
- Setting up the MMI-Environment
- MMU Development
- Target Engine Integration
- Integration in Unity
- Integration in UE4
- Integration in 3rd Party Engines
- Service Development
-
Intermediate Skeleton & Retargeting
- Concept of the Intermediate Skeleton
- Retargeting Service and Configurator
- Retargeting in Unity
- Retargeting in UE4
- Constraints