The Edit Surface Properties tool gives you control over the surfaces of Bezier patches and brush faces. You can use it to apply and change materials and modify their scale, shift and rotation on the surface. Sophisticated controls are available to determine these and other attributes of a surface.
The Edit Surface Properties tool can be activated by clicking on the related icon in the Tools toolbar or by pressing the
SHIFT+A shortcut key.
A normal click with the left mouse button on a surface (Bezier patch or brush face) in the 3D view accomplishes two tasks:
As usual, you can hold the
CTRL key to select more than one surface at a time.
Please note that
CTRL-clicked surfaces are selected, but not picked.
That is, only the first selected surface (left mouse button click without
CTRL) implies the pick operation.
In fact, selection and picking are actions that are independent of each other:
CTRLkey while clicking toggles the selection, but doesn't pick.
ALTkey during the mouse click, which activates the eyedropper mode. The properties of such clicked surfaces will appear in the dialog, but their selection status won't change.
Finally, you can also hold the
SHIFT key during a left mouse button click.
SHIFT key does not add anything special when the click is on a Bezier patch,
but for brush faces, it causes all faces of the affected brush to become selected.
CTRL is not held at the same time, the clicked brush face will also be picked for updating the dialog values.)
You can combine the
SHIFT with the
CTRL key in order to toggle the selection
status of all faces of the brush.
Brushes that were selected when the Edit Surfaces Tool was activated are automatically changed into face selections.
You can hide the reddish overlay of selected surfaces by checking the Hide Selection Overlay checkbox in the Tool Mode section of the dialog. This improves the visual perceptibility of the surfaces in some cases, which in turn can be helpful when using this tool.
Once you have selected one or more surfaces, you can modify their orientation and material attributes.
If you have multiple surfaces selected at the same time, the new value of the changed attribute is applied to all of them, while all other attributes are left alone. This allows you for example to replace the material or to set a common scale on a number of surfaces all at the same time, while the individual shift, rotation and other surface aspects are left alone.
The orientation and material attributes in the dialog can also be applied to surfaces by right-clicking on them. The right-clicked surface needs not be selected for this to work, and all attributes (orientation and material) are applied at the same time. This feature makes the application of the attributes in the dialog to a number of surfaces quick and convenient.
With right-click application, the way in which the attributes are applied to the surfaces can be modified at the Right MB mode choice in the Tool Mode section of the dialog. The following options are available:
ALT), the material is seamlessly aligned across the common edge. This is a worthwhile feature especially when the two surfaces are not coplanar. (It even works when the clicked surface is not immediately adjacent to the other.)
SHIFT is held during a right-click on a brush surface, the application is performed on all surfaces of the brush.
The button to all Sel. is equivalent to (but more convenient than) right-clicking on all currently selected surfaces with the current Right MB mode setting.
The materials of selected brush faces (not Bezier patches) can be automatically aligned at the top, bottom, left or right edge of the face by the related button in the Alignment section of the dialog. The material can also be centered or made fit on the brush face. In all cases, the effect is achieved by auto-adjusting the Shift and/or Scale attributes of the selected brush faces appropriately.
( Re-pick the first selected surface in order to update the dialog attributes! )
The Treat multiple as one checkbox determines whether multiple selected surfaces are treated, with regards to their spatial extends, as multiple individuals or as a single merged one when one of the Alignment buttons is pressed.
For Bezier patches, the (highly useful!) Fit button works slightly differently than for brush faces: Although in both cases the material will be made “fit” to the underlying surface, Bezier patches are then in a different mode regarding texture-coordinate generation than brush faces.
This is because for brush faces, you could have achieved the same result by manipulating the Scale and Shift manually. With Bezier patches, which can be curved to any shape (e.g. cylindrical or spherical), the same mathematics cannot achieve the same effect, and thus using the Fit button on Bezier patches puts them into Fit mode that yields the desired result.
The essence of Fit mode is that the Scale attributes now indicate the number of repetitions of the material along the surface, rather than the number of texels per world unit as usual.
Because of this difference, while applying the surface properties of such Bezier patches to other Bezier patches is straightforward and intuitive, applying the same attributes to brush faces is sometimes not possible without distortion. Such cases are easily fixed though by clicking and editing the affected brush surface.
The line “Mode: Fit” near the Orientation controls indicates that the current surface values were taken from a Bezier patch that was in Fit mode.
You can “revert” the mode of such a Bezier patch surface back to normal by picking the surface attributes of a brush face and applying them to the Bezier patch in Apply Projective mouse-button mode.
The wrt. World axes checkbox indicates whether the texture plane of the surface happens to be parallel to one of the three major planes through the world axes.
The wrt. Face plane checkbox indicates whether the texture plane of the surface is parallel to the spatial plane of the surface. This is never true for Bezier patches (they in general have no inherent spatial plane), and normally always true for brush faces; however you can use the Apply Projective right-click apply mode in order to force any texture plane onto any surface.
Individual brush faces are easily textured by left-clicking them to pick their attributes into the dialog. Then you use the controls in the dialog to directly modify the orientation, alignment, etc. The changes become immediately visible on the selected face in the 3D view. You may check the Hide Selection Overlay checkbox in order to hide the selection mask.
For texturing a larger area of your map where many brush faces are to be textured in a similar style, you should first texture one of the surfaces as described above, then use the Right-Click Application feature to apply the texture to all desired surfaces in the 3D view quickly. Make sure that you understand the apply modes of the right mouse button in order to get the best out of them.
Repeat this with other textures of your choice, and fine-tune them individually in the end.
This is as easy as texturing brush faces, but sometimes Bezier patches are textured for a specific purpose:
Bezier patches that are a part of a floor or ceiling plane are often to be textured so that the transition to the adjacent brush is seamless. This is easily achieved by picking the texture from the nearby brush, select Apply Projective as the Right MB mode, then right-click apply the material to the Bezier patch.
Bezier patches that represent bulges, dents or small terrains that are expected to blend seamlessly into neighboring brushes are also well approach by the projective or view aligned apply modes.
Pipes, pillars, wall arches and similar objects are best textures by using the Fit alignment button. The material then covers them naturally, and you can conveniently set the number of texture repetitions by the Scale values in the dialog.
This message can occur when picking (left-clicking) Bezier patches that were created with previous versions of CaWE, or Bezier patches that were imported from other games and file formats. Such Bezier patches got custom texture-coordinates assigned and are in “Custom” tex-coord generation mode; you may refer to section Advanced Considerations below for more details.
Nothing is inherently wrong with Bezier patches in Custom mode, you just cannot pick their surface properties and apply them to anything else. As soon as you assign surface properties from another brush face or Bezier patch (that is not in Custom mode) though, the Custom mode is overwritten with the newly applied properties, and the Bezier patch acts normally then.
Bezier patches that are newly created or whose material has been applied using the Fit button are in the “Fit” texture-coordinate generation mode, whose essence is that the Scale attributes now indicate the number of repetitions of the material along the surface, rather than the number of texels per world unit as usual.
Refer to section Fit on Bezier patches above and Advanced Considerations below for more details.
The Edit Surface Properties tool has been written in order to make the texturing of brush faces and Bezier patches simple and consistent. However, brushes and patches are inherently different, and therefore you can do things with the one that you cannot do with the other, and vice versa. This is true for geometric modelling but also has consequences for texturing them with this tool. Moreover, the tool offers several advanced ways to apply textures to the different kinds of surfaces, and you might be interested to learn more on how they work.
This section first describes the texture-coodinate generation modes that the tool internally uses, then explains the details of the plane projection mode.
Each surface (brush face or Bezier patch) is internally assigned a texture-coordinate generation mode that determines how the texture-coordinates at the vertices of the surface are computed:
When you pick the attributes of a surface into the dialog, it also remembers the tex-coord generation mode of that surface. Picking is only possible when the surface is in Plane Projective or Fit mode, never in Custom mode. Applying previously picked attributes to another surface (either a brush face or Bezier patch) is always possible, although applying “Fit” mode attributes to brush faces (which can only be in Plane Projective mode) can yield unexpected results.
Picking and therefore applying attributes that are associated with Custom mode to any surface is not possible at all.
In Plane Projection mode, the texture-coordinates at the vertices of the desired surface are determined by an orthogonal projection of a texture plane P onto the vertices. The parameters of the plane are determined by the Orientation controls in the dialog.
The following figure presents the setup in a top-down view:
The texture plane P is indicated by the dark blue color, its normal vector in dark green. The x-axis span vector is indicated in red, as well as integral multiples of its length in both directions. The y-axis span vector is not included in the image, as it points up or down, into or out of the figure.
A texture plane is obtained by picking a surface in Plane Projective mode. For example, texture plane P in the image was obtained by left-clicking on the highlighted face of brush A.
Note that the x-axis represents one width of the material that is to be applied to the surfaces: If you change the Scale values in the dialog, the length of the x-axis (and y-axis) changes, too, implying that more or fewer repetitions of the material span a given distance in the world. Changing the Shift values in the dialog moves the x-axis arrow and its multiples along the plane. If rotation was applied, the x-axis would rotate “into” our “out of” the image, while the y-axis became visible.
In the dialog, the wrt. World axes and wrt. Face plane checkboxes indicate whether the dialogs last picked plane happens to be parallel to the major world axes and/or parallel to the physical surface of the picked-from face.
The dotted lines indicate how the material would be applied from the texture-plane to the objects surfaces. At object A there is a natural fit, because integral multiples of the material match the extends of the object. Object D is also natural case, but the material would appear shifted on it's surface. You would have to modify the Shift attributes in order to align it with the extends of the surface.
Note that objects B and C are special cases: When you normally apply the attributes of plane P to their surfaces, P is moved and rotated first so that it gets parallel to the desired surface. This is what the Apply Normal mode of the right mouse button does.
The Apply Projective mode however does not include the additional move and rotate step, and applies texture-coordinates directly as indicated in the figure. This is sometimes a very useful feature in order to achieve certain effects, for example with texturing Bezier patches in some cases.
The Apply View Aligned mode works similarly, except for the fact that plane P is always forced to be parallel to the base of the view pyramid of the currently active 3D camera.