VTS Browser Integration Plugin For Unity 3D Game Engine
VTS Browser CPP is a collection of libraries that bring VTS client capabilities to your native applications.
This Unity Plugin integrates the VTS Browser into the popular Unity 3D game engine.
Asset Store prebuild version of the plugin available on Unity Asset Store.
Example Screenshots
Features
- The plugin handles data streaming and resource management
- Rendering is done in Unity (with custom shaders)
- This allows you to customize the rendering process
- Provided shaders:
- Unlit
- Unlit with received shadows
- Surface shader
- All shaders with optional custom atmosphere that works with whole-planet views
- Supports multiple cameras
- Support for physical collisions
- Real-world coordinate transformations
- Shifting origin
Documentation
The Unity Plugin documentation is at the
wiki.
Browser documentation is available at its own
wiki.
Documentation for the whole VTS is at
VTS Geospatial.
Building the Plugin from Source Code
Build instructions are the same as for the VTS Browser Build Wrapper.
Just start in the root folder of this repository to ensure that the settings from CMakeLists.txt here are applied too.
Using the Plugin in Unity
Unity 2018 or newer is required.
On Windows
- Symlink <Unity Project>/Assets/Vts -> <This Repository>/src/Vts
- Symlink <Unity Project>/Assets/Vts/Plugins/Windows/vts-browser.dll -> <This Repository>/build/result/<build-type>/vts-browser.dll
- Configure the vts-browser.dll to be used in Editor and Standalone, x86_64, Windows
On UWP (Universal Windows Platform)
- beware that support for UWP is experimental
- Symlink <Unity Project>/Assets/Vts -> <This Repository>/src/Vts
- Symlink <Unity Project>/Assets/Vts/Plugins/Uwp/vts-browser.dll -> <This Repository>/build-uwp/result/<build-type>/vts-browser.dll
- Configure the vts-browser.dll to be used in WSAPlayer, UWP, x64, il2cpp
- After you make the build in Unity, open the Visual Studio project:
- add internetClient capability to the manifest file
On Mac
- Symlink <Unity Project>/Assets/Vts -> <This Repository>/src/Vts
- Symlink <Unity Project>/Assets/Vts/Plugins/Mac/vts-browser.bundle -> <This Repository>/build/result/<build-type>/vts-browser.bundle
- Configure the vts-browser.bundle to be used in Editor and Standalone, x86_64, OSX
For iOS
- Symlink <Unity Project>/Assets/Vts -> <This Repository>/src/Vts
- Symlink <Unity Project>/Assets/Vts/Plugins/Ios/vts-browser.framework -> <This Repository>/build-ios/result/<build-type>/vts-browser.framework
- Configure the vts-browser.framework to be used in iOS
- After you make the build in Unity, open the XCode project:
- in the project, Build Settings, Linking, set Runpath Search Paths to @executable_path and @executable_path/Frameworks
- in Build Phases, Copy Files, add vts-browser.framework to Destination Frameworks
- make sure that Code Sign On Copy is on
For Linux
- Build the vts-browser library on linux and copy it to <Unity Project>/Assets/Vts/Plugins/Linux/libvts-browser.so
- Configure the libvts-browser.so to be used in Standalone, x86_64, Linux
Bug Reports
For bug reports or enhancement suggestions use the
Issue tracker.
How To Contribute
Check the CONTRIBUTING.md on the VTS Browser CPP repository.
It applies equally here.
License
See the LICENSE file.