Introduction to SEA3D 1.6.5 and Poonya Script + Sparticle

18th March 2014 - 08:14:40 PM

All in One

Let's bring back all in one, the first time SEA3D told with a native programming language the Poonya Script and all features of SEA3D in SEA3D Studio incluing Cloud Service(Beta) for importer, full support for 3ds Max and better support for Collada will be available for all, free and open-source.

SEA3D Studio 1.1 Viva!

An overhaul was necessary in SEA3D Studio, based on SOA architecture now we have the possibility to add new features more easily and extensible. SEA3D Studio also emit errors of the Assets and Poonya Script in real time avoiding possible bugs on the software making it very stable.

Check out the trailer of the SEA3D Studio.

What is Poonya Script?

Poonya Script is our goal to bring a multiplatform language for Web. Current Poonya Script on SEA3D Studio supports conversion to JavaScript and ActionScript Byte Code, preserving the real speed of each language.

Poonya Script is focused for assets with exchange for artists, in other words focused for the game development. Below we quote some examples of how to use attributes with Poonya Script.







This is the result displayed in SEA3D Studio of attributes created above:

The attributes returns the real values, #number returns a variable number and #string a string. Each attribute is individual for each asset.

print( myString ); // returns "hello"


Extension allows you to use the script for a specific asset using the keywork this. There are two ways you can extend a script, one is giving the complete path and other is importing a class.

1. Complete Path:

2. Importing Class:

Why not use the Lua Programming Language?

We did many tests, were several days creating a great framework for Lua, with support of threads and debugger but in the end everything was slow and the communication between C++ and AS3 by function is not good if used on many calls. The best solution we found would be compile for a specific device, this way can we use the full potential of the application.

SEA3D-GP (unfinished)

SEA3D-GP is an improved of the SEA3D Player with framework for Poonya Script. This will be the basis for our future work in the coming months, we will still include many tools for game development, this includes framework for: Collision and Physics, Better integration with the Web, Online Multiplayer, Object Hierarchies and Social Pages.

Away3D libs was revised and updated for SEA3D, let's bring this novelty to Three.JS soon.

SEA3D Studio

Debugger - GP

Debugger - Player

Open the debugger in a new window and run your project in SEA3D Studio.


* Multiplayer and Social Frameworks (SEA3D-GP)
* Node Editor (SEA3D Studio)
* Improvements for the code editor (SEA3D Studio)
* GLSL (SEA3D Studio)
* Cloud Service (Importer) - Skin, Morph and Keyframe Animation (especially for Blender and Maya users)

In the next month we will have updates for SEA3D on WebGL.


We will be posting new releases this month, follow the news here.


Hope you enjoy.
Download CarExample.sea 1.08 Mb | Open with SEA3D Studio
22nd March 2014 - 04:03:52 PM
So Great!And thank you for your great works!
24th March 2014 - 09:54:42 PM
Hi Dottob.

Thank you and thanks again for follow our work.

1st April 2014 - 06:02:24 PM
Hi there,

I have a runtime error when starting Studio on firefox with the debug player
RangeError: Error #1125: The index 8 is out of range 7.
at ro.minibuilder.swcparser::SWFParser/_parseSWF()

It doesnt seem to break anything in the editor (all features are working correctly), but I'd just want to let you know

5th April 2014 - 11:29:58 PM
Hi LvDeluxe.

Thank you, I'll be analyzing this problem.

14th May 2014 - 12:39:03 PM
Introduction to WebGL (Three.JS)

The improvements for WebGL of Three.JS were many, starting with optimization, new features for Material, Sound, Helpers, Animation and Lossy Compression. All features for WebGL and Flash are also available for SEA3D Studio makes the editing and cross-platform process more easy.

Optimized the new SEA3D for WebGL

Use SEA3D-WebGL with a significant difference of performance both in size as for speed of load, mainly with large models (65k+). For this create a new loader for Geometry Buffer of Three.JS thus making the load process more fast, with less use of memory and making the 3d possible for smaller hadwares.

This is a model given by our friend Goliaf of the Poonya Forum. Here's an example using Standard Geometry (Slow) and other Geometry Buffer (Fast) or Geometry2 as quoted by MrDoob.

Fast - Auto Switch = Geometry || BufferGeometry

Slow - Geometry Only ( Caution: This can crash you browser because of excessive use of the memory )

Note that it was only a change of loader config. e.g:

All settings you can find here.

Lossy Compression

We had already disclosed before our first compression technology with lossy, now it is available to SEA3D Studio and SEA3D-WebGL.

The big model shown above is using Lossy Compression as default. Below are some results using SEA3D Studio as converter.

LZMA - 6.438kB
LZMA + Delta Hight - 5.368kB ( 1.07Mb- 16.6% smaller )
LZMA + Delta Low - 3.068kB ( 3.370Mb- 52.3% smaller / visible lossy )

Try yourself in SEA3D Studio.

File -> Publish...

Reflection / Refraction

Now you can use reflection embed in your 3D models on WebGL. Here is an example of a car, using simple effects create in SEA3D Studio.

Open in SEA3D Studio


Sound also already available directly of the your .SEA file. In this example you can see an easy implementation of our same file used in the examples in Flash.


If you like your games in 2.5D and lights effects Sprite3D can be a excellent option, already available for simple diffuse textures only.

(Right Click or Assets Explorer) -> Object 3D -> Sprite 3D

Crossfade Animation for Keyframe and Skeleton Animation

Updated in conjunction with Three.JS the Crossfade Animation. Below are two examples both with crossfade in 0.5 seconds.

Skeleton Animation -

Keyframe Animation -

A special thanks for Loth by the code.

Line and Dummy

By request we includes Lines and Dummy for WebGL with Animation.

You can check out how to get here

Real Transform

Fix several transformation errors of models for SEA3D in Three.JS. The calculations of (position - rotation - scale) are more cleaner, may still have more things to reconcile WebGL, Flash and C++ with SEA3D, but we are already near.

Negative Scale Correction for SEA3D Exporter

Models in max with negative scales can now be exported successfully with Snapshot + Force Positive Scale, it only works for not animated models.

SEA3D Exporter

Texture URL

Texture URL can be very useful if you want to separate the textures of the models indicating only the relative path. Below is a small example of how to create a Texture URL in SEA3D Studio.

Advanced Example by Loth

Loth created an incredible collectanea of examples for SEA3D and Three.JS, since Oimo.JS and Ammo.lab two excellent physics engines optimized for the development of games in SEA3D. This time he created great examples for the community with the original files in 3ds Max. You can find the source code here.

Droid -

Dragon -

Game Assets -

SEA3D Logo by Loth.

Again thank you very much.

Hope you enjoy.
16th August 2014 - 06:56:36 AM

Sparticle is undoubtedly one of the best particle editor for Web, is free and provides a very wide range of resources for effects, events and portal for sharing, all optimized to the level of games. Now you can use it in your SEA3D project with the same simplicity of all others features.

Sparticle and SEA3D Studio

Effect by Miskas -

For importing a Sparticle File Format (AWP) click in File -> Import -> Local on SEA3D Studio.

If your effect has textures the References Window will show, you can include all the textures with a single selection. Click in File -> Load Files... Important not use repeated names.

Sparticle Download (Editor, Parser and Examples)

SEA3D Player


Download Particle.sea 235.90 kB | Open with SEA3D Studio

Sparticle for WebGL?

We contacted with the Sparticle Team, they are already developing Sparticle for WebGL. Soon compatibility with SEA3D WebGL.

Hope you enjoy.