Cineast Unity Interface
A Unity Package Manager package for the Cineast OpenAPI RESTful API (current compatibility for Cineast 3.11.1 and equivalent). See Cineast for further API information.
Prerequisites
This package provides a Unity endpoint for vitrivr's Cineast RESTful API. Thus, a running Cineast instance is a requirement for this package to work.
For a guide on how to setup cineast, please see Cineast's Github page.
Usage -- Unity
To use this package in Unity, the manifest.json
has to be expanded by the following entry:
"com.vitrivr.unityinterface.cineastapi": "https://github.com/vitrivr/CineastUnityInterface.git"
The Unity Package Manager (upm) will take care of downloading and linking this package.
Versions
This package uses semver. It is recommended to manually specify a version in the packages manifest entry. The package was tested with Unity 2020.3 LTS.
Usage -- Developer
This is a Unity3d project setup to easily develop (and test) the Unity3d Cineast Interface.
We strongly recommend cloning this repository into the Packages
directory of a Unity shell project to make development and generation of .meta
files easier.
- If necessary, update the OpenApi Specs (OAS) of vitrivr. Reade more in Generate OpenApi Dependencies.
- To test your changes and generate the required
.meta
files for any files you may have added, import the root directory of this repository into a Unity project as a local package with thefile:
method. - Do not forget to create a PR of your work to include it in the main branch.
Generate OpenAPI Dependencies
Follow these steps to generate / update the cineast OAS. We provide the latest generation in this repo for convenience.
For unix systems, the build requires an installation of the .NET Core SDK, wget and mono. Mono and wget are available through homebrew on mac.
- Issue the following
gradle
command:$> ./gradlew clean deploy tidy
- (Android Only) Delete the file
Runtime/Libs/Newtonsoft.Json.dll
. - Generate the required
.meta
files for generated files by importing the root directory of this repository into a Unity project as a local package with thefile:
method.
Notice These steps were tested under Windows 10 64bit, using OpenJDK 11 and Gradle 6.1.1. The publish script was tested with python 3.8.2. While these scripts are written with platform independence in mind, they might not work as expected.
Contribution
One can contribute to this project by submitting a PR.
Contribtors
- Loris Sauter loris.sauter@unibas.ch
- Florian Spiess florian.spiess@unibas.ch
License
This work is licensed under the MIT open source license. Please refer to the LICENSE file.
Credits
- Credits go to @neogeek, his Tutorial lead to the transformation to a proper upm package.
- Credits go to @SamuelBoerlin, his first steps with Cineast and OpenAPI helped a lot.