Unicon 3D (.u3d) File Format

Introduction

The official Native Unicon 3D File Format has as its goal the simplest possible human-readable format sufficient for general-purpose 3D modeling. This format is a "superset/subset" of the S3D file format documented by Terminal Reality and discussed by Ian Parberry et al.

U3D as an S3D Superset

The term "superset" suggests that .s3d files can be used virtually unmodified as native input to Unicon. Since S3D plugins are available for 3D studio max, and possibly for Maya and Blender, this gives some potential ability to import 3D models from mainstream tools into Unicon programs.

While the S3D support claim is true, note that Unicon does not support all texture image file formats, and in particular .tga formats used by Parberry will have to be converted to .gif (or possibly .jpg if that code ever gets debugged).

S3D Subset Features

Files with the .u3d extension do not have to have a lighting or camera model, those elements are optional and are in fact ignored.

S3D Extensions

U3D Files make use of the .S3D format "extensions" facility to support "higher level" 3D graphics primitives that are built-in to Unicon (and OpenGL). Note that since these primitives are not modifiable with the usual translation, scaling, or rotation within the file format, it is assumed that such transformations are already applied ("pre-compiled" if you like to think of it that way) in this data. When this is not convenient to do, fall back on the more general triangles-based S3D primitive for your arbitrary-shaped things.
Primitive U3D File Syntax
Cube cube k
textureIndex,vertexIndex,length
Cylinder cylinder k
textureIndex,vertexIndex,h,r1,r2
Disk disk k
textureIndex,vertexIndex,r1,r2,a1,a2
Sphere sphere k
textureIndex,vertexIndex,r
Torus torus k
textureIndex,vertexIndex,r1,r2