Picturative Learning Site
1) General Platform overview.
2) Basic Introduction to 3D technology
3) VastPark's key language: IMML (Interactive Media Markup Language)
4) Using VastPark's Plugins system
The most important resource is the VastPark developer website www.vastpark.org with plenty of tutorials on how to use the platform.
Coding with VastPark
For local testing you need a copy of VastServer Open Source edition Download from vastpark.com or its in our dropbox.
<Script Name="OnLoad" Language="Lua">
function main(obj, args)
- ****** WRITE TO THE OUTPUT WINDOW ******
scene.ui:writeline('*** PARK LOADED ***')
In a Plugin:
_ParkEngine.ScriptEngine.WriteDebug("Output to Debug Console here");
When testing plugins
The VastPark Player caches downloaded plugins the first time it is accessed. Even if a new version of the plugin is published to Metaforik, the Player will continue to use the older version when the IMML file is refreshed. Clearing the cache by going to Tools > Clear Cache does not clear the older plugin from the cache. The only workaround for this issue is to close and restart the Player. (Issue encountered with VastPark Player Platform 1.3 (Build 32))
Question: Must you upload a plugin to Metaforik each time you want to test it?
Yes, you should, name it differently each time so that the Player knows that it is calling a new plugin.
In VastPark open source developer site:
Set up plugin templates in Visual Studio:
1) How does the system work? - teaching the VastPark platform - teaching the VastPark plugin
Plugins: 2a) Setting up the development environment - Download and set up the sample plugin project and reference libraries from vastpark.org.
2b) Bug testing - Download the vastpark open source code base - Run the sample.client project inside the open source code base
- Connect the project references
2c) Using a Plug-in - major methods of a plugin - program flow - manipulating the platform using plugins (note that plug-ins are essentially web-applications, so accessing the database...etc is the same as other web apps)
2d) Uploading the Plugins
Things we've learnt from looking through the sample imml of meeting room
handling clicking and changing of camera <Line 2258>
function main (obj,args)
leftclicked = args.data.leftbutton
rightclicked = args.data.rightbutton
if (leftclicked) then
<Model Name = " .. " ....> <Trigger name = "" Event = MouseClick Target = " <modelname> " Enabled = True>
<line 3467> <Trigger Name = "DatatableA" Event = "Keypress" Target = "OndataTyping"/>
<Script Name = "OndataTyping" Language="Lua">function(obj args)