CV Curve

CV curves are NURBS curves controlled by control vertices (CVs). The CVs don't lie on the curve. They define a control lattice that encloses the curve. Each CV has a weight that you can adjust to change the curve.

While you're creating a CV curve you can click to create more than one CV at the same location (or close to it), increasing the influence of the CVs in that region of the curve. Creating two coincident CVs sharpens the curvature. Creating three coincident CVs creates an angular corner in the curve. This technique can help you shape the curve; however, if you later move the CVs individually, you lose this effect. (You can also obtain the influence of multiple CVs by fusing CVs.)

A CV curve can be the basis of a full NURBS model.

CVs shape the control lattice that defines the curve.

Drawing Three-Dimensional Curves

When you create a CV curve, you can draw it in three dimensions. There are two ways to do this:

With the -key method, further mouse movement lifts the latest CV off the construction plane. There are two ways to use this:

While you are offsetting the CV, a red dotted line is drawn between the original CV on the construction plane and the actual CV offset from the plane. You can move the mouse into an inactive viewport, in which case 3ds Max sets the height of the CV using the CV's Z axis in the inactive viewport. This lets you set the height of the CV with accuracy.

Snaps also work when you change the height of a CV. For example, if you turn on CV snapping, you can set a CV to have the same height as another CV by snapping to that other CV in an inactive viewport.

Procedures

To create a NURBS CV curve:

  1. Go to the Create panel.
  2. Activate (Shapes), and choose NURBS Curves from the drop-down list.
  3. Turn on CV Curve.
  4. In a viewport, click and drag to create the first CV, as well as the first curve segment. Release the mouse to add the second CV. Each subsequent location you click adds a new CV to the curve. Right-click to end curve creation.
    Note: If you begin the curve by clicking without dragging, this also creates the curve's first CV. However, if you release the mouse more than five pixels away from where you initially pressed it, this creates an additional CV.

    While you are creating a CV curve, you can press to remove the last CV you created, and then previous CVs in reverse order.

    If Draw In All Viewports is on, you can draw in any viewport, creating a 3D curve.

    To lift a CV off the construction plane, use the key as described earlier in this topic under "Drawing Three-Dimensional Curves."

    As with splines, if you click over the curve's initial CV, a Close Curve dialog is displayed. This dialog asks whether you want the curve to be closed. Click No to keep the curve open or Yes to close the curve. (You can also close a curve when you edit it at the Curve sub-object level.) When a closed curve is displayed at the Curve sub-object level, the initial CV is displayed as a green circle, and a green tick mark indicates the curve's direction.

  5. Adjust the curve's creation parameters.
  6. (Optional) To add a new NURBS curve sub-object, you can turn off the Start New Shape checkbox, and then repeat the preceding steps.

Interface

The creation parameters are the same for both point curves and CV curves.

Rendering rollout

Enable In Renderer
When on, the shape is rendered as a 3D mesh using the Radial or Rectangular parameters set for Renderer.
Enable In Viewport
When on, the shape is displayed in the viewport as a 3D mesh using the Radial or Rectangular parameters set for Renderer.
Use Viewport settings
Lets you set different rendering parameters, and displays the mesh generated by the Viewport settings. Available only when Enable in Viewport is turned on.
Generate Mapping Coords
Turn this on to apply mapping coordinates. Default=off.

The U coordinate wraps once around the thickness of the spline; the V coordinate is mapped once along the length of the spline. Tiling is achieved using the Tiling parameters in the material itself.

Real-World Map Size
Controls the scaling method used for texture mapped materials that are applied to the object. The scaling values are controlled by the Use Real-World Scale settings found in the applied material's Coordinates rollout. Default=on.
Viewport
Turn this on to specify Radial or Rectangular parameters for the shape as it will display in the viewport when Enable in Viewport is turned on.
Renderer
Turn this on to specify Radial or Rectangular parameters for the shape as it will display when rendered or viewed in the viewport when Enable in Viewport is turned on.
Radial
Displays the 3D mesh as a cylindrical object.
Thickness
Specifies the diameter of the viewport or rendered spline mesh. Default=1.0. Range=0.0 to 100,000,000.0.

Splines rendered at thickness of 1.0 and 5.0, respectively

Sides
Sets the number of sides (or facets) for the spline mesh n the viewport or renderer. For example, a value of 4 results in a square cross section.
Angle
Adjusts the rotational position of the cross-section in the viewport or renderer. For example, if the spline mesh has a square cross section you can use Angle to position a "flat" side down.
Rectangular
Displays the spline's mesh shape as rectangular.
Aspect
Sets the aspect ratio for rectangular cross-sections. The Lock checkbox lets you lock the aspect ratio. When Lock is turned on, Width is locked to Depth that results in a constant ratio of Width to Depth.
Length
Specifies the size of the cross–section along the local Y axis.
Width
Specifies the size of the cross–section along the local X axis.
Angle
Adjusts the rotational position of the cross-section in the viewport or renderer. For example, if you have a square cross-section you can use Angle to position a "flat" side down.
Auto Smooth
If Auto Smooth is turned on, the spline is auto-smoothed using the threshold specified by the Threshold setting below it. Auto Smooth sets the smoothing based on the angle between spline segments. Any two adjacent segments are put in the same smoothing group if the angle between them is less than the threshold angle.
Threshold
Specifies the threshold angle in degrees. Any two adjacent spline segments are put in the same smoothing group if the angle between them is less than the threshold angle.

A curve and the same curve rendered with thickness

Keyboard Entry rollout

The Keyboard Entry rollout lets you create a NURBS curve by typing. Use the key to move between the controls in this rollout. To click a button from the keyboard, press while the button is active.

X, Y, and Z
Let you enter the coordinates of the next CV to add.
Add Point
Adds the CV to the curve.
Weight
Enter a weight for the CV.
Close
Ends creation of the curve and creates a segment between the last CV and the initial CV, to make the curve a closed curve.
Finish
Ends creation of the curve, leaving it open ended.

Create CV Curve rollout

This rollout contains the controls for curve approximation.

Interpolation group

The controls in this group box change the accuracy and kind of curve approximation used to generate and display the curve.

Draw In All Viewports
Lets you use any viewport while you are drawing the curve. This is one way to create a 3D curve. When off, you must finish drawing the curve in the viewport where you began it. Default=On.

While Draw In All Viewports is on, you can also use snaps in any viewport.

Automatic Reparameterization group

The controls in this group box let you specify automatic reparameterization. They are similar to the controls in the Reparameterize dialog, with one addition: all choices except for None tell 3ds Max to reparameterize the curve automatically; that is, whenever you edit it by moving CVs, refining, and so on.

  • None Do not reparameterize automatically.
  • Chord Length Chooses the chord-length algorithm for reparameterization.

    Chord-length reparameterization spaces knots (in parameter space) based on the square root of the length of each curve segment.

    Chord-length reparameterization is usually the best choice.

  • Uniform Spaces the knots uniformly.

    A uniform knot vector has the advantage that the curve or surface changes only locally when you edit it. With the other two forms of parameterization, moving any CV can change the entire sub-object.