Seamless3d

{{short description|Open source 3D modeling software}}

{{Infobox software

|name = Seamless3d

|screenshot = Smls 090411.png

|developer = Graham Perrett (AKA thyme)

|released = {{Start date and age|2001}}

|latest release version = 3.007

|latest release date = {{Start date and age|2019|10|06}}{{cite web | url=http://www.seamless3d.com/download/version-updates.html | title=3D Modelling Software Version Updates }}

|programming language = C++

|operating system = Microsoft Windows

|genre = 3D modeling software

|license = MIT license

|website = {{URL|www.seamless3d.com}}

}}

Seamless3d is an open-source 3D modeling software available under the MIT license.{{cite web|url=http://www.seamless3d.com/download/source.html|title=Download Source Code for Seamless3d}}

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.{{cite web|url=http://x79.net/forum/viewtopic.php?t=32&postdays=0&postorder=asc&start=15|archive-url=https://web.archive.org/web/20150123043454/http://www.x79.net/forum/viewtopic.php?t=32&postdays=0&postorder=asc&start=15|url-status=dead|archive-date=2015-01-23|title=Blaxxun programmed Techuelife Island to be permanently shown in the places list for the Blaxxun home community server}}{{cite web|url=http://www.seamless3d.com/wrl/index.html|title=Techuelife Island is still in service to the public to this present day}}{{cite web |url=http://www.web3d-fr.com/news/news082001.php |title=18 August 2001: Web3d-fr Techuelife Island: A beautiful world with a real personality |url-status=dead |archiveurl=https://web.archive.org/web/20080203222639/http://www.web3d-fr.com/news/news082001.php |archivedate=2008-02-03 }}{{cite web|url=http://home.snafu.de/hg/vrml/notebook.html|title=2002 Holger Grahn (creator of Bitmanagement/Blaxxun Contact browser): Techuelife Island: A marvellous generated landscape with many scripted surprises}}{{cite web|url=http://www.blaxxun.com|title=Blaxxun Home Site}}

Many Seamless3d tutorials have been translated to French.{{cite web|url=http://pagesperso-orange.fr/matthieu/page_seamless3d.htm|title=Page Seamless3d de Thyme en français|others=Translated by Matthieu}}{{cite web|url=http://www.szarah.org/3d-time/index.php?num=131206|title=Seamless3d - 3d underground stories}}

History

In 2001 Seamless3d was made freely available online as a C++ library.{{cite web|url=http://users.tpg.com.au/users/gperrett/seamless3d/c++ |title=One of the first Seamless3d tutorials showing how to use the early C++ library }}{{dead link|date=January 2017 |bot=InternetArchiveBot |fix-attempted=yes }} 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.{{cite web|url=http://www.seamless3d.com/av/index.html|title=Some early examples of avatars made in late 2001 using the Seamless3d library and a C++ compiler}} 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.{{cite web|url=http://www.seamless3d.com/forum/viewtopic.php?f=1&t=18&sid=2b80eacb14a000ef7cf4114a33737fa3|title=Online C++ Scripted Hoppy Demo for 2.099}}

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.{{cite web|url=http://closed.forumactif.com/worlds-vrml-f40/seamless-t327-330.htm|title=Examples of vrml models created by school children using Seamless3d who had a very limited amount of learning time}}

In 2007 the animation interface was greatly simplified by the introduction of a specialised control panel called the Anim bar.{{cite web|url=http://www.seamless3d.com/forum/viewtopic.php?f=1&t=162&sid=1759c7420efeedf184901d8d79dd5a05|title=New Specialized Animation Controls for 2.121}}

Towards the end of 2007 NURBS were introduced for making shapes and for synthesizing sounds.{{cite web|url=http://www.seamless3d.com/forum/viewtopic.php?f=1&t=197&sid=1759c7420efeedf184901d8d79dd5a05|title=Creating a Sound Track Tutorial for 2.123}}{{cite web|url=http://www.seamless3d.com/forum/viewtopic.php?f=1&t=203&sid=1759c7420efeedf184901d8d79dd5a05|title=NurbsLathe for 2.127}}

In 2010 NURBS control point animation, NURBS stitching and a number of other features to aid making movies were introduced.{{cite web|url=http://seamless3d.com/download/2.161.html|title=NURBS control point animation and NURBS stitching were added in 2010}}

Build Node Technology

Seamless3d can be used as a mesh editor and an animator,{{cite web|url=http://www.revemonde.net/3d-worlds/seamless3d|title=Seamless3d can be used as a mesh editor and an animator}} 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)

Image:Nspe.png

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

Image:Fuse surfaces.png

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{{cite web|url=http://forum.revemonde.net/viewtopic.php?p=14330&sid=4c27f38a6d389b8f2a06dfe0f2b4ee82|title=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}}) 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.{{cite web|url=http://www.seamless3d.com/lang|title=Seamless3d VRML format comparison}}

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

  1. 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 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.{{cite web|url=http://www.seamless3d.com/forum/viewtopic.php?f=4&t=415|title=Seamless3d chat server running on Linux continuously since 2009}} The general public can freely use it for their own custom made worlds and avatars.

Features

  • 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{{cite web|url=http://www.afoto.com/web3d/bookmarks.htm|title=Also does a good job of importing Avatar Studio avatars, translating them to single mesh, standard pose}}
  • Imports H-Anim [http://acb2004.hp.infoseek.co.jp/Imports_H-Anim/seamless3d_tut_japanese_tut_h-anim_to_cortona.html]
  • Imports and Exports Biovision Hierarchy Motion Capture (BVH) files [http://www.seamless3d.com/tut/bvh/index.html]
  • Support for FFmpeg which allows for the creation of AVI, MPG, MP4 and FLV movie formats [http://www.seamless3d.com/tut/movie/index.html]
  • Transform hierarchies
  • [http://www.seamless3d.com/tut/morphing_models/index.html Morphing]
  • Skinned animation
  • Texture mapping [http://www.seamless3d.com/tut/texture_mapping/index.html]
  • JPEG and PNG texture formats (and BMP when using DirectX)
  • Béziers & NURBS lathes and NURBS patches
  • [http://www.seamless3d.com/tut/nurbs_patch_av/index.html Tangent matched NURBS Surface Fusion]
  • [http://www.seamless3d.com/tut/nurbs_patch_av/index.html Nurbs Surface Poly Modeling (NSPE)]
  • Software robot demonstration help
  • [http://www.seamless3d.com/tut/switch_anim3d/index.html Scripting]
  • Key-frame based and Script based animation [http://www.seamless3d.com/tut/beeline_anim/index.html] [http://www.seamless3d.com/tut/nurbs_lathe_av/index.html] [http://www.seamless3d.com/tut/worm_animation/index.html]
  • Sound synthesis using NURBS [http://www.seamless3d.com/tut/soundtrack/index.html]
  • Seamless3d files are a compact human-readable text format
  • [http://www.seamless3d.com/tut/chat/index.html Multi-User 3D chat web browsing]

References

{{Reflist|30em}}