Seamless3d

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Seamless3d
Smls 090411.png
Developer(s) Graham Perrett (AKA thyme)
Stable release Seamless3d 3.00 / 2013
Written in C++
Operating system Microsoft Windows
Type 3D modeling software
License MIT license
Website http://www.seamless3d.com

Seamless3d is open source 3D modeling software free and available for all under the MIT license.[1]

The models for the virtual reality world Techuelife Island were created using Seamless3d technology. Techuelife Island is showcased by Blaxxun as an example of what is possible when using the interactive multi-user Blaxxun platform.[2][3][4][5][6]

Many Seamless3d tutorials have been translated to French.[7][8]

History[edit]

In 2001 Seamless3d was made freely available online as a C++ library.[9] The library centered around the creation of animated single mesh avatars for the Blaxxun 3d multi-user platform. It allowed the user to create smooth shaped triangle meshes and join different meshes together with tangent matching surfaces at the joining edges using a C++ compiler.[10] By February 2003 Seamless3d had been transformed into a GUI based 3d modelling application with a file format designed around VRML format. This allowed Seamless3d files to be edited using VrmlPad utilising its syntax checking.

In 2005 a script compiler was developed and in May 2006 Seamless3d was able to act as a web browser for seamless3d files containing complex scripted animations.[11]

In 2006 a set of specialised nodes for creating simple shapes such as: Sphere, Cylinder, Cone, Torus, Box and Bézier Lathe were added to make Seamless3d easier for the novice to quickly make simple models.[12]

In 2007 the animation interface was greatly simplified by the introduction of a specialised control panel called the Anim bar.[13]

Towards the end of 2007 NURBS were introduced for making shapes and for synthesizing sounds.[14][15]

In 2010 NURBS control point animation, NURBS stitching and a number of other features to aid making movies were introduced.[16]

Build Node Technology[edit]

Seamless3d can be used as a mesh editor and an animator,[17] however its key feature is its build node technology.

Build nodes allow the user to perform a sequence of complex operations in real time whenever a control point in the 3d window is dragged.

NURBS Surface Poly Editing (NSPE)[edit]

NSPE

NSPE allows the user to hand edit the polygons on NURBS surfaces. This includes being able to drag the vertices anywhere along the NURBS surface as well as join the vertices together, break the vertices apart and color them. NSPE has a significant advantage over simply converting a NURBS surface to a polygon mesh for editing because NSPE lets the user be able continue to modify the NURBS surface for the hand edited polygon structure.

Because NSPE ensures that when a polygon's vertex is dragged it will always be on the NURBS surface, NSPE greatly helps the user to avoid unintentionally changing the shape of the model when optimizing for real time animation.

Fusing NURBS Surfaces[edit]

Fusing NURBS surfaces

By including a FuseSurface feature designed for fusing 2 NURBS surfaces together, Seamless3d allows for the creation of smooth continuous curvy models made from multiple NURBS surfaces.

SeamlessScript[edit]

Seamless3d has its own built in script compiler which compiles SeamlessScript (a very fast light weight scripting language[18]) into native machine code. SeamlessScript is designed to look and feel a lot like JavaScript while being able to be compiled by a standard C++ compiler. This allows the user to develop complex animation sequences using a C++ IDE which gives the user access to professional debugging aids such as single step execution.

Seamless3d format[edit]

Seamless3d format (smls) is a text-based human readable format with some aspects common to VRML.[19]

The following example shows the code (containing SeamlessScript) for an animated spinning box:

#SMLS V2.127 utf8
 
Seamless{
    effect ColorEffect{}
    skeleton DEF part Part{}
    build BoxBuild{
        part USE part
    }
}
Anim{
    play TRUE
    pause FALSE
    loop TRUE
    period 4
    void onFrame(float v){
        part.rotation = Rotation(0, 1, 0, PI * 2 * v);
    }
}

Seamless3d Chat[edit]

The Multi-User Seamless3d chat server designed for 3D World Wide Web browsing is open source under the MIT license and can be compiled for both Linux and Windows. Currently the Seamless3d modeller is used as the 3D chat client. An online Seamless3d chat server has been in continuous service since April 2009.[20] The general public can freely use it for their own custom made worlds and avatars.

Features[edit]

References[edit]

  1. ^ "Download Source Code for Seamless3d". 
  2. ^ "Blaxxun programmed Techuelife Island to be permanently shown in the places list for the Blaxxun home community server". [dead link]
  3. ^ "Techuelife Island is still in service to the public to this present day". 
  4. ^ "18 August 2001: Web3d-fr Techuelife Island: A beautiful world with a real personality". 
  5. ^ "2002 Holger Grahn (creator of Bitmanagement/Blaxxun Contact browser): Techuelife Island: A marvellous generated landscape with many scripted surprises". 
  6. ^ "Blaxxun Home Site". 
  7. ^ "Page Seamless3d de Thyme en français". Translated by Matthieu. 
  8. ^ "Seamless3d - 3d underground stories". 
  9. ^ "One of the first Seamless3d tutorials showing how to use the early C++ library". 
  10. ^ "Some early examples of avatars made in late 2001 using the Seamless3d library and a C++ compiler". 
  11. ^ "Online C++ Scripted Hoppy Demo for 2.099". 
  12. ^ "Examples of vrml models created by school children using Seamless3d who had a very limited amount of learning time". 
  13. ^ "New Specialized Animation Controls for 2.121". 
  14. ^ "Creating a Sound Track Tutorial for 2.123". 
  15. ^ "NurbsLathe for 2.127". 
  16. ^ "NURBS control point animation and NURBS stitching were added in 2010". 
  17. ^ "Seamless3d can be used as a mesh editor and an animator". 
  18. ^ "GiL the B's polygon subdivision script showcased for 2.105 is an example of SeamlessScript running 36.2 times faster than a fast JavaScript engine". 
  19. ^ "Seamless3d VRML format comparison". 
  20. ^ "Seamless3d chat server running on Linux continuously since 2009". 
  21. ^ "Also does a good job of importing Avatar Studio avatars, translating them to single mesh, standard pose". 

External links[edit]