Seamless3d
Developer(s) | Graham Perrett (AKA thyme) |
---|---|
Initial release | 2001 |
Stable release | 3.007
/ October 6, 2019[1] |
Repository | |
Written in | C++ |
Operating system | Microsoft Windows |
Type | 3D modeling software |
License | MIT license |
Website | www |
Seamless3d is an open-source 3D modeling software available 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
[edit]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
[edit]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)
[edit]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]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[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
[edit]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
[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 Microsoft 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
[edit]- Exports to VRML, X3D (including H-Anim), OBJ and POV-Ray formats
- Imports VRML and X3D VRML Classic formats
- Imports Canal/Blaxxun Avatar Studio avatars[22]
- Imports H-Anim [1]
- Imports and Exports Biovision Hierarchy Motion Capture (BVH) files [2]
- Support for FFmpeg which allows for the creation of AVI, MPG, MP4 and FLV movie formats [3]
- Transform hierarchies
- Morphing
- Skinned animation
- Texture mapping [4]
- JPEG and PNG texture formats (and BMP when using DirectX)
- Béziers & NURBS lathes and NURBS patches
- Tangent matched NURBS Surface Fusion
- Nurbs Surface Poly Modeling (NSPE)
- Software robot demonstration help
- Scripting
- Key-frame based and Script based animation [5] [6] [7]
- Sound synthesis using NURBS [8]
- Seamless3d files are a compact human-readable text format
- Multi-User 3D chat web browsing
References
[edit]- ^ "3D Modelling Software Version Updates".
- ^ "Download Source Code for Seamless3d".
- ^ "Blaxxun programmed Techuelife Island to be permanently shown in the places list for the Blaxxun home community server". Archived from the original on 2015-01-23.
- ^ "Techuelife Island is still in service to the public to this present day".
- ^ "18 August 2001: Web3d-fr Techuelife Island: A beautiful world with a real personality". Archived from the original on 2008-02-03.
- ^ "2002 Holger Grahn (creator of Bitmanagement/Blaxxun Contact browser): Techuelife Island: A marvellous generated landscape with many scripted surprises".
- ^ "Blaxxun Home Site".
- ^ "Page Seamless3d de Thyme en français". Translated by Matthieu.
{{cite web}}
: CS1 maint: others (link) - ^ "Seamless3d - 3d underground stories".
- ^ "One of the first Seamless3d tutorials showing how to use the early C++ library".[permanent dead link]
- ^ "Some early examples of avatars made in late 2001 using the Seamless3d library and a C++ compiler".
- ^ "Online C++ Scripted Hoppy Demo for 2.099".
- ^ "Examples of vrml models created by school children using Seamless3d who had a very limited amount of learning time".
- ^ "New Specialized Animation Controls for 2.121".
- ^ "Creating a Sound Track Tutorial for 2.123".
- ^ "NurbsLathe for 2.127".
- ^ "NURBS control point animation and NURBS stitching were added in 2010".
- ^ "Seamless3d can be used as a mesh editor and an animator".
- ^ "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".
- ^ "Seamless3d VRML format comparison".
- ^ "Seamless3d chat server running on Linux continuously since 2009".
- ^ "Also does a good job of importing Avatar Studio avatars, translating them to single mesh, standard pose".