Skip to content

vsg-dev/vsgUnity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vsgUnity

Native Unity Plugin for exporting VulkanSceneGraph files from Unity3D.

Project Layout

The vsgUnity project consists of two Libraries

unity2vsg

A C++ library exposing functionality to build, save and preview VSG graphs.

vsgUnity

A Unity3D plugin that utilises unity2vsg to export a Unity GameObject or Scene.

To aid development a complete Unity project is included in this repository and contains the vsgUnity scripts as well as some useful test scenes. To open it select the root UnityProject folder when opening a project in Unity.

The UnityProject/Assets/vsgUnity folder holds the main plugin scripts and can be copied into other Unity3D projects. When building from source the unity2vsg binary must be copied into UnityProject/Assets/vsgUnity/Native/Plugins/(PlatformName) where (PlatformName) is the name of the OS platform you are using, unity2vsg contains a post build step that should do this for you.

Also note that you'll need to close Unity any time you want to copy a new unity2vsg binary as it'll be locked and the Unity only reloads the library on startup.

Building unity2vsg

Prerequisites

  • C++17 compliant compiler i.e. g++ 7.3 or later, Clang 6.0 or later, Visual Studio S2017 or later.
  • Vulkan 1.1 or later.
  • glslang
  • CMake 3.7 or later.

Ensure Vulkan is installed and the VULKAN_SDK environment variable has been set and that glsllang has been built and installed and that it's install path has been added to your CMAKE_PREFIX_PATH. The VulkanSceneGraph project has more details on these subjects.

Building for Windows using Visual Studio 2017

Command line instructions for default build of shared library (.dll) in source:

git clone https://github.com/vsg-dev/vsgUnity
cd vsgUnity
cmake . -G "Visual Studio 15 2017 Win64"

A post build step will copy unity2vsg.dll into UnityProject/Assets/vsgUnity/Native/Plugins/Windows. Ensure Unity is closed or the .dll file will not copy.

Building for Unix

Command line instructions for default build of shared library (.so) in source:

git clone https://github.com/vsg-dev/vsgUnity
cd vsgUnity
cmake .
make -j 8

A post build step will copy libunity2vsg.so into UnityProject/Assets/vsgUnity/Native/Plugins/Linux. Ensure Unity is closed or the .so file will not copy.

Using vsgUnity

As stated above vsgUnity consists of a collection of Unity scripts (.cs files) and the unity2vsg C++ library. Everything needed for vsgUnity to run within a Unity project is contained in the UnityProject/Assets/vsgUnity folder. If you want to use vsgUnity in you own project just copy that entire folder.

If you open the UnityProject folder as a project in Unity you can try out vsgUnity. Once open goto

Window>VulkanSceneGraph>Exporter

A window will popup allowing you to select the GameObject you want to export (leave it blank to export the entire current scene). There are also various options and a option to preview your file ina VSG viewer.

About

Vsg Tools for Unity3D

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •