ObjEdit
Introduction
ObjEdit is an X-Plane object "finishing" editor. The goal of ObjEdit
is to allow you to edit already made objects, adjusting the properties
of those objects that are unique to X-Plane. There are many
existing 3-d editing programs, some commercial, some free, ranging from very
simply to very complex. Rather than invent a new 3-d editing program specific
to X-Plane, ObjEdit lets you take existing 3-d files and edit just the properties
of those objects that you cannot edit in other programs (either because
those programs don't have those properties, or because those properties
cannot be exported). While texturing is the main use for ObjEdit, this
includes:
- Controlling whether a polygon is "on the ground", "hard" or other
X-Plane properties.
- Editing textures, colors and materials.
- Editing level of detail control.
- Optimizing Framerate.
ObjEdit is a work in progress; right now it primarily edits textures. Other
features are still in the works.
Fundamental Object File and Texturing Concepts
(You may want to skip this section if you are an experienced X-Plane scenery
creator.)
An X-Plane object file is a text file that describes a 3-d model with texturing
and other properties. The X-Plane object format has undergone three
versions:
- The original X-Plane object format used one bitmap per polygon and
supported only triangles, quadrangles. It was supported through the
early versions of X-Plane 6. It is not supported by ObjEdit at all.
- X-Plane type 2 objects were introduced in X-Plane 6 and feature one
texture per object. Besides triangles and quadranges, quad strips
are also supported. Sections from the one master texture are applied
to each polygon. ObjEdit can read X-Plane type 2 objects but saves
them as X-Plane 7 objects.
- X-Plane 7 objects were introduced in X-Plane 7. They also feature
one texture per object, but also feature a wide variety of polygons and
other primitives, level of detail control, and other new features. ObjEdit
reads and saves X-Plane 7 objects.
An X-Plane 7 object file is made up of commands. A command
either tells X-Plane to draw one primitive (a visible thing like a
quad, triangle, line, light, line, etc.) or changes the way X-Plane will draw
future commands. Right now you edit only primitives in ObjEdit.
X-Plane objects can have multiple levels of detail. Each level
of detail is like its own object. As your object is seen from close
and far away, X-Plane will pick the right version of your object. You
must specify the range of distances (in meters) that each version of the
object is to be drawn at. If the pilot is farther away from your object
than any level of detail specifies, your object will not be drawn at all.
Your object uses one bitmap or png file for its texture (all levels of
detail use the same texture).
X-Plane supports the following primitives:
- Triangles.
- Quads (quadrilaterals). Quads do not have to have right angles,
but should be planar.
- Polygons. Polygons must be planar and must be convex.
- Quad strips - a series of quads joined at the edges. Quad strips
cannot make L-bends; each vertex that is not on the end of the strip must
be part of exactly two quads.
- Triangle strips - a series of triangles joined at the edges. Triangle
strips also cannot make L-bends; each vertex that is not on the end of the
strip must be part of exactly three triangles.
- Triangle fans - a series of triangles that all share a single vertex,
forming a fan-like structure.
- Points. Points are drawn as lights in X-Plane and have an RGB
color. They may blink.
- Lines. Lines also have a color.
All of the polygon-based primitives are textured. Texturing is done
by wrapping the bitmap around the polygons. Think of your texture
as being printed on a piece of rubber. The rubber can be stretched over
the polygons in any way. You specify this stretching and wrapping by
associating points on the texture with vertices in your 3-d model. The
points on your texture are called texture coordinates (also sometimes
called "S and T" coordinates).
Installing ObjEdit
ObjEdit comes as a single application or .exe file. Simply Unstuff/Unzip
the right version for your operating system and put anywhere you want. It
can operate from any directory and has no support files.
Using ObjEdit
ObjEdit divides the screen into four panes. ObjEdit has three viewing
modes, and the contents of the four panes depend on what mode you are in.
Here's an overview:
Hidden Surfaces Mode
|
|
Patch Mode
|
|
Projection Mode
|
Select
|
Preview
|
|
Select
|
Preview
|
|
Select
|
Projection Preview
|
Texture
|
Hidden Surfaces
|
|
Texture
|
Patch List
|
|
Texture
|
Projection Setup
|
The three viewing modes are oriented around three different ways of working
with your object. Use the view menu to change view modes. Here
are the details on the panes:
The Modeling Panes
Any pane showing your model in 3-d is a "modeling pane". The model
is always in the same position in each pane; rotating or moving the model
in one moves the model in all three.
The modeling panes have three popups controlling how you view the model.
They start out set for convenience using the panes, but may be customied
by you:
- Texturing - you may choose to show day textures, night textures, or
no textures. By default, the day textures are shown in the preview pane
and no textures are shown in the selection and hidden surfaces pane.
- Style - you can show a model as solid, wire frame or both. By
default the hidden surfaces and selection panes are both, while the preview
pane is just solid.
- Culled surface removal - X-Plane will not show the backs of polygons
- each primitive is one-sided. You can either hide these primitives
(to show what x-plane shows), show all primitives, or show all primitives
but mark primitives that x-plane will not draw in red. By default the
hidden surfaces view shows hidden surfaces in red as a warning; the other
panes do not show hidden surfaces.
Right-button dragging (or control-dragging for one-button mouse Mac users)
rotates the model. Left-button dragging moves the model if the left
butto nis not used for some other function.
Use the mouse wheel to zoom in and out of the modeling views. Note
that the view zooms in and out around the mouse position, not the center of
the view. This takes some getting used to, but lets you quickly zoom
in on a specific part of your model. (Mac users without a mouse wheel,
you can use the + and - keys.)
The Selection Pane
The upper left quadrant of the screen is the selection screen. You
use this pane to select parts of your model to texture. The selection
pane shows your model without textures and with selected quads in red. A
caption shows the item or items that are selected.
You can select a polygon by clicking in it or by dragging to lasso an area.
Hold the shift-key down to add or remove polygons from an existing selection.
The Preview Pane
The preview pane shows you what your model will look like in X-Plane. Captions
indicate which level of detail you are looking at and what range it would
be used for in X-Plane.
The Texture Pane
The lower left corner contains the texture pane. This pane shows your
object's texture. Right-drag to scroll this texture; use the mouse wheel
to zoom in and out around the pointer.
The texturing pane works differently in different modes, but generally you
edit by left-dragging on the control handlese to reshape the texture of the
selected entity, or drag anywhere else to move the whole set of texture coordinates.
In hidden surfaces mode, the texture pane edits the selection. In patch
mode, the texture pane edits the current patch. In projection mode,
the texture pane controls what part of the texture is being projected.
The Hidden Surfaces Pane (Hidden Suraces Mode)
Use this pane to see if any polygons are not going to be visible in the
final x-plane rendering. Polygons that will not be visible from the
current viewing angle appear in red.
The Patches Pane (Patch Editing Mode)
In patch editing mode, the lower right corner of the screen contains a list
of patches. You can click on this list to select a patch and then use
the texturing pane to edit its contents.
The Projection Setup Pane (Projection Mode)
In projection mode, you project the texture over many polygons in your model.
The projection setup pane shows a 3-d cube (or other shape) that the
texture is projected from. You can drag control handles to manipulate
this solid. In projection mode, the texturing pane shows what part
of the texture will be projected, and the preview pane shows what the projection
will look like if it is commited.
WARNING: if you save your model while in projection mode with a selection
but without committing the projetion, the current projection will not
be saved!
Working with Files
ObjEdit edits one Object file at a time; simply drag the .obj file into
the ObjEdit window from the Finder/Explorer. You may edit type 2 or
v7 objects, but objects are always saved as Obj7. If you drag a new
object into the window your old changes are not saved! Also, if you
drag the same object into the window again it is reverted to the old version.
Use the Save command to save your changes.
To load the texture for an object, drag the .bmp file for that object into
the ObjEdit window. ObjEdit can remember multiple textures, so if you
are working with several objects you can simply drag all of the bitmaps into
ObjEdit and then switch between objects. ObjEdit does not use paths
to find bitmaps, so if you have several objects with bitmaps of the same file
name in different directories, you'll need to drag the bitmap you want into
ObjEdit if an old one from a different directory is loaded.
Working with Textures
The main way to edit an object is to drag the control points for a selection's
textures around in the texture pane. There are also some commands you
can use:
- Reset Texture. This changes the texture of the selected polygons
to your entire bitmap.
- Clear Texture. This removes the texture from a polygon.
- Specify Texture. This puts you into specify texture mode. In
this mode, each mouse click in the texture pane edits the next vertex of the
selection. For example, if you have a quad selected, you can pick this
item and then click/drag four times to define the texture. When texturing
an object for the first time, this can be faster than dragging control points.
- Rotate CW/CCW. This rotates the selected polygon's textures
clockwise or counterclockwise.
- Flip. This flips the selected polygon's textures. The
axis that they flip around is based on the vertex order of the polygon; if
the flip does not go in the direction you want, try rotating first, then
flipping, then unrotating.
Working with Patches
A texture patch is a section of a texture that you remember and use repeatedly.
Patches must be defined as rectangular subsections of your bitmap.
To make a new patch, select a polygon and choose "New Texture". A
new patch will appear in the patches pane if it is visible. If no polygon
is selected, the patch will be your whole texture.
You can apply the selected patch to all selected polygons using the "Apply
Texture" command.
Additional Selection Commands
You can also use some commands to select polygons:
- The First, Prev, Next and Last commands select one polygon moving
through the object.
- The previous and Next Untextured commands select one polygon but only
among polygons where the texture has been cleared. You can clear a number
of polygons and then move through them in turn this way.
Working with Level Of Detail (LOD)
The First LOD, Prev LOD, Next LOD, and Last LOD commands let you move through
all of the level-of-detail representations for your model quickly. Each LOD
model is essentially an independent model that uses the same texture.
Working with the Projection System
The projection system lets you rapidly apply parts of your texture to many
polygons. When in projection mode, the texture is projected as if from
a slide proejctor onto parts of your model. The texutre is only projected
onto the polygons of your model that are selected. All projections
are temporary until you "commit" your projection with the "Apply Projection"
command. This allows you to change how the texture is projected and
which solids it is projected onto and then apply the results.
The projection "solid" appears in the Projection Setup screen with 26 control
handles. These control handles let you manipulate the shape and position
of the solid. These handles can be thought of as "face" handles (6),
"edge" handles (12), or "corner" handles (8). Here's what they do:
Face Handles:
- Drag on a face handle to stretch the solid along one axis.
- Shift-drag on a face handle to stretch the solid symmetrically around
its center along one axis.
- Shfit-alt-drag on a face handle to stretch the solid constrained symetrically
around its center along all axes.
- Control-drag on a face handle to move the solid along one axis.
Edge Handles:
- Left button drag to stretch the solid along two axes.
- Left button shift-drag to stretch the solid symmetrically around its
center along two axes.
- Left button shift-alt-drag to stretch the solid symmetrically constrained
around its center along two axes.
- Left button control-drag to move the solid along two axes.
- Right button drag to rotate the object around one axis.
Corner Handles:
- Drag a corner handle to freely rotate the cube.
For Mac users: substitute command key for control key, and option key for
alt key. If you do not have a right mouse button, use the control key
with the left mouse button.