Hi All! Thanks for the responses. These are great ideas, but not what I am looking for. There are a number of ways to get this effect done, and in fact, I already had 2 different ones before posting - what I really *want*, isn't a way to get it done, so much as to learn specifically how to use this line:
outFnMesh.setPoints( outPoints, om.MSpace.kWorld ) So that it doesn't give me this: // Error: (kInvalidParameter): Must have a DAG path to do world space transforms By accepting a "space" at all, it just seems like there is probably a way already built in to MFnMesh.setPoints to do this that doesn't involved manually math-ing away the destination world matrix. Right? On Jun 12, 11:45 pm, Nicolas Combecave <zezebubulon...@gmail.com> wrote: > 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 <elron...@gmail.com>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<jason.os...@gmail.com> 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 -~----------~----~----~----~------~----~------~--~---