I tried to make the user interface as intuitive as possible. Everything you need is either on the toolbar or in the context menus, so if you can't see it in the toolbar, a right-click should get you what you want.
There are several objects you can create and manipulate in the modeler:
Knobs and Parts | Knobs and parts are used to specify and control the posing of the objects in your model. They are created in the part adding mode. Each part is based on three knobs: The base, the end, and the riser. The base is the beginning of the part, the end is the end of the part, and the riser controls the twisting of the part. Parts can share knobs. Any knob (except for riser knobs) can be the base for one or more other parts. This allows you to have dependent parts, and make things like arms with hands and fingers, or tentacles. There are three kinds of parts. Uni joint parts rotate around the x and y axes of the end of their parent, or around the global x and y axes if the part is a root part. Hinge joint parts rotate around the x-axis at the end of their parent. Ball joint parts swivel around the end of their parent part. All three kinds of parts have a riser which can be used to rotate the end of the part (and all of that part's descendents). |
Vertices, Edges, and Faces |
Vertices, edges, and faces together form the geometry of the surface. At the present time only triangular faces and quadrilateral (4-sided) faces are supported. You can add vertices by the vertex adding mode, the add mesh mode, and the extrude operation. Vertices can be attached to parts, so that by moving the parts the vertices move, too. You can create edges and faces in the add mesh mode and by using the extrude operation. Edges are colored depending on their effect on the model. Gray edges are smooth edges, bordered by two faces. Orange edges are sharp edges, bordered by two faces. Pink edges are boundary edges, having only one face bordering on them. Brown edges have no faces bordering on them. LionSnake will not allow more than two faces to border on a given edge. Faces represent the surface of the model. You can create faces in the add mesh mode and by using the extrude operation. Although LionSnake is designed to use surface subdivision for final rendering, none of the modeling views show the subdivided surface (although that may be added in the future). |
Textures and UV points |
Textures and UV map points are used to texture the faces. You can texture a face by right-clicking on it and selecting the Define texture option from the context menu. The textures used in LionSnake are only place-holders for the textures that will be applied during rendering. This is because the textures have surface pigment color data only, and no transparency, highlighting, normal perturbation, or other texturing info. UV map points are used to specify the uv-mapping for a given face. You can define uvmap points for a face by right-clicking on it and selecting the Add uv-mapping option. A default set of uv-map points is assigned to that face. You can edit them in UV mapping mode. |
I hope that I put everything you need into the toolbar. Match the tooptip for the button with the list below to see what each button does:
There are two editing views: Mesh view and uv-mapping view.
Mesh view is where you can create vertices, edges, faces, parts, and textures, and where you do most of the editing for your project.
UV-mapping view is where you edit the uv-mapping data in your project.
At the present time there is only one view showing at any moment.
Click on the Pan view button on the toolbar. You can now drag the view around with the left mouse button. You can go back to selection mode by clicking with the right mouse button, or you can go to any of the other modes by clicking on that mode's button.
The scrollbar buttons will move the display around, but at the present time dragging the scroll bars doesn't do anything.
Click on the Zoom view button on the toolbar. You can zoom the view by clicking with the left mouse button. Right-clicking will take you to select mode. Clicking on any of the other mode buttons will take you to that mode.
Pressing Page Up will zoom in the view by 10%.
Pressing Page Down will zoom out the view by 10%.
Pressing Home will zoom the view to fit the currently loaded project.
Click on the Rotate view button on the toolbar to enter rotate mode. In rotate mode you can rotate the view by clicking with the left mouse button. Right-clicking will put you back into select mode. Clicking on any of the other mode buttons will take you to that mode.
The menu option View->X & Y axes will take you to X-Y viewing mode, as will the XY view button. X is right, Y is up, and Z is into the screen.
The menu option View->X & Z axes will take you to X-Z viewing mode, as will the XZ view button. X is right, Z is up, and Y is out of the screen.
The menu option View->Y & Z axes will take you to Y-Z viewing mode, as will the YZ view button. Y is up, Z is right, and X is out of the screen.
Pressing the letter O moves the viewpoint to the coordinates <0,0,0>.
The context menus control the actions you'll be using most of the time. There are eleven of them presently defined:
This context menu pops up when you press Ctrl + C or when you click the Copy button on the toolbar. Its function is to ask which of the five transform options to apply after copying the marked objects.
This context menu pops up when you hit the Delete key or click the Delete button. Its function is to ask which of the three delete options you want to apply to the marked objects.
This context menu pops up when you right-click on an edge while that edge is highlighted. It allows you to toggle the sharpness of the edge, or delete it.
This context menu pops up when you press Ctrl + E. Its function is to ask which of the five transform options to apply after extruding the marked objects.
This context menu pops up when you right-click on a face while that face is highlighted. It allows you to apply the default texture (if one is defined), edit the texturing of the face, and add, edit or remove uv-mapping data for the face.
This context menu pops up when you right-click on a knob while that knob is highlighted. It allows you to call up the properties dialog for the knob or to delete it.
This context menu pops up when you right-click on an empty place in the project in uv-mapping view. It allows you to return to mesh view.
This context menu pops up when you right-click on an empty place in the project in mesh view. It contains several of the options from the Edit menu.
This context menu pops up when you right-click on a part while that part is highlighted. It allows you to detach all of a part's attached vertices, delete the part, or call up the properties dialog.
This context menu pops up when you right-click on a uv-mapping point. It allows you to edit the point's coordinates.
This context menu pops up when you right-click on a vertex while that vertex is highlighted. It allows you to toggle the marking of the vertex, or attach it, detach it, delete it, or call up its properties dialog.
You can select this from the main window menu, from the context menu, or by clicking on the Add mesh button. In mesh add mode, left-clicking starts a circuit of edges. Everywhere you click, the current edge will be finished and a new one started. All of the vertices created will be placed in the plane that passes through the centerpoint of the view. If you click on an existing point, it will be added to the circuit without moving it. Points which can be added in this way are highlighted as the mouse cursor passes over them.
If you form a loop in the circuit, and the loop has three or four edges in it, a face will be built from those edges. The edges which will be affected by this are marked in purple. Upon completion of a face, a new circuit will be started at the last vertex clicked. If a circuit has more than four edges in it, the edges will be selected out of the circuit, but will remain in place, and no face will be created.
A right-click while a circuit is in progress will finish the current circuit of edges. The vertex being dragged and the edge that follows it will be destroyed.
A right-click while no circuit is in progress will take you back to select mode.
You can enter this mode from the main window menu, from the context menu, or by clicking on the Add part button. In this mode, left-clicking starts a circuit of parts. The base of the first part can be an existing base or end knob, or you can start a new one in an empty spot on the screen. Every time you left click, the current part is finished and a new one is started.
A right-click while a part is in progress will destroy that part and allow you to start another circuit of parts.
A right-click while no part is being made will take you back to select mode.
You can enter this mode from the main window menu, from the context menu, or by clicking on the Add vertices button. In this mode, left-clicking creates a vertex. All vertices will be placed in the plane that passes through the centerpoint of the view.
Right-clicking at any time will put you back into select mode.
You can select this operation from the main window menu or from the context menu. If any vertices are selected, a dialog box will pop up containing the value of the selected coordinate for one of the marked vertices. If you click OK, every marked vertex will receive the input value for the chosen coordinate.
If you select this command when one of the vertices is highlighted, the value in the dialog box will be taken from the highlighted vertex. Otherwise, the value is taken from the most recently-created of the marked vertices.
The attachment feature allows you to assign vertices to a part, so that when the part is moved, the vertices move with it. This is what makes models posable.
To attach vertices, mark them, and then select Edit->Attach from the window menu or Attach from the vertex context menu. This will place you into attachment mode. In attachment mode, move the cursor until the desired part is highlighted, and click. The vertices will be attached to that part.
Vertices are attached to either the base of the part or the end of the part. Base vertices will move when the base knob is moved or when the shaft of the part changes direction. End vertices will move when any of the knobs are moved. Each vertex in an attach operation is attached to the nearest knob, and this affinity is not changed by moving the vertex after it is attached; if you want to change the associated knob, you need to detach the vertex, move it closer to the desired knob, and reattach it.
Any former attachment for a vertex is forgotten when it is attached to a new part. You do not have to detach a vertex in order to attach it to a different part.
Note that the grid snapping for an attached vertex is relative to the part. Currently the properties dialog for a vertex shows its absolute location only.
You can copy the currently marked portion of the mesh.
You can either copy the marked portion of the mesh in place, or copy with one of the four transform types applied to the copy. The copied mesh objects are unmarked, and the copies are marked.
If you select one of the four transform options as part of the copy, a dialog box will pop up, asking for the transform to apply. If you select Cancel from any of these dialog boxes, the copy does not happen.
Copying affects all marked vertices, all edges with both ends marked, and all faces whose corners are all marked. When a face is copied its texturing and uv-mapping are copied with it. The uv-mapping is a copy, and not a mirroring of the same uv-map points; if you edit the uv-mapping of a copied face, the other copy's uv-mapping is not affected.
This operation detaches a part from is parent.
To detach a part, select Detach from its context menu. It will be split from its parent
Note that only uni-jointed parts can be detached.
This operation frees the marked vertices from whatever attachments are currently applied to them.
To detach vertices, mark them, and then select Edit->Detach from the window menu or Detach from the vertex context menu. The marked vertices will be detached.
There are several ways to change a part:
Note that knob dragging will be constrained by whatever locking you've applied to the part parameters. Also, if the part is parallel to the viewing plane, riser dragging will be erratic (the riser will flip between two values).
If you delete any knob belonging to a part, the part is deleted as well.
If you delete a part, the riser knob is deleted, but the base and end knobs are not necessarily deleted.
If you drop a root knob (one that is the base of a part, but not the end of any part) onto a non-riser knob, you will have the opportunity to graft the dragged knob into the new structure.
In select mode, there are several ways to move a vertex:
Right now the LionSnake modeler only exports script files that are usable by the Peristence of Vision Ray Tracer. The export files are designed to work in conjuction with the New Subdivision Surface Suite macros. To use exported files:
You can extrude the currently marked set of edges.
Extrusion works by copying each marked edge and creating a quadrilateral between each marked edge and its copy. The vertex and edge markings are transferred to the copies. If you have selected one of the extrude and transform options, the transform will be applied to the new vertices; if you select the extrude in place operation, the edges are extruded, but the copies are left in place.
You cannot extrude an edge if it already has two faces bordering on it.
If you select one of the four transform options as part of the extrusion, a dialog box will pop up, asking for the transform to apply. If you select Cancel from any of these dialog boxes, the extrusion does not happen.
You can force vertices and uv-mapping points to discrete points in space with grid snapping. Grid snapping forces the affected points to a multiple of the specified precision level.
You can turn off grid snapping by setting the precision level to zero.
You can assign different values to the precision settings for uv-mapping points and mesh vertices. The default precision level for boh is .001 (1/1000).
You can lock vertices in place so that you can't drag them by accident. Select Toggle lock from one of the menus that has that option, and the vertices will be flagged as locked. If you roll the mouse over a locked vertex, the status bar will tell you that the vertex is locked.
Locking keeps the vertex from being moved by a drag operation, whether by directly clicking and dragging, or by using the Ctrl+left click option to move several marked vertices. The vertex properties box will still affect the location of tis vertex, and moving a part will still move vertices attached to that part.
Many of the editing functions operate on the marked objects only.
In select mode, you can directly mark and unmark vertices by right-clicking on a vertex and choosing Toggle selection from the context menu, or by left-clicking on the vertex. You can toggle the selection of multiple vertices by clicking and dragging with the left mouse button; a selection rectangle will appear, showing the area to be affected.
If you click anywhere in the project space with the left mouse, all vertex marking will be cleared. Holding down the Shift key when you click will inhibit this. Don't press the Ctrl; this cause the marked vertices to be dragged around.
An edge is considered marked if and only if both its start and end vertices are marked.
A face is considered marked if and only if all of its vertices are marked.
Marked vertices and edges have extra highlighting added to them (a forest green tinting around them).
You can apply a transformation matrix of your own devising to the marked vertices by selecting this operation from the window menu, selecting Transform->Matrix from the context menu, or by pressing the M key.
A dialog box will appear, asking you for the matrix to apply.
You can rotate the marked vertices by selecting this operation from the window menu, selecting Transform->Rotate from the context menu, or by pressing the R key.
A dialog box will appear, asking you for the rotation angle around each coordinate axis. A value of zero specifies no rotation for that axis.
All rotation is done relative to the origin, which is at <0,0,0>.
You can scale the marked vertices by selecting this operation from the window menu, selecting Transform->Scale from the context menu, or by pressing the S key.
A dialog box will appear, asking you for the amount to scale all of the vertices. A value of one specifies no scaling for that coordinate.
All scaling is done relative to the origin, which is at <0,0,0>.
You can sharpen a group of edges edge by marking them and selecting Edit->Sharpen or Edit->Smooth, or you can right-click on a single edge and choose Toggle sharpness from the context menu.
The sharpening feature affects behavior for surface subdivision, and also affects the default uv-mapping if you choose to apply it.
You can texture a face at any time by right-clicking on it. If you have done any texturing, the most recently-applied texture will appear in the context menu. You can also select another texture.
The texture select dialog box allows you to add, modify, or delete textures. Textures can be either solid or based on a Windows Bitmap (.BMP) file (other file formts may be added in the future). If either dimension of the supplied picture is not a power of two, it will be stretched along that dimension to the nearest power of two. The results may not be applealing, so for best results use files that whose dimensions are already a power of two. Note that the dimensions do not need to be the same power of two; a 128x8 image is perfectly acceptable.
Note that solid textures will have a default pattern applied to them, in case you want to add uv-mapping without the benefit of a bitmap for guiding your efforts.
The aspect ratio of bitmaps will be scaled to 1:1.
You can translate the marked vertices by selecting this operation from the window menu, selecting Transform->Translate from the context menu, or by pressing the T key.
A dialog box will appear, asking you for the amount to translate all of the vertices. The value you specify will be added to the position of each marked vertex.
You can apply uv-mapping to any face by right-clicking on it and selecting Add uv-mapping from the context menu. A default set of UV-mapping points will be added to the face.
Default uv-mapping is derived from the neighboring uv-mapped faces using the same texture, when the edges between are not sharp. If no neighboring face can be used this way, then the face's uv-maps will be set to default values based on the orientation of the face in the editing screen.
If uv-mapping is derived from a neighboring face, the two faces will share their uv-mapping points.
You can edit uv-mapping for a face by right-clicking the face and selecting Edit uv-mapping from the context menu. You will then be taken to uv-mapping view.
When you are in uv-mapping view, you can edit the uv-mapping for all of the faces that use the same texture as the face you clicked on to enter uv-mapping view.
You can leave uv-mapping mode by selecting the menu option from the windows menu, or by selecting Mesh mode from the context menu.