Git Product home page Git Product logo

cineastunityinterface's Introduction

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.

  1. If necessary, update the OpenApi Specs (OAS) of vitrivr. Reade more in Generate OpenApi Dependencies.
  2. 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 the file: method.
  3. 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.

  1. Issue the following gradle command:
    $> ./gradlew clean deploy tidy
    
  2. (Android Only) Delete the file Runtime/Libs/Newtonsoft.Json.dll.
  3. 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 the file: 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

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.