Seamless3d
Encyclopedia
Seamless3d is open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 3D modeling software free and available for all under the MIT license
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

.

The models for the virtual reality world, Techuelife Island were created using Seamless3d technology. Techuelife Island is showcased by Blaxxun
Blaxxun
blaxxun interactive originally named "Black Sun Interactive" was one of the first companies to develop a 3D community platform designed for the Internet using VRML and highly scalable multi-user server environments.- Company History :...

 as an example of what is possible when using the interactive multi-user Blaxxun platform.

Many Seamless3d tutorials have been translated to French.

History

In 2001 Seamless3d was made freely available online as a C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 library. The library centered around the creation of animated single mesh avatar
Avatar (computing)
In computing, an avatar is the graphical representation of the user or the user's alter ego or character. It may take either a three-dimensional form, as in games or virtual worlds, or a two-dimensional form as an icon in Internet forums and other online communities. It can also refer to a text...

s 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. By February 2003 Seamless3d had been transformed into a GUI based 3d modelling application with a file format designed around VRML
VRML
VRML is a standard file format for representing 3-dimensional interactive vector graphics, designed particularly with the World Wide Web in mind...

 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.

In 2006 a set of specialised nodes for creating simple shapes such as: Sphere
Sphere
A sphere is a perfectly round geometrical object in three-dimensional space, such as the shape of a round ball. Like a circle in two dimensions, a perfect sphere is completely symmetrical around its center, with all points on the surface lying the same distance r from the center point...

, Cylinder
Cylinder (geometry)
A cylinder is one of the most basic curvilinear geometric shapes, the surface formed by the points at a fixed distance from a given line segment, the axis of the cylinder. The solid enclosed by this surface and by two planes perpendicular to the axis is also called a cylinder...

, Cone
Cone (geometry)
A cone is an n-dimensional geometric shape that tapers smoothly from a base to a point called the apex or vertex. Formally, it is the solid figure formed by the locus of all straight line segments that join the apex to the base...

, Torus
Torus
In geometry, a torus is a surface of revolution generated by revolving a circle in three dimensional space about an axis coplanar with the circle...

, Box and Bezier
Bézier curve
A Bézier curve is a parametric curve frequently used in computer graphics and related fields. Generalizations of Bézier curves to higher dimensions are called Bézier surfaces, of which the Bézier triangle is a special case....

 Lathe were added to make Seamless3d easier for the novice to quickly make simple models.
In 2007 the animation interface was greatly simplified by the introduction of a specialised control panel called the Anim bar.

Towards the end of 2007 NURBS were introduced for making shapes and for synthesizing sounds.

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

Build Node Technology

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)

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

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 ) 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.

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

Features

  • Exports to VRML
    VRML
    VRML is a standard file format for representing 3-dimensional interactive vector graphics, designed particularly with the World Wide Web in mind...

    , X3D
    X3D
    X3D is the ISO standard XML-based file format for representing 3D computer graphics, the successor to the Virtual Reality Modeling Language . X3D features extensions to VRML X3D is the ISO standard XML-based file format for representing 3D computer graphics, the successor to the Virtual Reality...

     (including H-Anim
    Humanoid Animation
    Humanoid Animation is an approved ISO standard for humanoid modeling and animation. H-Anim defines a specification for defining interchangeable human figures so that those characters can be used across a variety of 3D games and simulation environments.The H-Anim Standard was developed in the late...

    ), OBJ and POV-Ray
    POV-Ray
    The Persistence of Vision Raytracer, or POV-Ray, is a ray tracing program available for a variety of computer platforms. It was originally based on DKBTrace, written by David Kirk Buck and Aaron A. Collins. There are also influences from the earlier Polyray raytracer contributed by its author...

     formats
  • Imports VRML and X3D VRML Classic formats
  • Imports Canal/Blaxxun Avatar Studio avatars
  • Imports H-Anim
    Humanoid Animation
    Humanoid Animation is an approved ISO standard for humanoid modeling and animation. H-Anim defines a specification for defining interchangeable human figures so that those characters can be used across a variety of 3D games and simulation environments.The H-Anim Standard was developed in the late...

     http://acb2004.hp.infoseek.co.jp/Imports_H-Anim/seamless3d_tut_japanese_tut_h-anim_to_cortona.html
  • Imports and Exports Biovision Hierarchy
    Biovision Hierarchy
    The Biovision Hierarchy character animation file format was developed by Biovision, a defunct motion capture services company, to give motion capture data to customers...

     Motion Capture
    Motion capture
    Motion capture, motion tracking, or mocap are terms used to describe the process of recording movement and translating that movement on to a digital model. It is used in military, entertainment, sports, and medical applications, and for validation of computer vision and robotics...

     (BVH
    Biovision Hierarchy
    The Biovision Hierarchy character animation file format was developed by Biovision, a defunct motion capture services company, to give motion capture data to customers...

    ) files http://www.seamless3d.com/tut/bvh/index.html
  • Support for FFmpeg
    FFmpeg
    FFmpeg is a free software project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line...

     which allows for the creation of AVI
    Audio Video Interleave
    Audio Video Interleave , known by its acronym AVI, is a multimedia container format introduced by Microsoft in November 1992 as part of its Video for Windows technology. AVI files can contain both audio and video data in a file container that allows synchronous audio-with-video playback...

    , MPG, MP4 and FLV
    FLV
    Flash Video is a container file format used to deliver video over the Internet using Adobe Flash Player versions 6–11. Flash Video content may also be embedded within SWF files. There are two different video file formats known as Flash Video: FLV and F4V. The audio and video data within FLV files...

     movie formats http://www.seamless3d.com/tut/movie/index.html
  • Transform hierarchies
  • Morphing
  • Skinned animation
    Animation
    Animation is the rapid display of a sequence of images of 2-D or 3-D artwork or model positions in order to create an illusion of movement. The effect is an optical illusion of motion due to the phenomenon of persistence of vision, and can be created and demonstrated in several ways...

  • Texture mapping http://www.seamless3d.com/tut/texture_mapping/index.html
  • JPEG
    JPEG
    In computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....

     and PNG texture formats (and BMP when using DirectX
    DirectX
    Microsoft DirectX is a collection of application programming interfaces for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with Direct, such as Direct3D, DirectDraw, DirectMusic, DirectPlay,...

    )
  • Béziers
    Béziers
    Béziers is a town in Languedoc in southern France. It is a sub-prefecture of the Hérault department. Béziers hosts the famous Feria de Béziers, centred around bullfighting, every August. A million visitors are attracted to the five-day event...

     & 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
    Scripting language
    A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...

     based animation
    Animation
    Animation is the rapid display of a sequence of images of 2-D or 3-D artwork or model positions in order to create an illusion of movement. The effect is an optical illusion of motion due to the phenomenon of persistence of vision, and can be created and demonstrated in several ways...

     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
    Plain text
    In computing, plain text is the contents of an ordinary sequential file readable as textual material without much processing, usually opposed to formatted text....

    format
  • Multi-User 3D chat web browsing

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK