Re: A new cage deformer

2014-01-02 Thread Ahmidou Lyazidi
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

2014-01-02 Thread Jeremie Passerin
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

2014-01-02 Thread Ahmidou Lyazidi
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

2014-01-02 Thread Jeremie Passerin
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

2014-01-02 Thread Jeremie Passerin
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

2013-12-28 Thread Ahmidou.xsi
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

2013-12-28 Thread Ahmidou.xsi
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

2013-12-18 Thread Andreas Böinghoff

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

2013-12-18 Thread 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.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

2013-12-17 Thread Ahmidou Lyazidi
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

2013-12-17 Thread Alok Gandhi
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

2013-12-17 Thread Ahmidou.xsi
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

2013-12-17 Thread Jeremie Passerin
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

2013-12-17 Thread Alok Gandhi
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

2013-12-17 Thread Ahmidou.xsi
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
 
 
 
 -- 
 
 
 
 
 --