Re: A new cage deformer
Hey, I've updated the plugin, so now a script is generating the coordinates as static ice attributes. same link: http://www.si-community.com/community/viewtopic.php?p=39308#p39308 You'll fin the command in the deformation menu. Tell me if it's working for you. Cheers, and Happy New Year! --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com 2013/12/28 Ahmidou.xsi ahmidou@gmail.com So you are right Vincent :) Le 28 déc. 2013 à 18:06, Vincent Ullmann vincent.ullm...@googlemail.com a écrit : Some News: Same Error here on 2014 SP2 Error could be there: Am 12/18/2013 10:25, schrieb Matt Morris: Using 2014sp2 and have the same error when trying to connect the initPMVC. Thanks for being so generous with your compounds ahmidou! On 18 December 2013 08:09, Andreas Böinghoff boeingh...@s-farm.dewrote: I got the same error here with SI 2013 SP1. Andreas On 12/18/2013 5:34 AM, Alok Gandhi wrote: Hi Ahmidou, I am getting the same error as Jeremie. From what I concur, the phi distribution on sphere node furnishes an array of position which is plugged into the direction of the a raycast node. The direction can be either a single vector or vector per point of the deformee while you are are supplying an array of vector, thereby causing incompatible types error. I did not have time to compare your implementation with the paper to further debug this, but this can give you an direction to further solve this issue. Either that or we are not setting up in the tree in the correct way. On Tue, Dec 17, 2013 at 9:09 PM, Jeremie Passerin gerem@gmail.comwrote: Not sure, I'll try again tomorrow morning.. if anyone else on the list is testing it, let me know if it works for you. thanks again for sharing, that might be a nice addition to my tool set ! On 17 December 2013 17:32, Ahmidou.xsi ahmidou@gmail.com wrote: I'm not in front on my computer, but what kind of error did you got? Le 18 déc. 2013 à 11:52, Jeremie Passerin gerem@gmail.com a écrit : Nice job Ahmidou ! Looks pretty straight forward but I wasn't able to make it work yet. :D I got an error on the phi distribution on Sphere... I might be doing something wrong. I'm using XSI 2013, could that be it ? Here is what I've done # python xsi = Application # Your path here ! compoundPath = source\\source\\dev\\passerin\\blurdev\\workgroups\\xsi_blurdev\\data\\Compounds xsi.CreatePrim(Sphere, MeshSurface, , ) xsi.SetValue(sphere.polymsh.geom.subdivu, 24, ) xsi.SetValue(sphere.polymsh.geom.subdivv, 24, ) xsi.FreezeObj(, , ) xsi.CreatePrim(Cube, MeshSurface, , ) xsi.SetValue(cube.cube.length, 9, ) xsi.ApplyTopoOp(TriangulatePolygons, cube, siUnspecified, siPersistentOperation, ) xsi.FreezeObj(, , ) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.AddICECompoundNode(compoundPath+\\initPMVC.xsicompound, sphere.polymsh.ICETree) xsi.ConnectICENodes(sphere.polymsh.ICETree.port1, sphere.polymsh.ICETree.initPMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree) xsi.SetValue(sphere.polymsh.ICETree.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree.initPMVC.cage, sphere.polymsh.ICETree.SceneReferenceNode.outname) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.MoveOperatorAfter(sphere.polymsh, sphere.polymsh.ICETree1, sphere.polymsh.shapemarker) xsi.AddICECompoundNode(compoundPath+\\PMVC.xsicompound, sphere.polymsh.ICETree1) xsi.ConnectICENodes(sphere.polymsh.ICETree1.port1, sphere.polymsh.ICETree1.PMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree1) xsi.SetValue(sphere.polymsh.ICETree1.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree1.PMVC.cage, sphere.polymsh.ICETree1.SceneReferenceNode.outname) On 17 December 2013 15:37, Alok Gandhi alok.gandhi2...@gmail.comwrote: Will check that out, thanks Ahmidou! On Tue, Dec 17, 2013 at 6:28 PM, Ahmidou Lyazidi ahmidou@gmail.com wrote: Here is a new cage defomer based on this paper: http://www.wisdom.weizmann.ac.il/~ylipman/pmvc/pmvc.htm The result is very close the Harmonic coordinates deformation done by Pixar, but faster to compute, it's also better deformation than the Softimage factory one. To use it, just connect the initPMVC compound in the modeling region, and the PMVC one in the animation region, both on the deformed object. The cage must be triangulated! .. but once your happy with the deformation the initPMVC compound may be frozen , and then cage can be quadrangulated. The only limitation is that all the point of the deformee must be inside the cage. http://www.si-community.com/community/viewtopic.php?f=19t=4683 Cheers
Re: A new cage deformer
Thanks for the update Ahmidou ! Are you sure you attached the right addon to your post ? I only see one command in this addon, no menu and not really some working code This won't work anywhere else but on your machine :D # python sel = xsi.Selection sel.AddProperty(E:\\XSI_DEV\\DEV_WORKGROUP\\Application\\Plugins\\PMVC.preset, 0, PMVC) Happy new year though ! Hope you'll have a great 2014 ! On 2 January 2014 09:17, Ahmidou Lyazidi ahmidou@gmail.com wrote: Hey, I've updated the plugin, so now a script is generating the coordinates as static ice attributes. same link: http://www.si-community.com/community/viewtopic.php?p=39308#p39308 You'll fin the command in the deformation menu. Tell me if it's working for you. Cheers, and Happy New Year! --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com 2013/12/28 Ahmidou.xsi ahmidou@gmail.com So you are right Vincent :) Le 28 déc. 2013 à 18:06, Vincent Ullmann vincent.ullm...@googlemail.com a écrit : Some News: Same Error here on 2014 SP2 Error could be there: Am 12/18/2013 10:25, schrieb Matt Morris: Using 2014sp2 and have the same error when trying to connect the initPMVC. Thanks for being so generous with your compounds ahmidou! On 18 December 2013 08:09, Andreas Böinghoff boeingh...@s-farm.dewrote: I got the same error here with SI 2013 SP1. Andreas On 12/18/2013 5:34 AM, Alok Gandhi wrote: Hi Ahmidou, I am getting the same error as Jeremie. From what I concur, the phi distribution on sphere node furnishes an array of position which is plugged into the direction of the a raycast node. The direction can be either a single vector or vector per point of the deformee while you are are supplying an array of vector, thereby causing incompatible types error. I did not have time to compare your implementation with the paper to further debug this, but this can give you an direction to further solve this issue. Either that or we are not setting up in the tree in the correct way. On Tue, Dec 17, 2013 at 9:09 PM, Jeremie Passerin gerem@gmail.comwrote: Not sure, I'll try again tomorrow morning.. if anyone else on the list is testing it, let me know if it works for you. thanks again for sharing, that might be a nice addition to my tool set ! On 17 December 2013 17:32, Ahmidou.xsi ahmidou@gmail.com wrote: I'm not in front on my computer, but what kind of error did you got? Le 18 déc. 2013 à 11:52, Jeremie Passerin gerem@gmail.com a écrit : Nice job Ahmidou ! Looks pretty straight forward but I wasn't able to make it work yet. :D I got an error on the phi distribution on Sphere... I might be doing something wrong. I'm using XSI 2013, could that be it ? Here is what I've done # python xsi = Application # Your path here ! compoundPath = source\\source\\dev\\passerin\\blurdev\\workgroups\\xsi_blurdev\\data\\Compounds xsi.CreatePrim(Sphere, MeshSurface, , ) xsi.SetValue(sphere.polymsh.geom.subdivu, 24, ) xsi.SetValue(sphere.polymsh.geom.subdivv, 24, ) xsi.FreezeObj(, , ) xsi.CreatePrim(Cube, MeshSurface, , ) xsi.SetValue(cube.cube.length, 9, ) xsi.ApplyTopoOp(TriangulatePolygons, cube, siUnspecified, siPersistentOperation, ) xsi.FreezeObj(, , ) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.AddICECompoundNode(compoundPath+\\initPMVC.xsicompound, sphere.polymsh.ICETree) xsi.ConnectICENodes(sphere.polymsh.ICETree.port1, sphere.polymsh.ICETree.initPMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree) xsi.SetValue(sphere.polymsh.ICETree.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree.initPMVC.cage, sphere.polymsh.ICETree.SceneReferenceNode.outname) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.MoveOperatorAfter(sphere.polymsh, sphere.polymsh.ICETree1, sphere.polymsh.shapemarker) xsi.AddICECompoundNode(compoundPath+\\PMVC.xsicompound, sphere.polymsh.ICETree1) xsi.ConnectICENodes(sphere.polymsh.ICETree1.port1, sphere.polymsh.ICETree1.PMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree1) xsi.SetValue(sphere.polymsh.ICETree1.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree1.PMVC.cage, sphere.polymsh.ICETree1.SceneReferenceNode.outname) On 17 December 2013 15:37, Alok Gandhi alok.gandhi2...@gmail.comwrote: Will check that out, thanks Ahmidou! On Tue, Dec 17, 2013 at 6:28 PM, Ahmidou Lyazidi ahmidou@gmail.com wrote: Here is a new cage defomer based on this paper: http://www.wisdom.weizmann.ac.il/~ylipman/pmvc/pmvc.htm The result is very close the Harmonic coordinates deformation done by Pixar, but faster to compute, it's also better deformation than the Softimage factory one. To use it,
Re: A new cage deformer
Damn it!! I just re-updated with the good file. Can you please try again? Cheers! --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com 2014/1/2 Jeremie Passerin gerem@gmail.com Thanks for the update Ahmidou ! Are you sure you attached the right addon to your post ? I only see one command in this addon, no menu and not really some working code This won't work anywhere else but on your machine :D # python sel = xsi.Selection sel.AddProperty(E:\\XSI_DEV\\DEV_WORKGROUP\\Application\\Plugins\\PMVC.preset, 0, PMVC) Happy new year though ! Hope you'll have a great 2014 ! On 2 January 2014 09:17, Ahmidou Lyazidi ahmidou@gmail.com wrote: Hey, I've updated the plugin, so now a script is generating the coordinates as static ice attributes. same link: http://www.si-community.com/community/viewtopic.php?p=39308#p39308 You'll fin the command in the deformation menu. Tell me if it's working for you. Cheers, and Happy New Year! --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com 2013/12/28 Ahmidou.xsi ahmidou@gmail.com So you are right Vincent :) Le 28 déc. 2013 à 18:06, Vincent Ullmann vincent.ullm...@googlemail.com a écrit : Some News: Same Error here on 2014 SP2 Error could be there: Am 12/18/2013 10:25, schrieb Matt Morris: Using 2014sp2 and have the same error when trying to connect the initPMVC. Thanks for being so generous with your compounds ahmidou! On 18 December 2013 08:09, Andreas Böinghoff boeingh...@s-farm.dewrote: I got the same error here with SI 2013 SP1. Andreas On 12/18/2013 5:34 AM, Alok Gandhi wrote: Hi Ahmidou, I am getting the same error as Jeremie. From what I concur, the phi distribution on sphere node furnishes an array of position which is plugged into the direction of the a raycast node. The direction can be either a single vector or vector per point of the deformee while you are are supplying an array of vector, thereby causing incompatible types error. I did not have time to compare your implementation with the paper to further debug this, but this can give you an direction to further solve this issue. Either that or we are not setting up in the tree in the correct way. On Tue, Dec 17, 2013 at 9:09 PM, Jeremie Passerin gerem@gmail.comwrote: Not sure, I'll try again tomorrow morning.. if anyone else on the list is testing it, let me know if it works for you. thanks again for sharing, that might be a nice addition to my tool set ! On 17 December 2013 17:32, Ahmidou.xsi ahmidou@gmail.com wrote: I'm not in front on my computer, but what kind of error did you got? Le 18 déc. 2013 à 11:52, Jeremie Passerin gerem@gmail.com a écrit : Nice job Ahmidou ! Looks pretty straight forward but I wasn't able to make it work yet. :D I got an error on the phi distribution on Sphere... I might be doing something wrong. I'm using XSI 2013, could that be it ? Here is what I've done # python xsi = Application # Your path here ! compoundPath = source\\source\\dev\\passerin\\blurdev\\workgroups\\xsi_blurdev\\data\\Compounds xsi.CreatePrim(Sphere, MeshSurface, , ) xsi.SetValue(sphere.polymsh.geom.subdivu, 24, ) xsi.SetValue(sphere.polymsh.geom.subdivv, 24, ) xsi.FreezeObj(, , ) xsi.CreatePrim(Cube, MeshSurface, , ) xsi.SetValue(cube.cube.length, 9, ) xsi.ApplyTopoOp(TriangulatePolygons, cube, siUnspecified, siPersistentOperation, ) xsi.FreezeObj(, , ) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.AddICECompoundNode(compoundPath+\\initPMVC.xsicompound, sphere.polymsh.ICETree) xsi.ConnectICENodes(sphere.polymsh.ICETree.port1, sphere.polymsh.ICETree.initPMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree) xsi.SetValue(sphere.polymsh.ICETree.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree.initPMVC.cage, sphere.polymsh.ICETree.SceneReferenceNode.outname) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.MoveOperatorAfter(sphere.polymsh, sphere.polymsh.ICETree1, sphere.polymsh.shapemarker) xsi.AddICECompoundNode(compoundPath+\\PMVC.xsicompound, sphere.polymsh.ICETree1) xsi.ConnectICENodes(sphere.polymsh.ICETree1.port1, sphere.polymsh.ICETree1.PMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree1) xsi.SetValue(sphere.polymsh.ICETree1.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree1.PMVC.cage, sphere.polymsh.ICETree1.SceneReferenceNode.outname) On 17 December 2013 15:37, Alok Gandhi alok.gandhi2...@gmail.comwrote: Will check that out, thanks Ahmidou! On Tue, Dec 17, 2013 at 6:28 PM, Ahmidou Lyazidi
Re: A new cage deformer
he he , I got the feeling you still have your head down under ! testing right now. ;-) On 2 January 2014 11:27, Ahmidou Lyazidi ahmidou@gmail.com wrote: Damn it!! I just re-updated with the good file. Can you please try again? Cheers! --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com 2014/1/2 Jeremie Passerin gerem@gmail.com Thanks for the update Ahmidou ! Are you sure you attached the right addon to your post ? I only see one command in this addon, no menu and not really some working code This won't work anywhere else but on your machine :D # python sel = xsi.Selection sel.AddProperty(E:\\XSI_DEV\\DEV_WORKGROUP\\Application\\Plugins\\PMVC.preset, 0, PMVC) Happy new year though ! Hope you'll have a great 2014 ! On 2 January 2014 09:17, Ahmidou Lyazidi ahmidou@gmail.com wrote: Hey, I've updated the plugin, so now a script is generating the coordinates as static ice attributes. same link: http://www.si-community.com/community/viewtopic.php?p=39308#p39308 You'll fin the command in the deformation menu. Tell me if it's working for you. Cheers, and Happy New Year! --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com 2013/12/28 Ahmidou.xsi ahmidou@gmail.com So you are right Vincent :) Le 28 déc. 2013 à 18:06, Vincent Ullmann vincent.ullm...@googlemail.com a écrit : Some News: Same Error here on 2014 SP2 Error could be there: Am 12/18/2013 10:25, schrieb Matt Morris: Using 2014sp2 and have the same error when trying to connect the initPMVC. Thanks for being so generous with your compounds ahmidou! On 18 December 2013 08:09, Andreas Böinghoff boeingh...@s-farm.dewrote: I got the same error here with SI 2013 SP1. Andreas On 12/18/2013 5:34 AM, Alok Gandhi wrote: Hi Ahmidou, I am getting the same error as Jeremie. From what I concur, the phi distribution on sphere node furnishes an array of position which is plugged into the direction of the a raycast node. The direction can be either a single vector or vector per point of the deformee while you are are supplying an array of vector, thereby causing incompatible types error. I did not have time to compare your implementation with the paper to further debug this, but this can give you an direction to further solve this issue. Either that or we are not setting up in the tree in the correct way. On Tue, Dec 17, 2013 at 9:09 PM, Jeremie Passerin gerem@gmail.com wrote: Not sure, I'll try again tomorrow morning.. if anyone else on the list is testing it, let me know if it works for you. thanks again for sharing, that might be a nice addition to my tool set ! On 17 December 2013 17:32, Ahmidou.xsi ahmidou@gmail.com wrote: I'm not in front on my computer, but what kind of error did you got? Le 18 déc. 2013 à 11:52, Jeremie Passerin gerem@gmail.com a écrit : Nice job Ahmidou ! Looks pretty straight forward but I wasn't able to make it work yet. :D I got an error on the phi distribution on Sphere... I might be doing something wrong. I'm using XSI 2013, could that be it ? Here is what I've done # python xsi = Application # Your path here ! compoundPath = source\\source\\dev\\passerin\\blurdev\\workgroups\\xsi_blurdev\\data\\Compounds xsi.CreatePrim(Sphere, MeshSurface, , ) xsi.SetValue(sphere.polymsh.geom.subdivu, 24, ) xsi.SetValue(sphere.polymsh.geom.subdivv, 24, ) xsi.FreezeObj(, , ) xsi.CreatePrim(Cube, MeshSurface, , ) xsi.SetValue(cube.cube.length, 9, ) xsi.ApplyTopoOp(TriangulatePolygons, cube, siUnspecified, siPersistentOperation, ) xsi.FreezeObj(, , ) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.AddICECompoundNode(compoundPath+\\initPMVC.xsicompound, sphere.polymsh.ICETree) xsi.ConnectICENodes(sphere.polymsh.ICETree.port1, sphere.polymsh.ICETree.initPMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree) xsi.SetValue(sphere.polymsh.ICETree.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree.initPMVC.cage, sphere.polymsh.ICETree.SceneReferenceNode.outname) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.MoveOperatorAfter(sphere.polymsh, sphere.polymsh.ICETree1, sphere.polymsh.shapemarker) xsi.AddICECompoundNode(compoundPath+\\PMVC.xsicompound, sphere.polymsh.ICETree1) xsi.ConnectICENodes(sphere.polymsh.ICETree1.port1, sphere.polymsh.ICETree1.PMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree1) xsi.SetValue(sphere.polymsh.ICETree1.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree1.PMVC.cage, sphere.polymsh.ICETree1.SceneReferenceNode.outname) On 17
Re: A new cage deformer
Seems to work nicely ! Thanks again for sharing. On 2 January 2014 12:10, Jeremie Passerin gerem@gmail.com wrote: he he , I got the feeling you still have your head down under ! testing right now. ;-) On 2 January 2014 11:27, Ahmidou Lyazidi ahmidou@gmail.com wrote: Damn it!! I just re-updated with the good file. Can you please try again? Cheers! --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com 2014/1/2 Jeremie Passerin gerem@gmail.com Thanks for the update Ahmidou ! Are you sure you attached the right addon to your post ? I only see one command in this addon, no menu and not really some working code This won't work anywhere else but on your machine :D # python sel = xsi.Selection sel.AddProperty(E:\\XSI_DEV\\DEV_WORKGROUP\\Application\\Plugins\\PMVC.preset, 0, PMVC) Happy new year though ! Hope you'll have a great 2014 ! On 2 January 2014 09:17, Ahmidou Lyazidi ahmidou@gmail.com wrote: Hey, I've updated the plugin, so now a script is generating the coordinates as static ice attributes. same link: http://www.si-community.com/community/viewtopic.php?p=39308#p39308 You'll fin the command in the deformation menu. Tell me if it's working for you. Cheers, and Happy New Year! --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com 2013/12/28 Ahmidou.xsi ahmidou@gmail.com So you are right Vincent :) Le 28 déc. 2013 à 18:06, Vincent Ullmann vincent.ullm...@googlemail.com a écrit : Some News: Same Error here on 2014 SP2 Error could be there: Am 12/18/2013 10:25, schrieb Matt Morris: Using 2014sp2 and have the same error when trying to connect the initPMVC. Thanks for being so generous with your compounds ahmidou! On 18 December 2013 08:09, Andreas Böinghoff boeingh...@s-farm.dewrote: I got the same error here with SI 2013 SP1. Andreas On 12/18/2013 5:34 AM, Alok Gandhi wrote: Hi Ahmidou, I am getting the same error as Jeremie. From what I concur, the phi distribution on sphere node furnishes an array of position which is plugged into the direction of the a raycast node. The direction can be either a single vector or vector per point of the deformee while you are are supplying an array of vector, thereby causing incompatible types error. I did not have time to compare your implementation with the paper to further debug this, but this can give you an direction to further solve this issue. Either that or we are not setting up in the tree in the correct way. On Tue, Dec 17, 2013 at 9:09 PM, Jeremie Passerin gerem@gmail.com wrote: Not sure, I'll try again tomorrow morning.. if anyone else on the list is testing it, let me know if it works for you. thanks again for sharing, that might be a nice addition to my tool set ! On 17 December 2013 17:32, Ahmidou.xsi ahmidou@gmail.comwrote: I'm not in front on my computer, but what kind of error did you got? Le 18 déc. 2013 à 11:52, Jeremie Passerin gerem@gmail.com a écrit : Nice job Ahmidou ! Looks pretty straight forward but I wasn't able to make it work yet. :D I got an error on the phi distribution on Sphere... I might be doing something wrong. I'm using XSI 2013, could that be it ? Here is what I've done # python xsi = Application # Your path here ! compoundPath = source\\source\\dev\\passerin\\blurdev\\workgroups\\xsi_blurdev\\data\\Compounds xsi.CreatePrim(Sphere, MeshSurface, , ) xsi.SetValue(sphere.polymsh.geom.subdivu, 24, ) xsi.SetValue(sphere.polymsh.geom.subdivv, 24, ) xsi.FreezeObj(, , ) xsi.CreatePrim(Cube, MeshSurface, , ) xsi.SetValue(cube.cube.length, 9, ) xsi.ApplyTopoOp(TriangulatePolygons, cube, siUnspecified, siPersistentOperation, ) xsi.FreezeObj(, , ) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.AddICECompoundNode(compoundPath+\\initPMVC.xsicompound, sphere.polymsh.ICETree) xsi.ConnectICENodes(sphere.polymsh.ICETree.port1, sphere.polymsh.ICETree.initPMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree) xsi.SetValue(sphere.polymsh.ICETree.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree.initPMVC.cage, sphere.polymsh.ICETree.SceneReferenceNode.outname) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.MoveOperatorAfter(sphere.polymsh, sphere.polymsh.ICETree1, sphere.polymsh.shapemarker) xsi.AddICECompoundNode(compoundPath+\\PMVC.xsicompound, sphere.polymsh.ICETree1) xsi.ConnectICENodes(sphere.polymsh.ICETree1.port1, sphere.polymsh.ICETree1.PMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree1) xsi.SetValue(sphere.polymsh.ICETree1.SceneReferenceNode.reference,
Re: A new cage deformer
I've found the problem, the polygon to vertex attribute isn't working with an array as input... But it does in a special version. Sorry about that, I'll post a script that generate the coordinates and temporary replace the init compound. Cheers! Le 28 déc. 2013 à 18:06, Vincent Ullmann vincent.ullm...@googlemail.com a écrit : Some News: Same Error here on 2014 SP2 Error could be there: Am 12/18/2013 10:25, schrieb Matt Morris: Using 2014sp2 and have the same error when trying to connect the initPMVC. Thanks for being so generous with your compounds ahmidou! On 18 December 2013 08:09, Andreas Böinghoff boeingh...@s-farm.de wrote: I got the same error here with SI 2013 SP1. Andreas On 12/18/2013 5:34 AM, Alok Gandhi wrote: Hi Ahmidou, I am getting the same error as Jeremie. From what I concur, the phi distribution on sphere node furnishes an array of position which is plugged into the direction of the a raycast node. The direction can be either a single vector or vector per point of the deformee while you are are supplying an array of vector, thereby causing incompatible types error. I did not have time to compare your implementation with the paper to further debug this, but this can give you an direction to further solve this issue. Either that or we are not setting up in the tree in the correct way. On Tue, Dec 17, 2013 at 9:09 PM, Jeremie Passerin gerem@gmail.com wrote: Not sure, I'll try again tomorrow morning.. if anyone else on the list is testing it, let me know if it works for you. thanks again for sharing, that might be a nice addition to my tool set ! On 17 December 2013 17:32, Ahmidou.xsi ahmidou@gmail.com wrote: I'm not in front on my computer, but what kind of error did you got? Le 18 déc. 2013 à 11:52, Jeremie Passerin gerem@gmail.com a écrit : Nice job Ahmidou ! Looks pretty straight forward but I wasn't able to make it work yet. :D I got an error on the phi distribution on Sphere... I might be doing something wrong. I'm using XSI 2013, could that be it ? Here is what I've done # python xsi = Application # Your path here ! compoundPath = source\\source\\dev\\passerin\\blurdev\\workgroups\\xsi_blurdev\\data\\Compounds xsi.CreatePrim(Sphere, MeshSurface, , ) xsi.SetValue(sphere.polymsh.geom.subdivu, 24, ) xsi.SetValue(sphere.polymsh.geom.subdivv, 24, ) xsi.FreezeObj(, , ) xsi.CreatePrim(Cube, MeshSurface, , ) xsi.SetValue(cube.cube.length, 9, ) xsi.ApplyTopoOp(TriangulatePolygons, cube, siUnspecified, siPersistentOperation, ) xsi.FreezeObj(, , ) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.AddICECompoundNode(compoundPath+\\initPMVC.xsicompound, sphere.polymsh.ICETree) xsi.ConnectICENodes(sphere.polymsh.ICETree.port1, sphere.polymsh.ICETree.initPMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree) xsi.SetValue(sphere.polymsh.ICETree.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree.initPMVC.cage, sphere.polymsh.ICETree.SceneReferenceNode.outname) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.MoveOperatorAfter(sphere.polymsh, sphere.polymsh.ICETree1, sphere.polymsh.shapemarker) xsi.AddICECompoundNode(compoundPath+\\PMVC.xsicompound, sphere.polymsh.ICETree1) xsi.ConnectICENodes(sphere.polymsh.ICETree1.port1, sphere.polymsh.ICETree1.PMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree1) xsi.SetValue(sphere.polymsh.ICETree1.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree1.PMVC.cage, sphere.polymsh.ICETree1.SceneReferenceNode.outname) On 17 December 2013 15:37, Alok Gandhi alok.gandhi2...@gmail.com wrote: Will check that out, thanks Ahmidou! On Tue, Dec 17, 2013 at 6:28 PM, Ahmidou Lyazidi ahmidou@gmail.com wrote: Here is a new cage defomer based on this paper: http://www.wisdom.weizmann.ac.il/~ylipman/pmvc/pmvc.htm The result is very close the Harmonic coordinates deformation done by Pixar, but faster to compute, it's also better deformation than the Softimage factory one. To use it, just connect the initPMVC compound in the modeling region, and the PMVC one in the animation region, both on the deformed object. The cage must be triangulated! .. but once your happy with the deformation the initPMVC compound may be frozen , and then cage can be quadrangulated. The only limitation is that all the point of the deformee must be inside the cage. http://www.si-community.com/community/viewtopic.php?f=19t=4683 Cheers --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com -- -- -- -- www.matinai.com ArrayOfLoc_to_ArrayOfArray.JPG
Re: A new cage deformer
So you are right Vincent :) Le 28 déc. 2013 à 18:06, Vincent Ullmann vincent.ullm...@googlemail.com a écrit : Some News: Same Error here on 2014 SP2 Error could be there: Am 12/18/2013 10:25, schrieb Matt Morris: Using 2014sp2 and have the same error when trying to connect the initPMVC. Thanks for being so generous with your compounds ahmidou! On 18 December 2013 08:09, Andreas Böinghoff boeingh...@s-farm.de wrote: I got the same error here with SI 2013 SP1. Andreas On 12/18/2013 5:34 AM, Alok Gandhi wrote: Hi Ahmidou, I am getting the same error as Jeremie. From what I concur, the phi distribution on sphere node furnishes an array of position which is plugged into the direction of the a raycast node. The direction can be either a single vector or vector per point of the deformee while you are are supplying an array of vector, thereby causing incompatible types error. I did not have time to compare your implementation with the paper to further debug this, but this can give you an direction to further solve this issue. Either that or we are not setting up in the tree in the correct way. On Tue, Dec 17, 2013 at 9:09 PM, Jeremie Passerin gerem@gmail.com wrote: Not sure, I'll try again tomorrow morning.. if anyone else on the list is testing it, let me know if it works for you. thanks again for sharing, that might be a nice addition to my tool set ! On 17 December 2013 17:32, Ahmidou.xsi ahmidou@gmail.com wrote: I'm not in front on my computer, but what kind of error did you got? Le 18 déc. 2013 à 11:52, Jeremie Passerin gerem@gmail.com a écrit : Nice job Ahmidou ! Looks pretty straight forward but I wasn't able to make it work yet. :D I got an error on the phi distribution on Sphere... I might be doing something wrong. I'm using XSI 2013, could that be it ? Here is what I've done # python xsi = Application # Your path here ! compoundPath = source\\source\\dev\\passerin\\blurdev\\workgroups\\xsi_blurdev\\data\\Compounds xsi.CreatePrim(Sphere, MeshSurface, , ) xsi.SetValue(sphere.polymsh.geom.subdivu, 24, ) xsi.SetValue(sphere.polymsh.geom.subdivv, 24, ) xsi.FreezeObj(, , ) xsi.CreatePrim(Cube, MeshSurface, , ) xsi.SetValue(cube.cube.length, 9, ) xsi.ApplyTopoOp(TriangulatePolygons, cube, siUnspecified, siPersistentOperation, ) xsi.FreezeObj(, , ) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.AddICECompoundNode(compoundPath+\\initPMVC.xsicompound, sphere.polymsh.ICETree) xsi.ConnectICENodes(sphere.polymsh.ICETree.port1, sphere.polymsh.ICETree.initPMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree) xsi.SetValue(sphere.polymsh.ICETree.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree.initPMVC.cage, sphere.polymsh.ICETree.SceneReferenceNode.outname) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.MoveOperatorAfter(sphere.polymsh, sphere.polymsh.ICETree1, sphere.polymsh.shapemarker) xsi.AddICECompoundNode(compoundPath+\\PMVC.xsicompound, sphere.polymsh.ICETree1) xsi.ConnectICENodes(sphere.polymsh.ICETree1.port1, sphere.polymsh.ICETree1.PMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree1) xsi.SetValue(sphere.polymsh.ICETree1.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree1.PMVC.cage, sphere.polymsh.ICETree1.SceneReferenceNode.outname) On 17 December 2013 15:37, Alok Gandhi alok.gandhi2...@gmail.com wrote: Will check that out, thanks Ahmidou! On Tue, Dec 17, 2013 at 6:28 PM, Ahmidou Lyazidi ahmidou@gmail.com wrote: Here is a new cage defomer based on this paper: http://www.wisdom.weizmann.ac.il/~ylipman/pmvc/pmvc.htm The result is very close the Harmonic coordinates deformation done by Pixar, but faster to compute, it's also better deformation than the Softimage factory one. To use it, just connect the initPMVC compound in the modeling region, and the PMVC one in the animation region, both on the deformed object. The cage must be triangulated! .. but once your happy with the deformation the initPMVC compound may be frozen , and then cage can be quadrangulated. The only limitation is that all the point of the deformee must be inside the cage. http://www.si-community.com/community/viewtopic.php?f=19t=4683 Cheers --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com -- -- -- -- www.matinai.com ArrayOfLoc_to_ArrayOfArray.JPG
Re: A new cage deformer
I got the same error here with SI 2013 SP1. Andreas On 12/18/2013 5:34 AM, Alok Gandhi wrote: Hi Ahmidou, I am getting the same error as Jeremie. From what I concur, the phi distribution on sphere node furnishes an array of position which is plugged into the direction of the a raycast node. The direction can be either a single vector or vector per point of the deformee while you are are supplying an array of vector, thereby causing incompatible types error. I did not have time to compare your implementation with the paper to further debug this, but this can give you an direction to further solve this issue. Either that or we are not setting up in the tree in the correct way. On Tue, Dec 17, 2013 at 9:09 PM, Jeremie Passerin gerem@gmail.com mailto:gerem@gmail.com wrote: Not sure, I'll try again tomorrow morning.. if anyone else on the list is testing it, let me know if it works for you. thanks again for sharing, that might be a nice addition to my tool set ! On 17 December 2013 17:32, Ahmidou.xsi ahmidou@gmail.com mailto:ahmidou@gmail.com wrote: I'm not in front on my computer, but what kind of error did you got? Le 18 déc. 2013 à 11:52, Jeremie Passerin gerem@gmail.com mailto:gerem@gmail.com a écrit : Nice job Ahmidou ! Looks pretty straight forward but I wasn't able to make it work yet. :D I got an error on the phi distribution on Sphere... I might be doing something wrong. I'm using XSI 2013, could that be it ? Here is what I've done # python xsi = Application # Your path here ! compoundPath = source\\source\\dev\\passerin\\blurdev\\workgroups\\xsi_blurdev\\data\\Compounds xsi.CreatePrim(Sphere, MeshSurface, , ) xsi.SetValue(sphere.polymsh.geom.subdivu, 24, ) xsi.SetValue(sphere.polymsh.geom.subdivv, 24, ) xsi.FreezeObj(, , ) xsi.CreatePrim(Cube, MeshSurface, , ) xsi.SetValue(cube.cube.length, 9, ) xsi.ApplyTopoOp(TriangulatePolygons, cube, siUnspecified, siPersistentOperation, ) xsi.FreezeObj(, , ) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.AddICECompoundNode(compoundPath+\\initPMVC.xsicompound, sphere.polymsh.ICETree) xsi.ConnectICENodes(sphere.polymsh.ICETree.port1, sphere.polymsh.ICETree.initPMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree) xsi.SetValue(sphere.polymsh.ICETree.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree.initPMVC.cage, sphere.polymsh.ICETree.SceneReferenceNode.outname) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.MoveOperatorAfter(sphere.polymsh, sphere.polymsh.ICETree1, sphere.polymsh.shapemarker) xsi.AddICECompoundNode(compoundPath+\\PMVC.xsicompound, sphere.polymsh.ICETree1) xsi.ConnectICENodes(sphere.polymsh.ICETree1.port1, sphere.polymsh.ICETree1.PMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree1) xsi.SetValue(sphere.polymsh.ICETree1.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree1.PMVC.cage, sphere.polymsh.ICETree1.SceneReferenceNode.outname) On 17 December 2013 15:37, Alok Gandhi alok.gandhi2...@gmail.com mailto:alok.gandhi2...@gmail.com wrote: Will check that out, thanks Ahmidou! On Tue, Dec 17, 2013 at 6:28 PM, Ahmidou Lyazidi ahmidou@gmail.com mailto:ahmidou@gmail.com wrote: Here is a new cage defomer based on this paper: http://www.wisdom.weizmann.ac.il/~ylipman/pmvc/pmvc.htm http://www.wisdom.weizmann.ac.il/%7Eylipman/pmvc/pmvc.htm The result is very close the Harmonic coordinates deformation done by Pixar, but faster to compute, it's also better deformation than the Softimage factory one. To use it, just connect the initPMVC compound in the modeling region, and the PMVC one in the animation region, both on the deformed object. The cage must be triangulated! .. but once your happy with the deformation the initPMVC compound may be frozen , and then cage can be quadrangulated. The only limitation is that all the point of the deformee must be inside the cage. http://www.si-community.com/community/viewtopic.php?f=19t=4683 Cheers --- Ahmidou Lyazidi
Re: A new cage deformer
Using 2014sp2 and have the same error when trying to connect the initPMVC. Thanks for being so generous with your compounds ahmidou! On 18 December 2013 08:09, Andreas Böinghoff boeingh...@s-farm.de wrote: I got the same error here with SI 2013 SP1. Andreas On 12/18/2013 5:34 AM, Alok Gandhi wrote: Hi Ahmidou, I am getting the same error as Jeremie. From what I concur, the phi distribution on sphere node furnishes an array of position which is plugged into the direction of the a raycast node. The direction can be either a single vector or vector per point of the deformee while you are are supplying an array of vector, thereby causing incompatible types error. I did not have time to compare your implementation with the paper to further debug this, but this can give you an direction to further solve this issue. Either that or we are not setting up in the tree in the correct way. On Tue, Dec 17, 2013 at 9:09 PM, Jeremie Passerin gerem@gmail.comwrote: Not sure, I'll try again tomorrow morning.. if anyone else on the list is testing it, let me know if it works for you. thanks again for sharing, that might be a nice addition to my tool set ! On 17 December 2013 17:32, Ahmidou.xsi ahmidou@gmail.com wrote: I'm not in front on my computer, but what kind of error did you got? Le 18 déc. 2013 à 11:52, Jeremie Passerin gerem@gmail.com a écrit : Nice job Ahmidou ! Looks pretty straight forward but I wasn't able to make it work yet. :D I got an error on the phi distribution on Sphere... I might be doing something wrong. I'm using XSI 2013, could that be it ? Here is what I've done # python xsi = Application # Your path here ! compoundPath = source\\source\\dev\\passerin\\blurdev\\workgroups\\xsi_blurdev\\data\\Compounds xsi.CreatePrim(Sphere, MeshSurface, , ) xsi.SetValue(sphere.polymsh.geom.subdivu, 24, ) xsi.SetValue(sphere.polymsh.geom.subdivv, 24, ) xsi.FreezeObj(, , ) xsi.CreatePrim(Cube, MeshSurface, , ) xsi.SetValue(cube.cube.length, 9, ) xsi.ApplyTopoOp(TriangulatePolygons, cube, siUnspecified, siPersistentOperation, ) xsi.FreezeObj(, , ) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.AddICECompoundNode(compoundPath+\\initPMVC.xsicompound, sphere.polymsh.ICETree) xsi.ConnectICENodes(sphere.polymsh.ICETree.port1, sphere.polymsh.ICETree.initPMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree) xsi.SetValue(sphere.polymsh.ICETree.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree.initPMVC.cage, sphere.polymsh.ICETree.SceneReferenceNode.outname) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.MoveOperatorAfter(sphere.polymsh, sphere.polymsh.ICETree1, sphere.polymsh.shapemarker) xsi.AddICECompoundNode(compoundPath+\\PMVC.xsicompound, sphere.polymsh.ICETree1) xsi.ConnectICENodes(sphere.polymsh.ICETree1.port1, sphere.polymsh.ICETree1.PMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree1) xsi.SetValue(sphere.polymsh.ICETree1.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree1.PMVC.cage, sphere.polymsh.ICETree1.SceneReferenceNode.outname) On 17 December 2013 15:37, Alok Gandhi alok.gandhi2...@gmail.comwrote: Will check that out, thanks Ahmidou! On Tue, Dec 17, 2013 at 6:28 PM, Ahmidou Lyazidi ahmidou@gmail.com wrote: Here is a new cage defomer based on this paper: http://www.wisdom.weizmann.ac.il/~ylipman/pmvc/pmvc.htm The result is very close the Harmonic coordinates deformation done by Pixar, but faster to compute, it's also better deformation than the Softimage factory one. To use it, just connect the initPMVC compound in the modeling region, and the PMVC one in the animation region, both on the deformed object. The cage must be triangulated! .. but once your happy with the deformation the initPMVC compound may be frozen , and then cage can be quadrangulated. The only limitation is that all the point of the deformee must be inside the cage. http://www.si-community.com/community/viewtopic.php?f=19t=4683 Cheers --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com -- -- -- -- www.matinai.com
A new cage deformer
Here is a new cage defomer based on this paper: http://www.wisdom.weizmann.ac.il/~ylipman/pmvc/pmvc.htm The result is very close the Harmonic coordinates deformation done by Pixar, but faster to compute, it's also better deformation than the Softimage factory one. To use it, just connect the initPMVC compound in the modeling region, and the PMVC one in the animation region, both on the deformed object. The cage must be triangulated! .. but once your happy with the deformation the initPMVC compound may be frozen , and then cage can be quadrangulated. The only limitation is that all the point of the deformee must be inside the cage. http://www.si-community.com/community/viewtopic.php?f=19t=4683 Cheers --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com
Re: A new cage deformer
Will check that out, thanks Ahmidou! On Tue, Dec 17, 2013 at 6:28 PM, Ahmidou Lyazidi ahmidou@gmail.comwrote: Here is a new cage defomer based on this paper: http://www.wisdom.weizmann.ac.il/~ylipman/pmvc/pmvc.htm The result is very close the Harmonic coordinates deformation done by Pixar, but faster to compute, it's also better deformation than the Softimage factory one. To use it, just connect the initPMVC compound in the modeling region, and the PMVC one in the animation region, both on the deformed object. The cage must be triangulated! .. but once your happy with the deformation the initPMVC compound may be frozen , and then cage can be quadrangulated. The only limitation is that all the point of the deformee must be inside the cage. http://www.si-community.com/community/viewtopic.php?f=19t=4683 Cheers --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com --
Re: A new cage deformer
I'm not in front on my computer, but what kind of error did you got? Le 18 déc. 2013 à 11:52, Jeremie Passerin gerem@gmail.com a écrit : Nice job Ahmidou ! Looks pretty straight forward but I wasn't able to make it work yet. :D I got an error on the phi distribution on Sphere... I might be doing something wrong. I'm using XSI 2013, could that be it ? Here is what I've done # python xsi = Application # Your path here ! compoundPath = source\\source\\dev\\passerin\\blurdev\\workgroups\\xsi_blurdev\\data\\Compounds xsi.CreatePrim(Sphere, MeshSurface, , ) xsi.SetValue(sphere.polymsh.geom.subdivu, 24, ) xsi.SetValue(sphere.polymsh.geom.subdivv, 24, ) xsi.FreezeObj(, , ) xsi.CreatePrim(Cube, MeshSurface, , ) xsi.SetValue(cube.cube.length, 9, ) xsi.ApplyTopoOp(TriangulatePolygons, cube, siUnspecified, siPersistentOperation, ) xsi.FreezeObj(, , ) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.AddICECompoundNode(compoundPath+\\initPMVC.xsicompound, sphere.polymsh.ICETree) xsi.ConnectICENodes(sphere.polymsh.ICETree.port1, sphere.polymsh.ICETree.initPMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree) xsi.SetValue(sphere.polymsh.ICETree.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree.initPMVC.cage, sphere.polymsh.ICETree.SceneReferenceNode.outname) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.MoveOperatorAfter(sphere.polymsh, sphere.polymsh.ICETree1, sphere.polymsh.shapemarker) xsi.AddICECompoundNode(compoundPath+\\PMVC.xsicompound, sphere.polymsh.ICETree1) xsi.ConnectICENodes(sphere.polymsh.ICETree1.port1, sphere.polymsh.ICETree1.PMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree1) xsi.SetValue(sphere.polymsh.ICETree1.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree1.PMVC.cage, sphere.polymsh.ICETree1.SceneReferenceNode.outname) On 17 December 2013 15:37, Alok Gandhi alok.gandhi2...@gmail.com wrote: Will check that out, thanks Ahmidou! On Tue, Dec 17, 2013 at 6:28 PM, Ahmidou Lyazidi ahmidou@gmail.com wrote: Here is a new cage defomer based on this paper: http://www.wisdom.weizmann.ac.il/~ylipman/pmvc/pmvc.htm The result is very close the Harmonic coordinates deformation done by Pixar, but faster to compute, it's also better deformation than the Softimage factory one. To use it, just connect the initPMVC compound in the modeling region, and the PMVC one in the animation region, both on the deformed object. The cage must be triangulated! .. but once your happy with the deformation the initPMVC compound may be frozen , and then cage can be quadrangulated. The only limitation is that all the point of the deformee must be inside the cage. http://www.si-community.com/community/viewtopic.php?f=19t=4683 Cheers --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com --
Re: A new cage deformer
Not sure, I'll try again tomorrow morning.. if anyone else on the list is testing it, let me know if it works for you. thanks again for sharing, that might be a nice addition to my tool set ! On 17 December 2013 17:32, Ahmidou.xsi ahmidou@gmail.com wrote: I'm not in front on my computer, but what kind of error did you got? Le 18 déc. 2013 à 11:52, Jeremie Passerin gerem@gmail.com a écrit : Nice job Ahmidou ! Looks pretty straight forward but I wasn't able to make it work yet. :D I got an error on the phi distribution on Sphere... I might be doing something wrong. I'm using XSI 2013, could that be it ? Here is what I've done # python xsi = Application # Your path here ! compoundPath = source\\source\\dev\\passerin\\blurdev\\workgroups\\xsi_blurdev\\data\\Compounds xsi.CreatePrim(Sphere, MeshSurface, , ) xsi.SetValue(sphere.polymsh.geom.subdivu, 24, ) xsi.SetValue(sphere.polymsh.geom.subdivv, 24, ) xsi.FreezeObj(, , ) xsi.CreatePrim(Cube, MeshSurface, , ) xsi.SetValue(cube.cube.length, 9, ) xsi.ApplyTopoOp(TriangulatePolygons, cube, siUnspecified, siPersistentOperation, ) xsi.FreezeObj(, , ) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.AddICECompoundNode(compoundPath+\\initPMVC.xsicompound, sphere.polymsh.ICETree) xsi.ConnectICENodes(sphere.polymsh.ICETree.port1, sphere.polymsh.ICETree.initPMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree) xsi.SetValue(sphere.polymsh.ICETree.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree.initPMVC.cage, sphere.polymsh.ICETree.SceneReferenceNode.outname) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.MoveOperatorAfter(sphere.polymsh, sphere.polymsh.ICETree1, sphere.polymsh.shapemarker) xsi.AddICECompoundNode(compoundPath+\\PMVC.xsicompound, sphere.polymsh.ICETree1) xsi.ConnectICENodes(sphere.polymsh.ICETree1.port1, sphere.polymsh.ICETree1.PMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree1) xsi.SetValue(sphere.polymsh.ICETree1.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree1.PMVC.cage, sphere.polymsh.ICETree1.SceneReferenceNode.outname) On 17 December 2013 15:37, Alok Gandhi alok.gandhi2...@gmail.com wrote: Will check that out, thanks Ahmidou! On Tue, Dec 17, 2013 at 6:28 PM, Ahmidou Lyazidi ahmidou@gmail.comwrote: Here is a new cage defomer based on this paper: http://www.wisdom.weizmann.ac.il/~ylipman/pmvc/pmvc.htm The result is very close the Harmonic coordinates deformation done by Pixar, but faster to compute, it's also better deformation than the Softimage factory one. To use it, just connect the initPMVC compound in the modeling region, and the PMVC one in the animation region, both on the deformed object. The cage must be triangulated! .. but once your happy with the deformation the initPMVC compound may be frozen , and then cage can be quadrangulated. The only limitation is that all the point of the deformee must be inside the cage. http://www.si-community.com/community/viewtopic.php?f=19t=4683 Cheers --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com --
Re: A new cage deformer
Hi Ahmidou, I am getting the same error as Jeremie. From what I concur, the phi distribution on sphere node furnishes an array of position which is plugged into the direction of the a raycast node. The direction can be either a single vector or vector per point of the deformee while you are are supplying an array of vector, thereby causing incompatible types error. I did not have time to compare your implementation with the paper to further debug this, but this can give you an direction to further solve this issue. Either that or we are not setting up in the tree in the correct way. On Tue, Dec 17, 2013 at 9:09 PM, Jeremie Passerin gerem@gmail.comwrote: Not sure, I'll try again tomorrow morning.. if anyone else on the list is testing it, let me know if it works for you. thanks again for sharing, that might be a nice addition to my tool set ! On 17 December 2013 17:32, Ahmidou.xsi ahmidou@gmail.com wrote: I'm not in front on my computer, but what kind of error did you got? Le 18 déc. 2013 à 11:52, Jeremie Passerin gerem@gmail.com a écrit : Nice job Ahmidou ! Looks pretty straight forward but I wasn't able to make it work yet. :D I got an error on the phi distribution on Sphere... I might be doing something wrong. I'm using XSI 2013, could that be it ? Here is what I've done # python xsi = Application # Your path here ! compoundPath = source\\source\\dev\\passerin\\blurdev\\workgroups\\xsi_blurdev\\data\\Compounds xsi.CreatePrim(Sphere, MeshSurface, , ) xsi.SetValue(sphere.polymsh.geom.subdivu, 24, ) xsi.SetValue(sphere.polymsh.geom.subdivv, 24, ) xsi.FreezeObj(, , ) xsi.CreatePrim(Cube, MeshSurface, , ) xsi.SetValue(cube.cube.length, 9, ) xsi.ApplyTopoOp(TriangulatePolygons, cube, siUnspecified, siPersistentOperation, ) xsi.FreezeObj(, , ) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.AddICECompoundNode(compoundPath+\\initPMVC.xsicompound, sphere.polymsh.ICETree) xsi.ConnectICENodes(sphere.polymsh.ICETree.port1, sphere.polymsh.ICETree.initPMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree) xsi.SetValue(sphere.polymsh.ICETree.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree.initPMVC.cage, sphere.polymsh.ICETree.SceneReferenceNode.outname) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.MoveOperatorAfter(sphere.polymsh, sphere.polymsh.ICETree1, sphere.polymsh.shapemarker) xsi.AddICECompoundNode(compoundPath+\\PMVC.xsicompound, sphere.polymsh.ICETree1) xsi.ConnectICENodes(sphere.polymsh.ICETree1.port1, sphere.polymsh.ICETree1.PMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree1) xsi.SetValue(sphere.polymsh.ICETree1.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree1.PMVC.cage, sphere.polymsh.ICETree1.SceneReferenceNode.outname) On 17 December 2013 15:37, Alok Gandhi alok.gandhi2...@gmail.com wrote: Will check that out, thanks Ahmidou! On Tue, Dec 17, 2013 at 6:28 PM, Ahmidou Lyazidi ahmidou@gmail.comwrote: Here is a new cage defomer based on this paper: http://www.wisdom.weizmann.ac.il/~ylipman/pmvc/pmvc.htm The result is very close the Harmonic coordinates deformation done by Pixar, but faster to compute, it's also better deformation than the Softimage factory one. To use it, just connect the initPMVC compound in the modeling region, and the PMVC one in the animation region, both on the deformed object. The cage must be triangulated! .. but once your happy with the deformation the initPMVC compound may be frozen , and then cage can be quadrangulated. The only limitation is that all the point of the deformee must be inside the cage. http://www.si-community.com/community/viewtopic.php?f=19t=4683 Cheers --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com -- --
Re: A new cage deformer
Well, that is weird as it's working fine on my side, but it has been done in 2014. I'm boarding for a 24h flight, I'll have plenty of time to check what's going on. Unfortunatly I don't have 2013 with me... In the worst case I have a scripted version for the init part, it's just less pratical as ICE attributes are locked when in use. Cheers Le 18 déc. 2013 à 15:34, Alok Gandhi alok.gandhi2...@gmail.com a écrit : Hi Ahmidou, I am getting the same error as Jeremie. From what I concur, the phi distribution on sphere node furnishes an array of position which is plugged into the direction of the a raycast node. The direction can be either a single vector or vector per point of the deformee while you are are supplying an array of vector, thereby causing incompatible types error. I did not have time to compare your implementation with the paper to further debug this, but this can give you an direction to further solve this issue. Either that or we are not setting up in the tree in the correct way. On Tue, Dec 17, 2013 at 9:09 PM, Jeremie Passerin gerem@gmail.com wrote: Not sure, I'll try again tomorrow morning.. if anyone else on the list is testing it, let me know if it works for you. thanks again for sharing, that might be a nice addition to my tool set ! On 17 December 2013 17:32, Ahmidou.xsi ahmidou@gmail.com wrote: I'm not in front on my computer, but what kind of error did you got? Le 18 déc. 2013 à 11:52, Jeremie Passerin gerem@gmail.com a écrit : Nice job Ahmidou ! Looks pretty straight forward but I wasn't able to make it work yet. :D I got an error on the phi distribution on Sphere... I might be doing something wrong. I'm using XSI 2013, could that be it ? Here is what I've done # python xsi = Application # Your path here ! compoundPath = source\\source\\dev\\passerin\\blurdev\\workgroups\\xsi_blurdev\\data\\Compounds xsi.CreatePrim(Sphere, MeshSurface, , ) xsi.SetValue(sphere.polymsh.geom.subdivu, 24, ) xsi.SetValue(sphere.polymsh.geom.subdivv, 24, ) xsi.FreezeObj(, , ) xsi.CreatePrim(Cube, MeshSurface, , ) xsi.SetValue(cube.cube.length, 9, ) xsi.ApplyTopoOp(TriangulatePolygons, cube, siUnspecified, siPersistentOperation, ) xsi.FreezeObj(, , ) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.AddICECompoundNode(compoundPath+\\initPMVC.xsicompound, sphere.polymsh.ICETree) xsi.ConnectICENodes(sphere.polymsh.ICETree.port1, sphere.polymsh.ICETree.initPMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree) xsi.SetValue(sphere.polymsh.ICETree.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree.initPMVC.cage, sphere.polymsh.ICETree.SceneReferenceNode.outname) xsi.SelectObj(sphere, , True) xsi.ApplyOp(ICETree, sphere, siNode, , , 0) xsi.MoveOperatorAfter(sphere.polymsh, sphere.polymsh.ICETree1, sphere.polymsh.shapemarker) xsi.AddICECompoundNode(compoundPath+\\PMVC.xsicompound, sphere.polymsh.ICETree1) xsi.ConnectICENodes(sphere.polymsh.ICETree1.port1, sphere.polymsh.ICETree1.PMVC.Execute) xsi.SelectObj(cube, , ) xsi.AddICENode(GetDataNode, sphere.polymsh.ICETree1) xsi.SetValue(sphere.polymsh.ICETree1.SceneReferenceNode.reference, cube, ) xsi.ConnectICENodes(sphere.polymsh.ICETree1.PMVC.cage, sphere.polymsh.ICETree1.SceneReferenceNode.outname) On 17 December 2013 15:37, Alok Gandhi alok.gandhi2...@gmail.com wrote: Will check that out, thanks Ahmidou! On Tue, Dec 17, 2013 at 6:28 PM, Ahmidou Lyazidi ahmidou@gmail.com wrote: Here is a new cage defomer based on this paper: http://www.wisdom.weizmann.ac.il/~ylipman/pmvc/pmvc.htm The result is very close the Harmonic coordinates deformation done by Pixar, but faster to compute, it's also better deformation than the Softimage factory one. To use it, just connect the initPMVC compound in the modeling region, and the PMVC one in the animation region, both on the deformed object. The cage must be triangulated! .. but once your happy with the deformation the initPMVC compound may be frozen , and then cage can be quadrangulated. The only limitation is that all the point of the deformee must be inside the cage. http://www.si-community.com/community/viewtopic.php?f=19t=4683 Cheers --- Ahmidou Lyazidi Director | TD | CG artist http://vimeo.com/ahmidou/videos http://www.cappuccino-films.com -- --