Hello Jason,

I don't know if you need to implement your own deformer for that, or if it's
part of something more complex, but I think that the effect you're after is
like what a blendShape does, with attribute "origin" is set to world...

Nicolas

On Sat, Jun 13, 2009 at 8:21 AM, Paul Molodowitch <[email protected]>wrote:

>
> I suspect that you would have to have the worldMatrix fed in as an
> additional input attribute.
>
> The basic problem, though, is that 'worldSpace' is always relative,
> and I'm not sure what you want it relative to.  Since it seems like
> you want this shape "echoed" in multiple spots in the dagTree, each
> eventual "output" destination in the dag would have to feed this node
> it's world matrix (or, more likely, it's inverse world matrix) into
> some sort of 'destinationWorldMatrices' multi attribute, and then read
> out the shape node from a corresponding plug in a 'outputShapes' multi
> plug.
>
> If this doesn't make sense, I can offer a fuller description...
>
> - Paul
>
>
>
> On Fri, Jun 12, 2009 at 3:20 PM, jasonosipa<[email protected]> wrote:
> >
> > Hi guys!
> >
> > I'm trying to push the global vert positions of one mesh to that of
> > another.  Essentially, no matter what I do with either transform, I
> > want the shape on the second to always look exactly the same as that
> > of the first (in world space).  That's it.  Another way to describe it
> > would be to say - I just want the two objects to be the same, all the
> > time.  I'm getting stumped though, in that it seems I need a dag path
> > for world space output, and I'm not sure how to get that given the
> > inputs/outputs I'm working with.  Any ideas?  Thanks in advance! -J.
> >
> >
> > class noMovey( omMPx.MPxNode ):
> >
> >  aInShape  = om.MObject()
> >  aOutShape = om.MObject()
> >
> >  def __init__ ( self ) :
> >    omMPx.MPxNode.__init__( self )
> >
> >  def compute( self, plug, data ):
> >
> >    inMesh    = data.inputValue( noMovey.aInShape ).asMesh()
> >    inFnMesh  = om.MFnMesh( inMesh )
> >    ins       = om.MPointArray()
> >    inFnMesh.getPoints( ins, om.MSpace.kWorld )
> >
> >    outPoints = om.MPointArray( ins )
> >
> >    outFnMeshData = om.MFnMeshData()
> >    outMeshData   = outFnMeshData.create()
> >    outFnMesh     = om.MFnMesh()
> >    outFnMesh.copy( inMesh, outMeshData )
> >
> >    outFnMesh.setPoints( outPoints, om.MSpace.kWorld )  # Maya no
> > likey
> >
> >    data.outputValue( noMovey.aOutShape ).setMObject( outMeshData )
> >    data.setClean( noMovey.aOutShape )
> > >
> >
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/python_inside_maya
-~----------~----~----~----~------~----~------~--~---

Reply via email to