Skip to content

Hackathon (Sep. 2017)

Jonathan Schmidt edited this page Aug 25, 2017 · 19 revisions

Getting Started - How to create a plugin?

Step 1 - Install prerequisites

In order to get setup to build the Stingray getting started plugin you'll need a Git client to clone the content of this repository on your computer.

If you want your plug-in to include C/C++ libraries that extend the editor or the engine, you will also need:

Step 2 - Get a developer build of Stingray 1.9

You can find an official build of Stingray v1.9.1469 at the following location <http://todo jo box.com>

You can also grab a smaller developer build that doesn't include CLIC and all mobile platform engines. This build is ideal if you wish to do everything on PC for PC. Otherwise you should grab the official build above.

Stingray v1.9.1469 Developer Build

If you want to build your own version of Stingray you can following the instruction on the README page at this https://git.autodesk.com/gameware/stingray/tree/1.9.1494.0.

Step 3 - Clone stingray-plugin

Clone the plugin repo at https://github.com/AutodeskGames/stingray-plugin

git clone https://github.com/AutodeskGames/stingray-plugin.git MY_PLUGIN_NAME

Change MY_PLUGIN_NAME for something more interesting, like forge-plugin.

Once you have clone your plugin repo into a folder, go into that folder.

cd MY_PLUGIN_NAME

Once you are in the plugin repo folder, you should be able to make a first build by running:

ruby make.rb

You can now start your Stingray Editor build and install the plugin at ./plugin/example.stingray_plugin using the Plugin Manager. For more information please see http://help.autodesk.com/view/Stingray/ENU/?guid=__stingray_help_plugins_add_remove_plugins_html.

Step 4 - Start hacking!

At this stage, you probably want to rename a few things to give a personality to your plugin. I suggest you look at how to create a cool plugin demo for how this is done.

Then I suggest you create a GitHub repo somewhere and push what you've done so far.

First let's rename the stingray-plugin origin to upstream.

git remote rename origin upstream

Now add the remote url of your new origin, i.e.

git remote add origin https://github.com/jschmidt42/giphy-plugin.git

Replace https://github.com/jschmidt42/giphy-plugin.git with your repo url.

And finally push what you have so far:

git push -u origin master

Once you renamed a few things, let your creativity and fingers guide your through a wonderful and exciting experience...

Have fun that is the most important

Technology Overview

Stingray is an interactive engine (and an editor) allowing a user to author games or interactive applications (VR or otherwise). The Stingray Editor supports a flexible plugin API allowing a user to enhance the capability of the editor.

Documentation resources

Extending the Editor

Extending the Engine

Lua Development

Plugins ideas

Idea Difficulty Description
Forge API Easy Wrap the Forge web API into some C and Lua API for Stingray
Load Maya Scene Hard Create a plugin using the OpenMaya API libs to parse and load Maya scene files on the fly.
FMOD integration Easy Create an Stingray plugin API wrapper for the FMOD sound library

Sample Applications

Here are a list of already existing plugins and examples that can be used either as tutorials on how to implement some specific workflows or as inspiration.

Plugin installation

Here are the instruction to install any of the plugins described below:

1- Open Stingray Plugin Manager

pm

2- Press Add Plugin and navigate to the stingray-plugin-api-samples/samples folder and select the .stingray_project in one of the plugin folder:

pm

pm

3- See what has been added to Stingray :) Usually, it will be a new menu item in the Window menu or a totally new menu in the Main menu toolbar.

pm

Singray Plugin API Samples

This repository contains a lot of different plugin examples. You should download or clone this repository and look at some of the examples.

Noteworthy examples

Giphy

The giphy plugin is a fun plugin that adds to the editor a views to download giphy images from the data giphy web service and allow the user to import them into a project to play them back at runtime on a nice unit resembling to a TV.

TODO giphy scrneeshot

Here's the tutorial to create that plugin your self https://github.com/AutodeskGames/stingray-plugin/wiki/How-to-create-a-cool-plugin.

You can also take a peek at this GitHub repo that did the job for you to assemble everything.

https://github.com/jschmidt42/giphy-plugin

HTML5

Render HTML5 views in Stingray. The engine plugin uses CEF to render HTML5 content to texture buffers. Once the texture buffers are generated, the render resource is assigned to the view's material html5_texture slot.

https://github.com/jschmidt42/stingray-html5

image

image

image

TODO: Viewport Examples

TODO: Jo Massot: Git

TODO: SEB Thunderstorm

TODO: PC Level editing utilities

TODO: Viewport extension

Clone this wiki locally