Seamless3d

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Seamless3d
300px
Developer(s) Graham Perrett (AKA thyme)
Initial release 2001; 23 years ago (2001)
Stable release 3.003 / November 18, 2014; 9 years ago (2014-11-18)[1]
Written in C++
Operating system Microsoft Windows
Type 3D modeling software
License MIT license
Website www.seamless3d.com

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

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.[3][4][5][6][7]

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

History

In 2001 Seamless3d was made freely available online as a C++ library.[10] The library centered on 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.[11] 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.[12]

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.[13]

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

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

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

Build Node Technology

Seamless3d can be used as a mesh editor and an animator,[18] 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)

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

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

Seamless3d has its own built in script compiler which compiles SeamlessScript (a very fast light weight scripting language[19]) 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

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

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

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.[21] The general public can freely use it for their own custom made worlds and avatars.

Features

References

  1. http://www.seamless3d.com/download/version-updates.html
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.[dead link]
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.

External links