Chad Vernon
  • Home
  • Reel/Resume
  • Work
  • Resources
  • About
  • Contact
sideBar

Search

Categories

  • CG
  • cvxporter
  • Maya
    • API
    • Plug-ins
  • Personal

Archives

  • May 2012
  • March 2012
  • September 2011
  • June 2011
  • March 2011
  • December 2010
  • November 2010
  • September 2010
  • August 2010
  • July 2010
  • May 2010
  • April 2010
  • March 2010
  • December 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • November 2007
  • October 2007
  • September 2007
  • August 2007

Rss

  • Main Entries RSS
  • Comments RSS
Home » Resources » cvUVMeshSlide

cvUVMeshSlide

Description

A UV-based skin sliding deformer. The deformer requires a single UV shell covering the area you wish to slide. This is currently not available for public download.

Node Reference

Long Name Type Default
handle
Locator matrix that drives the sliding.
matrix identity
uvSet
UV set from which to base the sliding deformation.
string 0
magnitude
Sliding sensitivity.
float 0.0
uvPivotU
U coordinate of transformation pivot in UV space.
float 0.0
uvPivotV
V coordinate of transformation pivot in UV space.
float 0.0
rigMode
Boolean value that can be used to speed up the deformer.  When painting weights or adjusting membership, turn this on.  When delivering to animation, turn this off.
boolean true
initialized
Internal initialization flag.  Should not be set.
boolean false
numTasks
Number of thread tasks.
int 16

Usage Notes

Opening the UI

Command-line:

import cvUVMeshSlide
cvUVMeshSlide.ui()

Create the Deformer

First, create a UV set and create a single shell covering the area that you want to slide.  Below, I will be sliding the scapula region of the character.

Type in the name of the UV Set that your shell is on.  If it is the default UV Set, you can leave the field empty.

Select the mesh and hit the Create button or in the command-line:

import cvUVMeshSlide
deformer, handle = cvUVMeshSlide.create(mesh=None, uvSet="", name='cvUVMeshSlide#')
    """
    Creates an imdMeshSnap deformer.

    Parameters:
        mesh          - Mesh to apply the deformer to.  Defaults to selection.
        uvSet         - UV Set to base the deformation on.  Leave blank to use the default UV Set.
        name          - Name of the deformer to create.

    Returns:
        The name of the created cvUVMeshSlide node and the name of the created slide handle.
    """

The node will then initialize its internal data structures. This could take a minute or two depending on the density of the mesh and the range of the UV layout.

Once the node is done initializing, you will see a new group node in the outliner.  This group node contains the locator that will be used to slide the vertices of the mesh.  Place the group node roughly where you would like to animate the handle from.  In my example, since I am sliding the character’s back and scapula, I place the group node by the shoulder blades.

Select the handle and hit the Set Pivot button or from the command line:

import cvUVMeshSlide
u, v = cvUVMeshSlide.setPivot(handle=None)
    """
    Aligns the handle and sets the transformation pivot in UV space.

    Parameters:
        handle        - Sliding handle.  Defaults to selection

    Returns:
        u and v coordinates of pivot.
    """

This will align the handle with the closest normal and tangent as well as set the transformation pivot in UV space. This allows the handle to deform the points intuitively when the handle is rotated and scaled.

You will need to adjust the magnitude attribute to the desired sensitivity; usually anywhere from 1.0-5.0.  Also, you will need to paint the deformer weights to limit the area of influence to the vertices of the UV shell with some extra space buffer.  If a vertex moves beyond the shell of the UV layout, it will snap back to its predeformed position.  To prevent this, either make the UV shell include extra buffer vertices or paint out a buffer along the edges of the UV shell.

No Responses to “cvUVMeshSlide”

Subscribes to this topic Comment RSS or TrackBack URL

Leave A Reply

Allowed tag : <blockquote>, <p>, <code>, <em>, <small>, <ul>, <li>, <ol>, <a href=>..

 Username

 Email Address

 Website

Sticky: Always double check your comment before posting Please Note: Comment Moderation Maybe Active So There Is No Need To Resubmit Your Comments
Home » Resources » cvUVMeshSlide

© 2011 Chad Vernon