AutodeskGames / stingray-plugin

deze repository biedt een gemakkelijke manier om te beginnen met het maken van nieuwe plug-ins voor Autodesk Stingray 1.9.

u zult een voorbeeldplug-in vinden die al is opgezet met wat basisinhoud, en een framework waarop u kunt voortbouwen:

  • een voorbeeldbestand .stingray_plugin descriptor bestand, dat Stingray vertelt wat uw plug-in is en wat het doet.
  • verschillende componenten die de Stingray-omgeving uitbreiden:
    • inhoudsbronnen die uw plug-in beschikbaar maakt voor alle Stingray-projecten die u in de editor opent.
    • C / C++ code die de runtime engine uitbreidt met nieuwe functionaliteit.
    • C / C++ code die de JavaScript-omgeving van de editor uitbreidt met hooks naar functies die zijn geà mplementeerd in native code.
    • JavaScript-modules die de Stingray-editor uitbreiden met nieuwe panelen, menu ’s en commando’ s.
    • een Stingray-inhoudsproject dat uw plug-in-gebruikers zullen zien in het tabblad Sjablonen van de projectbeheerder.
  • alles wat u nodig hebt om C/C++ plug-in code in te bouwen .dll-bestanden klaar voor het laden van de engine en de editor:
    • make.rb start het Plug-in build-systeem.
    • spm.rb haalt en installeert bouwpakketten en externe bibliotheken. Het wordt intern aangeroepen door make.rb, maar u kunt het ook op zichzelf gebruiken als uw plug-in andere afhankelijkheden heeft die u automatisch wilt downloaden.
    • cmake genereert en compileert Visual Studio-oplossingen voor de native Plug-In-extensies.

voor meer informatie over plug-ins, hoe ze werken en wat u ermee kunt doen, zie de Stingray SDK Help.

Stap 1. Install prerequisites

je hebt een Git client nodig om de inhoud van deze repo naar je computer te klonen.

Als u wilt dat uw plug-in C/C++ – bibliotheken bevat die de editor of de engine uitbreiden, hebt u ook het volgende nodig:

  • Ruby 2.0 of hoger.

  • Node 6.11.2 LTS of hoger.

  • Visual Studio 2015 with Update 3 & Patch KB3165756.

Stap 2. Haal een lokale kopie van de bron

u moet de inhoud van deze repo op uw computer krijgen zodat u ermee kunt werken.

belangrijk: u moet de versie van deze repo krijgen die overeenkomt met de versie van Stingray waarmee u uw plug-in wilt gebruiken! Dit geldt vooral als uw plug-in een C/C++ gebruikt .dll om de engine of editor uit te breiden, omdat je compatibele versies van de Stingray SDK header bestanden nodig hebt om je plug-in tegen te compileren.

  • demaster tak is altijd gesynchroniseerd met de laatst uitgebrachte versie van Stingray. Dit is de standaard branch die je krijgt als je deze repo clone. Gebruik het als u wilt dat uw plug-in werkt met de huidige versie van Stingray.

  • Als u uw plug-in wilt instellen om te werken met een vorige versie van Stingray, kunt u een versie van deze repo laten overeenkomen door een release tag uit te checken, of de broncode te downloaden van het tabblad Releases op GitHub.

Als u toegang hebt tot de broncode voor Stingray:

  • Als u de develop tak van de repo van de Stingray-engine gebruikt om de laatste en grootste wijzigingen en bugfixes op te halen, gebruik dan de develop tak van deze repo om uw plug-in te bouwen.

  • Als u wilt dat uw plug-in een aankomende release ondersteunt die nog niet publiekelijk beschikbaar is, maar die zijn eigen release branch heeft in de Stingray engine repository, gebruik dan de overeenkomende release branch van deze repo om synchroon te blijven.

Stap 3. Je library directory

elke revisie van de plug-in broncode hangt af van bibliotheken en afhankelijkheden die niet in Git zijn opgeslagen. In plaats daarvan kopiëren onze build tools deze bibliotheken naar uw computer vanaf een opslaglocatie op het Internet.

voordat u een build uitvoert, moet u een locatie op uw computer opgeven waar de build deze bibliotheken moet opslaan en openen.

  • Maak een omgevingsvariabele aan met de naam SR_LIB_DIR. Stel de waarde in op elke lege map op uw computer waar u de bibliotheken wilt kopiëren.

Stap 4. Build

Als u een C/C++ plug-in voor de engine of de editor toevoegt, Bouw deze dan door het make.rb script in de rootdirectory van deze repository uit te voeren.

> ruby make.rb

Dit commando:

  • werkt automatisch uw bibliotheekmap bij met de juiste versies van alle bibliotheken die nodig zijn voor uw build.
  • genereert en bouwt Visual Studio-oplossingen voor de Stingray-engine en editing tools.
  • biedt verschillende parameters die je kunt gebruiken om te bepalen wat er gebouwd wordt en hoe. Roep het aan met de--help commandoregelparameter om een lijst van alle beschikbare parameters te krijgen.

Opmerking: Als u een fout krijgt over certificaatverificatie, moet u mogelijk deze SSL-oplossing installeren voor RubyGems

Build results

standaard schrijft het script alles gecompileerd .dll bestanden naar deplugin/binaries map onder de root map waarin u de Stingray broncode gekloond.

U kunt ook de Visual Studio-oplossingen die zijn gegenereerd in de build/engine en build/editor mappen gebruiken om met de broncode te werken en uw bibliotheken opnieuw op te bouwen.

Tutorial!

zie de wiki voor een tutorial die je stap-voor-stap door het proces van het maken van een plug-in die zowel de engine als de editor breidt.

mapstructuur

  • build: verschillende build-uitgangen (d.w.z. cmake-gegenereerde oplossingen)
  • cmake: Cmake helper scripts gedownload door spm
  • editor: een map waarin u C/C++ code kunt plaatsen die de editor uitbreidt.
  • engine: een map waarin u C/C++ code kunt plaatsen die de runtime engine uitbreidt.
  • plugin: andere plugin bronnen (plugin descriptor, editor extension, compiled editor and engine extensions, etc.)
  • stingray_sdk: Stingray editor en engine C/C++ header based plugin SDK gedownload door spm.
  • tools: Verschillende build tools gedownload door spm.
  • make.rb: Build interface script. Voer make.rb --help uit om alle opties te zien.

zodra u de Stingray plugin hebt gebouwd, kunt u de map plugin zippen en uw plugin distribueren. Voor hulp bij het starten met de Stingray SDK, zie de tutorial video ‘ s en onderwerpen in de hoofd Help Stingray SDK.

Pluginstructuur

  • stingray-example.plugin: initiële plugindescriptor. Het wordt sterk aanbevolen om de bestandsnaam van dit bestand te hernoemen.
  • sample_project/: voorbeeld project dat laat zien hoe uw plugin werkt.

meer help

zie de Stingray SDK Help voor meer informatie over het werken met plug-ins, API-referentiedocumentatie en meer.

houd contact!

uw feedback is essentieel om van dit product een succes te maken. Help ons alstublieft door uw mening te delen over alle dingen die we verkeerd doen in het Stingray-gebruikersforum of in de gebruikersforums op het Autodesk beta-portaal. Autodesk ingenieurs en ontwerpers zijn actief betrokken bij de forumdraden, zodat u uw stem luid en duidelijk kunt laten horen en direct hulp kunt krijgen van de bron.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.