Re: [Fwd: Fwd: How do we achieve this in XSI?]

Date : Fri, 3 Mar 2006 12:44:55 +1100
To : XSI(at)Softimage.COM
From : "Aloys Baillet" <aloys.baillet(at)gmail.com>
Subject : Re: [Fwd: Fwd: How do we achieve this in XSI?]
Just a small update thanks to Adrain: in order to make this script work you must not be in Modelling mode just add this line at the begin of the script:
SetValue("Context.constructionmode", 2, null);

Cheers,

Aloys

On 3/3/06, Aloys Baillet <aloys.baillet@gmail.com> wrote:
Hi Adrian,

You can really easily achieve that effet with the PushOp connected to a ProximityMap in Caching enabled, and in Keep Maximum mode (in order to "write" on the weightmap).
Here's the script that will build this for you:


CreatePrim("Grid", "MeshSurface", null, null);
SetValue("grid.grid.ulength", 16, null);
SetValue("grid.grid.vlength", 16, null);
SetValue("grid.polymsh.geom.subdivu ", 64, null);
SetValue("grid.polymsh.geom.subdivv", 64, null);
GetPrim("Null", null, null, null);
Translate(null, 0, 0, 10, siRelative, siLocal, siObj, siXYZ, null, null, null, null, null, null, null, null, null, 0);
SaveKey("null.kine.local.posx,null.kine.local.posy,null.kine.local.posz", 1, null, null);
SetValue("PlayControl.Out", 40, null);
SetValue("PlayControl.Current", 40, null);
Translate(null, 0, 0, -10, siRelative, siLocal, siObj, siXYZ, null, null, null, null, null, null, null, null, null, 0);
SaveKey("null.kine.local.posx,null.kine.local.posy,null.kine.local.posz", 40, null, null);
SetValue("PlayControl.Key", 1, null);
SetValue("PlayControl.Current", 1, null);
SelectObj("grid", null, true);
SetDisplayMode("Camera", "shaded");
lmWeightMapTools_lmProximityMapApplyCmd();
SetValue("grid.polymsh.cls.WeightMapCls.ProximityWeightMap_ProximityMap.Far", 2, null);
SetValue(" grid.polymsh.cls.WeightMapCls.ProximityWeightMap_ProximityMap.OpMode", 2, null);
SetValue("grid.polymsh.cls.WeightMapCls.ProximityWeightMap_ProximityMap.ProcessingMode", 1, null);
SelectObj("null", null, true);
lmWeightMapTools_lmProximityMapAddConnexionCmd("grid.polymsh.cls.WeightMapCls.ProximityWeightMap_ProximityMap", "null");
SelectObj("grid", null, null);
ApplyOp("Push", "grid", 3, siPersistentOperation, null, 0);
ConnectOperatorParameter("grid.polymsh.pushop.ampl", "grid.polymsh.cls.WeightMapCls.ProximityWeightMap");
SetValue("grid.polymsh.pushop.ampl", 0.5, null);
PlayForwardsFromStart();


One important thing is that if you inspect the operator stack of the grid, you'll see the lmProximityMapOp output port underneith the PushOp: this output port doens't output anything, it just allows you to tell the operator where to read the geometry from in order to compute the proximity map. If you move it on top of the PushOp you'll create a cycle and nothing will work anymore!

Hope this helps,

Aloys


On 3/3/06, Adrian L <liquidlight@cwjamaica.com> wrote:

Thank you very much Luc,  I think this is just what we need!     Am I right in thinking that we can achieve our "poke" effect by combining the proximitymap tool with a null and a push operator?  Cant wait to try it out.

 

Thanks again.

 

Adrian L.

 

 




--
Aloys Baillet - XSI Technical Director
Character Dpt - Animal Logic
--



--
Aloys Baillet - XSI Technical Director
Character Dpt - Animal Logic
--

Search the XSI List archives here or use the advanced search form to search across mailing lists. Searching help is available.
This site supposedly brought to you by Benjamin Grosser and the Imaging Technology Group.