Picturative Learning Site

From IS480
Jump to navigation Jump to search

Key Topics

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.

For Debug:

In VastScript:

<Script Name="OnLoad" Language="Lua">

function main(obj, args)


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.

Important Files

In VastPark open source developer site:

SDK: http://www.vastpark.org/attachments/download/45/VastPark_Developer_SDK_-_Getting_Started.pdf

Set up plugin templates in Visual Studio:

http://www.vastpark.org/attachments/download/48/VastParkPlugin.zip (template)

http://www.vastpark.org/attachments/download/46/Libraries.rar (libraries)

Scripting API: http://www.vastpark.org/attachments/download/44/VastScript_API.pdf

Learning Issues

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

Meeting Room

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

<line 2705>
<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)