AC3D™ Version 5.0
User Manual
© Copyright Inivis Limited 2005
IntroductionWelcome to AC3DAC3D is designed to make the construction of 3D objects fast and easy. It is used to create 3D models for simulations, games, rendering ray-traced images, and for scientific and general data visualization.
AC3D runs on a wide range of standard hardware and is available across a number of popular platforms. AC3D terminologyVertexA vertex is a single point in 3d space. It’s specified by three coordinates x, y and z. More than one vertex can occupy the same position in 3d space. A vertex is always owned by a single object, they cannot be shared between objects. A vertex is usually part of one or more Surfaces, but need not be. SurfaceA surface in AC3D is a sequence of vertices. Surfaces are one of three types; polygons, lines or polygon outlines. The type of a surface defines how the surface is drawn and this can be easily changed. If a surface is set to be single-sided, it will only be visible from the front. Two-sided surfaces will be visible from both sides. It is more efficient to draw single sided surfaces and makes more sense when used as part of an object such as a sphere (where you can’t see the other side of the surfaces). Surfaces have a material attribute, which defines the color and quality (for lighting purposes). Each vertex referenced in a surface has an associated Texture Coordinate. Vertices can be shared between surfaces in the same object. Surface normalA ‘surface normal’ specifies the direction a surface is facing. Normals are used in lighting calculations. Surface normals are automatically calculated by AC3D. A surface is defined as facing the viewer if the vertices can be seen in an anti-clockwise direction. ObjectAn AC3D object is a list of vertices, and surfaces that use these vertices. It also has other attributes such as a name and texture. GroupA group is a special object that has no surfaces or vertices but has other objects as children. Groups are created by selecting two or more objects and selecting ‘Group’ from the edit menu, or toolbar. Use the ‘Ungroup’ function to separate the objects. Select-modeThe select mode allows control over the level of editing in AC3D. In ‘Vertex’, individual vertices can be selected and adjusted. In ‘Surface’, operations are performed on one or more selected surface. In ‘Object’, whole objects are selectable. This allows manipulation of objects, even if they are part of groups. In ‘Group’, selecting all or part of an object automatically selects the top level object. MaterialA material defines the color of a surface and also the attributes that define the way it will react to light e.g. shininess. TextureGraphical images can be mapped onto the surfaces of an object. The images are usually from graphics files such as gif, jpg, bmp etc. Texture coordinates When the vertex of a surface is drawn, a texture coordinate specifies the position of a texture image to map to that point. A texture coordinate is a two dimensional (u,v) value which defines the point on the 2D image. Bounding boxWhen you make a selection of objects, surfaces or vertices, a green box outlines it. You can drag, resize or rotate this box to adjust the contents Getting help
Windows/ViewsAC3D has a control panel on the left, plus 4 other view windows. There’s also the menu and toolbar at the top and an information bar along the bottom. Control panel
ToolbarThis contains buttons for some of the most commonly used functions.
View windowsBy default, AC3D starts with three two-dimensional (2D orthographic) view windows and a single three-dimensional (3D) window. The default view windows show Front, Left, Top and 3D camera angles onto the model space.
The dividers between the 4 view windows can be dragged to resize the views. Individual views are maximized by clicking on the view buttons at the top right of the main window (alternately, the F1-F5 keys can be pressed to switch between the different view configurations).
The main window size/position and other settings are saved when AC3D exits.
The Camera angle can be changed at any time. This is useful if for example, you need to view (or work on) a model from the underside (bottom view).
The icons on the right of each view-menu allow you to use the mouse to navigate around the 3D space; show a clean image; and maximize the view window.
The spin, move/pan and zoom button are special controls that are held down (left mouse button) whilst the mouse is dragged. The views adjust their viewpoint as the mouse is dragged.
Additional views can be created from the menu Views->New-View.
Note that unlike in 2D CAD programs, the space presented in the AC3D view windows is not finite like a piece of paper has a limit and edges. You can move viewpoints just like a person moves around in real 3D space. There are no real edges to the available space (apart from reaching computational limits). Orthographic (2D) views
Although it’s useful sometimes to work in a single view, seeing all the windows at once can be very helpful when positioning objects and laying out scenes. Navigating in 2D viewsUse the mouse to pan or zoom an orth view. The keyboard arrow keys pan and control+up/down zooms in and out. Holding down a shift key increases the movement.zoom distance. The gridsIn the orthographic windows, there are two grids - the draw grid (major lines) and the snap grid (minor lines). Both can be set from 'File->settings' and their display can be toggled on/off by selecting ‘Grid’ from the Orth menu (or pressing the ‘g’ key when focused in an orth window).
The Snap grid is shown by thin visual guide lines; the draw grid uses thicker lines. If ‘Gridsnap’ is switched on, moving/resizing/creating mouse movements will be aligned to the nearest snap grid points.
The grids can be configured to display units of any size e.g. for eighths of an inch, the major draw grid would be set to 1.0 and the snap grid set to 0.125 (1/8th). Using Background ImagesAny orthographic (2D) window can display a background image. This can be useful for tracing shapes or laying out objects in relation to a scanned image e.g. a plan/map. Background images are set and unset from the Orth menu at the top of an orthographic window. All image formats that are supported by AC3D's texture loaders can be used as background images.
3D views
Navigating in 3DTwo navigation modes are available in this window – ‘spin’ and ‘walk’. These can be switched from the view’s own 3D menu or by pressing the ‘1’ or ‘2’ keys whilst the pointer is in the 3D window.
Taking a snapshot image
Creating AC3D objectsAC3D Surfaces
Crease anglesEach AC3D object has a crease-angle property. This is adjusted via the Tools->Object-property-editor. The crease angle is specified in degrees and is used to determine if adjacent surfaces in the object should be ‘smoothed together’ by averaging the surface-normals. The angle between adjacent surfaces is measured and if this is larger than the crease angle, the surfaces will be smoothed. A crease angle of zero degrees forces all surfaces to be flat. A crease angle of 180 degrees forces all surfaces to be drawn smooth. Setting a surface type to ‘flat’, forces the surfaces to remain flat shaded. Setting a surface type to smooth allows it to be under control of the crease angle.
Example: a cylinder with all surfaces set to ’Smooth’.
One-sided and Two-sided surfacesThe '1S' and '2S' buttons select how many sides a surface has (one-sided or two-sided). If a surface is single sided, it will only be visible from one side. The following pictures demonstrate this:
Objects such as spheres and cubes, which do not have any interior surfaces visible, benefit from a speed optimization when being drawn with the surfaces single-sided. Surface normalsThe direction a surface is facing is determined by its 'Normal' (indicated by arrows in the above diagram). This is a 3D graphics term for a line at right angles to the surface that indicates a direction. ). Normals are used to calculate surface colors and shading when the objects in AC3D are drawn. For smooth shading, vertex normals are automatically calculated by averaging normals of all connected surfaces.
Normals can be visualised in both the orthographic and 3d views (‘Normals’ on the ‘orth’ and ‘3d‘menus). This preview is useful for solving problems where, for example, some surfaces in an object are the wrong way around (this can cause surfaces to appear missing if they are one-sided, or the smoothing can appear uneven. Viewing the normals is also useful for use with the extrude function and can help determine the extrude settings that ensure that new surfaces face in the correct direction.
To flip the direction of a surface, use Surface->Flip normal. (This actually reverses the order of the vertices in the surface so that the automatically generated normal faces the opposite way).
Creating new objects
Polys/polylines/linesTo create a poly/polyline/line, click to position each point and either double-click or press the middle or right mouse button to end. The surface type can be altered later from the control panel if you need a different type.
These objects consist of a list of vertices and a single surface. The surfaces from more than one of these objects can be collected together into a single object by using the Object->Merge function.
Polygons should be 3 or more points. Concave polygons are handled by AC3D. They can be converted to triangles by using the Surface->triangulate function.
It is possible to draw a line or poly in different windows - creating a non-planar surface. This makes sense with lines but is not correct for a polygon which should have all of the points on the same plane. Invalid polygons i.e. polygons that have less than three vertices are displayed in a cyan color. Surfaces that have crossing edges are displayed in a red color.
To draw shapes that have vertices in the same position as an existing shape, use the ‘nearsnap’ function, the control for which appears under the draw mode section when line/poly/polyline mode is selected. When Nearsnap is on, the next point drawn will ‘snap’ to the nearest existing vertex (when there is a vertex within a certain range).
Spheres, boxes etc.Creating a 3D object by dragging the mouse in a window specifies two of the dimensions for the new object - the third dimension is an average of the original two. The location of the object in the third dimension is specified by the 3D cursor. These objects can also be created with a single click in a view window. This will create a regular object that fits into a 1 x 1 x 1 square. The 3D cursor is shown in the orthographic views by a cross. This is repositioned by using the tool, Tools->Position-3D-Cursor. Most people rarely use this because it is very easy to create an object and position it afterwards.
Object names can only be edited/set in Group or Object select mode. Object names need not be unique and can be the same across multiple objects. This can be useful for selecting or finding particular objects with the Edit->select-by-name function (e.g. to select all objects named ‘chair’). Object names are used in some of the file formats exported by AC3D.
If AC3D is being used to generate VRML or Dive files, URLs and other text can be associated with objects. This text is used in a number of the export file formats that AC3D generates. The names, text and urls are saved in the .ac AC3D files. Text attached to each object is entered into the field on the Tools->Object property editor window. Object names can also be set in the property editor. LightsLights have no associated geometry and represent a
‘point light’. Lights are represented by this symbol:
Lights are fixed brightness white lights. Lights are selected and repositioned in Group or Object select mode. Lights are generated in exported files such as POV and RIB files. The generated files can be edited to alter the lighting attributes.
If the headlight is on when POV or RIB files are generated, a light will be added to information in the file. Object mode lock
Creating other objectsIt is very easy to create other objects from these shapes. For example, to make a torus shape (‘donut’), create an ellipse and select the Object->revolve menu.
A cone can be made in a number of ways. Create a cylinder; select one end (in vertex mode) and select Vertex->snap-together. A cone made this way will have the texture coordinates set correctly. For a simpler cone (fewer vertices), optimize the vertices with Object->Optimize-vertices. This means that the centre-point of the cone will be a single vertex which is shared with all the sides. Some other ways of making cones include - making a 'disk' and pulling the centre point up; Using Object->revolve to revolve a line around an axis. To add a base to the cone, select the bottom vertices and select the menu item: 'Vertex->Create surface/object'.
‘Extrude’ is used to add extra parts to objects or to give 2d shapes depth. Objects can be cut into pieces and specific surfaces deleted.
Selecting, resizing, moving and rotatingIn AC3D, the manipulation of 3D objects works in a very similar way to a 2D drawing program. i.e. the selection is shown highlighted and ‘handles’ can be moved to reshape the section.
Selecting
The Select-mode defines the granularity of selection i.e. it determines if selections will affect objects, groups or vertices. To select in AC3D, either click the left mouse button or use the left mouse button to drag a box over an area. When something is selected, the Bounding-Box that appears can be dragged or resized directly affecting the points/surfaces/objects.
In Vertex mode, vertices can be selected by a single click on a single vertex or by dragging a box over a number of vertices. In Surface-mode, a surface is selected by a click or dragging a box over an area. In Object-mode, selecting any part of an object causes the whole object to be selected. In Group-mode, a group of objects can be selected by highlighting any part of a single object that belongs to a group.
There is an important difference between a click-select and a drag select. Click-selects are used for selecting single entities e.g. one object, one surface, one vertex. A click select will select the nearest entity underneath the pointer. A drag-select will select everything within the drawn box that lies underneath the region. Click-select is useful, for example, when selecting a single surface of a sphere (where a drag select will always select more than one surface).
Selections are preserved between changes of select modes. Changing from vertex to surface select-mode means that any surfaces that have all vertices selected will remain selected in surface-mode. Moving
Resizing
Note that it is possible to resize a selection down to zero width/height. This is useful for lining up vertices. Extending/Negating the selectionHolding down the shift key whilst selecting with the left mouse button, extends the selection (adds new entities) and pressing shift whilst selecting with the 2nd (or 3rd) mouse button, negates (subtracts) items from the current selection. Extend and negate selection work in all select modes.
Clearing the selectionClicking the outside the area of the bounding box will cause everything to become unselected. The selection can also be cleared by pressing the ‘None’ button in the toolbar or from the menu Edit->select-nothing. Hiding objects
Locking objects
Note that if objects are hidden (or locked) and the model is saved/exported, hidden and locked objects are included in the file. Model manipulationOperations on objectsThese operations are on the ‘Object’ menu and act upon one or more selected objects.
Texture
Each object can have one texture. A texture is a 2D bitmap image, such as a .gif or .jpg file, which is drawn onto the surfaces of an object.
To set a texture on an object use Object->texture->Load-Texture. AC3D’s default palette of objects predefine the way that the textures are mapped onto the object surface. To adjust this or to define a custom mapping, use AC3D’s Texture Coordinate Editor (Tools menu). See the section on ‘Texturing’. RevolvingRevolving makes copies of the selected objects, rotating each copy, then creating surfaces between the copies. It’s recommended that this function be used to revolve 2D outlines of shapes rather than filled-polygon objects. Any revolved line objects are automatically removed after the revolution. The axis to perform the revolution about can be altered.
If there are points that need to be in the centre of the final revolved object - (e.g. the start and end points of the cup profile above) then these points should lie exactly on the axis. Drawing the line with ‘gridsnap’ can ensure this. Alternatively, snapping the points to the grid (Vertex->snap to grid) or by using the control panel Move-to function to ensure that two of the values are zero. If these points are not exactly on the axis, a small hole or possibly overlapping surfaces will be created. If this happens, the 'Vertex->snap together' function and Object->Optimize-Vertices can be used to remove duplicate points. Setting the revolve offset allows the profile to be moved along an axis for each revolution. This is useful for making spiral pipes, springs and screw threads.
Example: creating a spring:
Example creating a thread
MirrorThe mirror function duplicates all object surfaces and vertices and flips the new surfaces and vertices around the specified axis. Examples:
Where possible, Mirror will remove duplicate vertices. If mirroring half of a shape, use Vertex->align-to-axis to align the inner edge vertices to an axis. Alternatively, select the inner vertices and resize one dimension to zero – this flattens the selection, aligning the vertices. Mirror is useful after use of the AC3D real-time Mirror function (View menu) where half of a symmetrical object has been worked on. Optimize VerticesThis function removes duplicate vertices from each selected object. For vertices to be removed, an object must own the vertices and they much match the same position exactly. The function will share one vertex between each connected point. This can make the object les complex and means that vertex normals can be calculated if smooth shading is required. This function also removes duplicate vertex references from the surface - something that might cause a bad polygon. If vertices do not match the same position, Vertex->snap-together or Vertex->snap-together-by-distance can be used to move them to the same point. Optimize SurfacesThis function removes any duplicate surfaces and any polygons that consist of 1 or 2 vertices (these may exist if vertices have been deleted from an object). AC3D highlights invalid polygons by displaying them as cyan lines. ReduceThis function reduces the number of vertices (and polygons) whilst trying to retain as much of an objects original shape as possible. This is useful for saving on storage space and for speeding up the rendering of complicated objects. This function can be used to create different objects that will be shown at different distances (LOD – level of detail). E.g. a car object should be viewed close up with all polygons but from a distance, a more simple shape is adequate and can save drawing time.
A target percentage specifies the proportion of vertices that are to remain. E.g. If an object has 100 vertices and 80% is entered, the final object will contain 80 vertices.
The original object can remain in the model, or it can be replaced with the new object. If the original object is kept, the new object will be created in the same position and will be selected.
An example:
732 surfaces, 376 vertices
Reduced to 40% gives:
276 surfaces, 150 vertices – A saving of 456 polygons. The reduce window remains visible so that different reductions can be tried (use Edit->Undo to revert to the previous state). Commit subdivisionThis function affects objects that have the subdivision preview level set to a value larger than zero. The subdivision preview level is set from Tools->Object-Property-Editor.
It converts the subdivision preview into real polygons for the selected objects.
See the section on ‘Subdivision surfaces’ for more information.
Subdivide oncePerforms a single surface-subdivision. A surface subdivision is where each surface is divided, then the shape of the overall object is ‘smoothed’.
Re-centreObject centres define the ‘local origin’ of AC3D objects. Object centres can be seen by switching on the '+' button on the main Orth menu. This function sets this origin at the centre of gravity. This can be useful for specifying where the pivot points or local-origin of an object are. Minimum-centreThis function sets the object-centre (object's origin) to the minimum xyz of the object. Fragment
MergeThis function places all of the surfaces from the selected objects into one single object. This does not optimize the vertices so that they can be shared across the surfaces. (use menu Object->Optimise-Vertices after merging to create a more efficient object and/or get smooth shading across adjacent surfaces) Explode
Operations on surfacesExtrudingPressing the extrude button on the control panel (or pressing the ‘e’ key) when there are one or more surfaces selected, enables the function. The actual extrude is done after the selection is dragged.
Extruding is a powerful function that can be used for a number of tasks. It works by making new surfaces at the edges of the current selection. The original selection can be removed and/or copied to the end of the new surfaces.
After setting these parameters, the bounding box is dragged in the desired direction. (if the control key is held down, movements of the mouse are constrained to either horizontal or vertical.)
The extrude function is best demonstrated with some examples. (This star was made by creating a 10-sided disk, selecting alternate vertices and shrinking the selection, using the –10% toolbar button a few times).
This is what happens when the selection is dragged up in the plan window:
If ‘remove original’ was ticked then the star that that is being dragged will be deleted:
Here, the original surfaces have been removed to leave a star shaped box (without a lid). If ‘cap end’ had been unticked, then it would have been possible to see right through the star shape.
This picture shows what happens when ‘sections’ is set to 4.
To extend an existing set of surfaces, it may not be desirable to keep the existing surfaces inside the new object.
Here is a cube that has had a single ‘Surface->divide’. Two of the surfaces are selected.
These surfaces can be extended without keeping the original surfaces (since they will not be visible because they are inside the shape.)
To perform the extrusion, the bounding box is dragged to the left (in either the front or plan window), holding down the Control-key whilst dragging ensures that the new surfaces are square to the original. This gives:
When extruding lines, ensure that remove original is ticked and cap end is un-ticked. This ensures that no lines remain in the new surfaces.
It is useful to switch on the display of normals when extruding to check that the resultant surfaces are facing in the correct direction. If they are not, select the surfaces and use surface->flip normal. Flip normalThis effectively reverses the list of the vertices in each selected surface. This reverses the way that a poly 'faces'. A polygon is defined as 'facing' if the vertices appear anti-clockwise to the viewer. If a polygon is set to be one-sided (by pressing the '1S' button on the control panel) then it will only be viewable from one direction - the direction it is facing. You can switch on the display of normals in the orth and 3D windows – this can help determine if any surfaces are facing in undesired directions. Change vertex orderThis changes the order that the vertices of a surface are drawn, by moving the first vertex to the end of the vertex list. This can be used to change the position of a break in a line. It can also be used to fix bad a polygon, which has the first three vertices in a non anti-clockwise order - causing the normal (used for lighting) to be incorrectly calculated. If a polygon appears all black, this function may need executing (possibly repeatedly) until it appears correctly. Divide
Note that because this function splits surface edges, it affects any surfaces that are adjacent to the surfaces being divided.
CombineCombine takes two or more adjacent surfaces and creates a single surface. The selected surface must share edges for this function to complete. Select the menu item or press the ‘c’ key to execute the function.
It is possible to combine surfaces that do not lie on the same plane. It is recommended that the vertices be flattened in order to make them lie on the same plane.
If after combining surfaces, the new surface appears black from every angle, this means that the first three vertices of the surface form an angle of more than 180 degrees. To prevent this, the vertex order must be changed (Surface->change vertex order) so that the first three vertices of the surface form an angle less than 180 degrees. Spike
IndentThis function creates new surfaces around the edge of existing surfaces.
If the select mode is Surface or Vertex, the new ‘centre’ surface (or vertices of it) is selected after the operation completes. BevelBevelling a surface does the same as Indent but the new centre surface is raised. Two parameters are required, one for the distance in from the edge; the other is the distance to move the new (inner) surface forward.
If the select mode is Surface or Vertex, the new ‘centre’ surface is selected after the operation is complete. Make holeThis function creates a hole in each selected surface.
Some concave polygons may have overlapping surfaces after making holes. Vertices may need adjustment to prevent overlapping. The size of the hole is specified as a percentage and can be adjusted in File->settings. TriangulateThis spits non-triangles (i.e. polygons with more than 3 sides) into more surfaces, each new surface being a triangle. This operation can fail if it is given a 'bad' polygon - i.e. one that has overlapping edges or duplicate vertices.
SplineThis is useful for smoothing out a 'line' object and for rounding off polygons. New points are interpolated between existing points.
Cut away object
Remove surface onlyThis deletes any whole surfaces selected. The vertices will remain. Calculate surface areaThis function calculates the total surface area of the selected surfaces. Note that the total area accounts for one side of each surface. Operations on VerticesThe majority of functions on the Vertex menu are available when the Surface or Vertex select mode is active and one or more vertices are selected. Snap-togetherThis sets all selected vertices to the same location. The vertices can be in separate objects or the same object. The point that they are snapped to is the average of all selected points. Snap-together-by-distanceThis function moves vertices together that lie within the specified distance. This is useful for example, to join two halves of an object together.
Snap-to-gridThis moves each selected vertex to the nearest grid position. This may or may not be the visible grid. The snap grid is defined by 'snap grid' in settings and may be different to the 'draw grid' (which is the visible grid). Snap-objects-by-verticesThis is for aligning two objects so that the one vertex from each object are in the same place. One vertex in each of two separate objects should be selected before executing this function. The objects will be moved together, so that the two selected vertices are in the same location. Smooth ShapeThis function repositions the selected vertices in order to smooth the shape of the surfaces. Align to axisThis function moves all selected vertices so that they lie on the specified axis. UnshareThis creates new vertices so that each surface will access a unique vertex in the same object. New vertices will be created in the same location as the originals. Insert VertexThis function inserts a new vertex between each selected pair of vertices. Insert-vertex is useful for adding extra points into a line.
If the two vertices selected are on an edge which is shared by two or more surfaces, only one vertex will be created, but it will be shared across the surfaces.
Divide triangle edgeThis function takes two selected vertices and divides the edge between two triangles. This splits each triangle into two further triangles.
Extrude edgesThis function provides a quick way of performing a simple extrude on one or more surface edges (i.e. between vertices).
Slice surfaceThis function is used to cut one or more surfaces across selected vertices.
Create convex surface/objectThis function uses a technique called 'convex hull' to create a new object that surrounds the vertices that are selected. This is very useful for joining complex objects together or for simplifying the creation of some complex shapes.
A second example uses a number of simple objects, which are 'shrink-wrapped' by this function. In this case we are creating the fuselage of an aircraft. The objects are ellipses and a single red box. Any AC3D objects can be used this way, either lines or polygons.
After Surface->Create-Convex-Surface-Object menu function has been selected:
Create ordered surfaceThis function creates a surface using the individual vertices that are selected. The vertices should be selected in the correct order and in an anticlockwise direction. This function works by creating a new surface and adding vertices in the order they were selected. If vertices are not selected in exactly the correct order, a bad surface (crossing edges or non-planar) may be created. Create QuadThis function is used to create a four point, four sided surface from three selected vertices.
Create 2D meshThis function uses a technique called ‘Delaunay Triangulation’ to calculate triangles between a set of points. When this function is selected, a plane is specified. This treats the points as 2D so that a mesh can be laid out over the points.
To make vertices specifically for this function, create a line, placing each point at the desired location. Select the line and Surface->remove-surface-only. This removes the surface and leaves the vertices. Note that this function works convexly. Subdivision SurfacesModeling with subdivision surfaces makes it easy to create smooth objects using simple polygon objects.
In AC3D, subdivision surfaces are created from any polygon object by editing the object property from the Object Property Editor tool in the Tools menu.
Subdivision works by dividing each surface and then smoothing the overall shape. An example – A simple box
All of the functions that work on normal surfaces are still functional. Adjusting the original surfaces directly affects the subdivided object.
A cube is a good starting point for many models since each face can be extruded and the vertices moved to form other shapes, whilst retaining a single closed object with no holes.
Subdivision works best with quads (four point/sided surfaces) since they divide symmetrically.
The display of subdivisions can be switched off from the Orth and 3D menus (or by pressing the ‘d’ key’). This allows work to be undertaken on the underlying polygon object that defines the overall shape of the subdivided shape.
Objects retain the subdivision property when AC3D files are saved. To export the model into another file format, keeping the smoothed subdivided shape, the objects can be transformed into full polygon objects by using ‘Object->Commit subdivision’. This converts the object into the polygons that represents the subdivided shape and resets the subdivision preview level to zero.
Subdividing an object by one level increases the number of surfaces in that object by (a minimum of) four times and each subsequent subdivision increases this number by a factor of four.
A setting in File->settings defines a maximum number of surfaces for a subdivided object (Advanced->Subdivision max surfaces). If this maximum is exceeded when the subdivision level is changed, a message is shown. The default value is chosen for average computers. For faster machines, the value can be increased.
These images show a simple cup shape that was formed by using Object->Revolve on a line. The number of segments was set to 6. The image on the right shows this same object with the subdivision level set.
When creating models with subdivision surface, a box or extruded AC3D mesh object is a good start. Creating a box and extruding sides to create the overall shape ensures that the shape is complete with no holes. Surfaces can be divided, spiked, beveled etc. to add extra detail to a shape. Texturing
Each AC3D object can have one texture. A texture is set from the object->texture menu.
Setting a texture
Changing the mappingTexture coordinates determine how a texture is mapped onto the surfaces of an object. All AC3D objects have default texture coordinates applied to them when they are created. For example a cube has mapping set so that one instance of the texture will appear on each face.
Some external files have formats that do not contain texture coordinates and some AC3D operations may cause these coordinates to become disturbed, in these cases, it is necessary to remap the texture coordinates. Changing the texture repeat and offsetsThe texture repeat and texture offset for an object can be modified in Object->Texture->set texture repeat/offset. The texture repeat indicates the number of times the texture is to be fitted into that dimension.
The texture offset determines how far across the texture, the mapping should start.
If more than one texture is required on a single object (e.g. a different image on each side of a cube), the object should be split up into parts (e.g. use Surface->cut away object) and different texture mapped on to each of the sub-objects.
Alternatively, it is more efficient to create a single texture image (i.e. a single picture file containing all the required images) and use AC3D’s Texture Coordinate Editor tool to map parts of the object. ToolsThis section describes AC3D’s integrated tools. Other tools are available as plugins. Tools are accessed from the Tools menu.
Model InformationThis displays information about the current model.
This shows the information for a single cube. Note that the total number of objects shown is actually two. This is because the ‘World’ object is included in this count. The internal world object is the top-level container object. This window can remain visible, whilst other work continues, but if any changes occur to the current AC3D model, the ‘refresh’ button must be pressed in order to update the displayed information. Render
This tool is used to start up an external renderer (such as a Raytracer like PovRay) or other linked program. See the rendering section for more information on how this is configured. Object HierarchyThis window shows the structure of the current model but also allows control over the structure of the hierarchy.
Clicking on one of the items in the list can select or unselect objects. This selection is sensitive to the current select mode being used e.g. in Group select mode, it is only possible to select top-level groups. To select individual objects, switch to Object select mode (using the main AC3D control panel).
As well as controlling selection and grouping of objects, a right click on an object item will reveal a popup menu:
This allows control over hiding, a more detailed properties viewer, editing object data and the option of moving an object to the head (start) or tail (end) of the children list. Object Property EditorObjects have properties that can be adjusted using the Object Property Editor. The crease angle and subdivision level are can be adjusted by moving a slider and pressing a set button. Every AC3D object can have a url (web link address) and text data attached to it. This is a string of text. This data is saved in the AC3D file, along with the object geometry information.
Objects exported in VRML files will have a link generated around them if a URL is present, and Povray objects can include object data text at the end of each object description (allowing custom povray commands to be added).
The Loc point defines the position of the centre of the object. This is the local origin of the object)
Texture Coordinate Editor
AC3D’s integrated Texture Coordinate Editor (TCE) allows full control over the texture coordinates that are applied to all surfaces in AC3D objects.
To start the TCE select: Tools->Texture-Coordinate-Editor.
To edit the texture coordinates of an object, select a single object, or surfaces from a single object should be first selected (in the main AC3D windows). The TCE runs in conjunction with the main AC3D program so you can switch between the windows, selecting the surfaces and objects you wish to edit. Note that if a group object is selected (which has textured children) then nothing will appear in the TCE. In this case, switch to Object select-mode and select a single object.
The surfaces selected in AC3D will appear in the TCE according to their texture coordinates. All AC3D primitive objects (those created from the control panel) have default texture coordinates e.g.
It’s important to realize that the pictures here represent the coordinates that are attached to each vertex reference in each surface, and have no relation to the layout of the actual object vertices.
Note that the pictures above show the texture mapping for objects that have no textures applied. If there is a texture, it will be shown in the window. Selecting and manipulatingWhen surfaces are selected in AC3D and the TCE is visible, the texture coordinates of those surfaces are all visualized. The TCE allows editing of all or a subset of the texture coordinates.
The TCE has two modes of selection, Surface and Vertex. In Surface select mode, the texture coordinates are selected, moved and size by manipulating individual surfaces. Vertex select mode allows individual texture coordinates to be manipulated.
Manipulation in the TCE is similar to the main AC3D 2D views. After a selection is made, the green bounding box can be moved; the handles can be dragged to resize the selection and the selection can be extended and negated (shift-left mouse, shift right mouse). The selection can also be rotated using the mouse. When the mouse pointer is over the edge of the bounding box, the pointer changes to indicate that if the left mouse button is dragged the selection will be rotated.
The Flip buttons mirror the selection either horizontally or vertically.
Remapping the selection
Replicator
The replicator works by first duplicating (or extruding) the current selection. Second, it moves the new copy using the distances specified by Translation (X, Y, Z coordinates). Next, if there is a rotation specified, it rotates the object around the specified location. Finally if the scale fields are set to anything other than 1,1,1, the copy is scaled.
Examples:
Create Text
The font size specifies the maximum unit height of the text. The font detail (1 to 10) controls the number of vertices per letter. The higher the detail, the more surfaces and vertices will be in the resultant AC3D objects. Align ObjectsThis allows objects to be repositioned relative to one object. Select a single object and then shift-select others. On pressing ‘Align’, the first object is used as the reference object. Position 3D cursor
Many find that they never need to adjust this but can be useful change it’s position, when working on large models away from the origin.
MaterialsThe paletteThe scrolling window of buttons near the bottom of the control panel represents the palette of colors/materials available. The default color for an object is palette entry 1 (usually white).
The colored buttons are pressed to change the material on the currently selected objects/surfaces. Setting the material of surfaces works in all selection modes but for a surface to change color in Vertex mode it must have all vertices selected.
Note that the color on the palette button represents the diffuse color for that material.
New palette buttons are appended to the list when a file (containing extra materials is loaded.
When surfaces have a texture as well as a material, that material can affect the way the texture appears. To make a texture to appear as the original colored image then the surface color should be white.
To find the material index of an existing polygon, select that surface and the message at the bottom of the AC3D window will display the material number. Editing Palette entries
Loading and saving filesAn AC3D file (usually named <something>.ac) is a text file describing the geometry of a model. AC3D files retain all available information about a model built with AC3D e.g. textures, surface settings, materials, object data etc. Other file formats exported by AC3D may not retain all of this information. Models should always be saved in this format to ensure that no detail is lost.
Developers can view a description of the file format on the AC3D home page.
AC3D files are loaded by selecting File->Open. This will replace the current model. To load models in addition to the current model, use File->Merge.
A list of the most recently opened files appears on the File menu. Selecting one of these causes it to be loaded. Importing other formatsSee the File->Import menu for a list of file types that AC3D can import. Extra Import/Export plugins allow AC3D to handle more file formats. Check the AC3D website for details of additional plugins. The following formats may be useful for importing your own model data. Triangle filesThe format of triangle file is: each line contains 9 floating point numbers and one hex value e.g.: 0.0 0.0 0.0 1.0 0.0 0.0 1.0 1.0 0.0 0xffffff represents 3 vertices of a triangle. hex value is 0xRRGGBB col - in this case white duplicate vertices are aggregated when loaded. Vector filesThis is another simple format for importing 2D vector data. Each line should consist of a number of vertices followed by the same number x/y coordinate pairs e.g. 3 0.5 0.5 2.5 2.5 10 5 This represents a line with 3 vertices (0.5, 0.5)(2.5, 2.5)(10, 5) Exporting filesAC3D can generate output files for many different formats. Support for extra file formats can be added by installing additional AC3D plugins. See File->export for a list of the output files supported. Several are mentioned here. 3D Studio (3ds)3D studio files are used in 3D Studio Max 3D software http://www.discreet.com. This is a long established binary format which is supported by a lot of third party software. Note that objects with > 1 material will be split into separate meshes within the 3DS file. VRML 1VRML is an ASCII geometry file specification used for web graphics. VRML files may be viewed from within any web browser that has an appropriate plugin installed e.g. Cortona
http://www.parallelgraphics.com/products/cortona/.
AC3D Object URLs (set from the object data dialog) are used so that objects will be selectable in the appropriate browser. The output of normals and textures can be switched on/off in the File->settings window. VRML 2VRML 2 is a geometry description web file format which also allows animation and some other powerful constructs. See VRML 1 for a suitable browser plugin.
Output of normals and textures is switchable via Settings. VRML2 ProtoThis form of VRML2 output exports objects into a VRML prototype. This can be used when compositing larger models where each object may be stored in an individual file and a single file controls the locations of individual instances. DIVEDive is a Virtual Reality system. The Dive generation will include the object data (if you have input any) this is usually TCL code. If an object has a URL then the object will be a dive gateway. See http://www.sics.se/dive for more info about the Dive VR system. MASSIVEMassive is a distributed VR tele-conferencing
system written by Chris Greenhalgh at
http://www.crg.cs.nott.ac.uk/~csm/massive.html RENDERMANThese files are used in a raytracer. This allows detail images with accurate lighting, shadows and reflections to be created from a 3D model. There are a number of Renderman compatible renderers available. The eye viewpoint is defined by your view position in the primary 3D window (approx). Note that lines will not be output. Any polygons that need triangulating (breaking up into triangles) will be triangulated. POVRAYPovray is a very popular raytracer see www.povray.org for more information. The eye viewpoint is defined by the view position in the 3D window. (In Spin mode the viewpoint will be approximate, for a more accurate viewpoint position, switch to walk-mode in the 3d window).
The color palette is output at the top of the file (each entry has the same number as the AC3D material). The properties can be altered easily to provide different surface types and textures (some #includes can be added at the top of the file to get external definitions). The light is output at the end of the file. The light’s position is the same as the viewers. The POV-Ray output is based on triangles, lines will be ignored and polygons with more than three vertices will be triangulated automatically.
The Object data string, which is specified in Tools->Object-Property-Editor, can be use to attach information to objects which is inserted into the povray file. ‘Use object data in POV files’ in the main AC3D File->Settings must be ticked so that this text is inserted into the file. A POVray include command in to the settings ‘POV header’ e.g. #include "glass.inc". can also be defined in the settings.
See the Rendering section for an example of using Povray. Triangle filessee loading triangle files for a description of this format. This format is very simple and is easy to parse. Object Library
RenderingThe "Render" tool in the tools menu can be configured to automatically launch an external renderer. This allows generation of high-resolution images with shadows, reflections, transparency and other effects.
The output file type is set from the ‘Output file type’ pulldown menu. The file types listed here are all of the file-types that AC3D can export (extra file-types may have been added using plugins).
The ‘Output filename’ specifies the name of a file that the model will be generated into.
The ‘Render program’ specifies the program that will start after the file is written.
The ‘Render Parameters’ are appended to the command line that it executed to start the render program. If a ‘%s’ is specified in the render command, it will be replaced by the render filename. A POVray examplePovray is a very popular ray-tracer - see www povray.org.
The sphere has had a pov texture specified using the Tools->edit object data (the appearance of the object in AC3D will be unaffected by this):
The settings in File->Settings were:
Pressing the Render button in the Render Tool gives:
The Povray exporter supports bitmap-textured objects. Ensure that the formats of the texture picture files used are compatible with POV-ray. AppendixPluginsPlugins add extra functionality and additional file format support to AC3D. Plugins files are usually name <something>.p and reside in the Plugins folder within the AC3D installation. Additional tcl files in the same folder may also provide user-interfaces and scripting for use with some plugins.
Plugins are automatically loaded when AC3D starts. The console displays the progress of loading plugins and will show any errors that occur. It is important that plugins are designed to run with the correct version of AC3D, otherwise the plugins may fail to load.
Performance tipsRendering more polygons takes more time. As a larger number and more detailed objects are edited, the rendering will take longer. Here are some tips to help edit larger models more effectively.
· Switch to wireframe viewing. This is faster to render than filled graphics. · Use object hiding and locking. This reduces the graphics load. · Edit in only one maximized view. This prevents all views from being updated every time a change is made. · If surfaces can only be viewed from one side (e.g. they are outer surfaces of a closed object such as a box), set them to single-sided. This is slightly faster to draw. · Switch on ‘interactive-wireframe’ in both the Orth and 3d menus. This temporarily sets the view to wireframe when being panned or zoomed using the mouse. Wireframe usually renders faster than filled polygons. · The ‘Interactive Wireframe’ switches on the main Orth and 3D menus the realtime-feedback when dragging the mouse to resize or move the selection. Switching this setting off causes an outline of the selection to be draw, rather than the full geometry every time the mouse if dragged. This is much faster. · When using surface-subdivision, for speed, keep the subdivision preview level set to 1 or 2 when working on the object. · Use Object->reduce to reduce the number of vertices/polygons in an object. Key pressesKey shortcuts for menu items are shown on the menus. Other keys can be used:
Some of the keys for the 3D window have equiv. menu item in the 3D menu.
In the 3D window, the cursor-keys spin the model in 'spin-mode'. In Walk mode, they control the viewpoint in a similar way to 'Quake' and other similar games. e.g. left, right, forward, back, alt-up/down move up/down, control-up/down tilt. Preferences/settingsThe settings in File->settings are saved automatically when you exit AC3D. This automatic saving can be switched off from the settings window. (Settings must be saved with this set to ‘off’ for the change to be remembered.)
Under Unix, the settings are saved to $HOME/.ac3dprefs. Under Windows, they are saved to the user’s home directory as ac3dprefs.txt.
© 2005 Inivis Ltd. All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or storing in a retrieval system, or translated into any language in any form without the prior written permission of Inivis Ltd.
The software described in this document is furnished under a Licence Agreement, which is included with the product. This agreement specifies the permitted and prohibited uses of the product.
Inivis ltd., the Inivis logo, AC3D and the AC3D logo are trademarks of Inivis ltd. All other product names and any registered and unregistered trademarks mentioned in this manual are used for identification purposes only and remain the exclusive property of their respective owners.
AC3D www.ac3d.org
Inivis www.inivis.com
|