Skip to content

melowntech/vts-browser-unity-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.