I'm having a hard time wrapping my head around affecting self.PointPosition such that I can rotate and scale arbitrary polygons as if I were working in Local mode.
I believe perhaps self.PolygonRefFrame would be the key but getting it in the proper context is proving tricky so far.
Milan Vasek 3d artist http://www.milanvasek.com From: softimage-boun...@listproc.autodesk.com To: "Softimage Mailing List" softim...@listproc.autodesk.com Cc: Date: Tue, 07 Feb 2012 09:04:51 -0500 Subject: How to rotate and scale individual polygons in their local space with ICE?
> I'm having a hard time wrapping my head around affecting > self.PointPosition such that I can rotate and scale arbitrary polygons > as if I were working in Local mode.
> I believe perhaps self.PolygonRefFrame would be the key but getting it > in the proper context is proving tricky so far.
> From: softimage-boun...@listproc.autodesk.com > To: "Softimage Mailing List" softim...@listproc.autodesk.com > Cc: > Date: Tue, 07 Feb 2012 09:04:51 -0500 > Subject: How to rotate and scale individual polygons in their local > space with ICE?
> > Hey guys,
> > I'm having a hard time wrapping my head around affecting > > self.PointPosition such that I can rotate and scale arbitrary polygons > > as if I were working in Local mode.
> > I believe perhaps self.PolygonRefFrame would be the key but getting it > > in the proper context is proving tricky so far.
> > Anyone done this before? Any tips? > > Cheers,
I built something like this yesterday. However, I didn't use particles as I did all the transforms directly on the polygons. It's fairly simple actually:
SCALING: Draw a vector from the vertex to its polygon. Multiply this vector by some scalar value and add the original point position to the result. Set the new point position.
ROTATION: Draw a vector from the polygon to its vertices. Rotate the vector and add the original polygon position to the result. Set the new point position.
On Tue, Feb 7, 2012 at 3:04 PM, Alan Fregtman <alan.fregt...@modusfx.com>wrote:
> I'm having a hard time wrapping my head around affecting > self.PointPosition such that I can rotate and scale arbitrary polygons as > if I were working in Local mode.
> I believe perhaps self.PolygonRefFrame would be the key but getting it in > the proper context is proving tricky so far.
It's not so complicated and with the current ICE implementation you dont need particles at all.
Create an array with a matrix per polygon (using PolygonPosition and PolygonNormal), filter the matrices to their corresponding vertex (using a VertexToPolygon Array and the Select in Array node), multiply the pointposition by the inverse of that matrix, do the rotation (or whatever transformation you need), multiply again by the matrix itself and set pointposition.
Hope this help... and excuse my english :) Regards
On Tue, Feb 7, 2012 at 4:08 PM, Christian Gotzinger <cgo...@googlemail.com>wrote:
> I built something like this yesterday. However, I didn't use particles as > I did all the transforms directly on the polygons. It's fairly simple > actually:
> SCALING: > Draw a vector from the vertex to its polygon. Multiply this vector by some > scalar value and add the original point position to the result. Set the new > point position.
> ROTATION: > Draw a vector from the polygon to its vertices. Rotate the vector and add > the original polygon position to the result. Set the new point position.
> On Tue, Feb 7, 2012 at 3:04 PM, Alan Fregtman <alan.fregt...@modusfx.com>wrote:
>> Hey guys,
>> I'm having a hard time wrapping my head around affecting >> self.PointPosition such that I can rotate and scale arbitrary polygons as >> if I were working in Local mode.
>> I believe perhaps self.PolygonRefFrame would be the key but getting it in >> the proper context is proving tricky so far.