gH]kDwP&trueSpaceBeta 7.61[VS_O93YJClinton Reese, Clintons 3d Creations`d8pM*#ͺOD$PNG  IHDR`ZIDATx1 0@1B>2z*Xyq]` 5kX` 5kX` 5kX` 5kX` 5kX` 5kX` 5kX` 5kX` 5kX` 5kX` 5kX` 5k hpIENDB`/tfѭ8Lwb"q܂dKu=gG>install Cloth Conversion Panel& .;]kI 忞@.;]kI 忞@"SubObject*Encapsulated objects"g'JNjn*p" zFAa| zFAa|DhelpText\vRm)EC!avRm)EC!aD leftClickScript\1V {E!Y1V {E!YD name\!K0}q!K0}qD"rightClickScript\-1OSM n-1OSM n"LayoutLayout 럆L<_ї"1V {E!YsayHello!K0}q2System.Alert("goodbye");(XFҦV>g'JNjn*pFDDr@@P@C?vRm)EC!a<System.Alert("hello there!");-1OSM n 럆L<_ї%DefaultOˁ CRih[  h }}LActivity.Run('%THIS_NAME%' + "/doIt")8install buttons and scriptsZ`Ez]UO}} zFAa|say helloDy l2 &`._E#ބ6LCustomFrame(0d .;]kI 忞@"Hbd-MD'zZt>-MD'zZRectangle"Screen Rectangle THj6F 2s*RÒGbDeC tRÒGbDeC  WidthWindow width [FB%n*jt[FB%n*jHeightWindow height  [GDJM [GDJMMin Width$Min. Window width%]GJ7ψ%]GJ7ψMin Height&Min. Window height^^Dy^^DyMax Width$Max. Window widthv43N tv43N tMax Height&Max. Window height~൱D@ j#^c~൱D@ j#^cMaximized(Window Is Maximized 9@'s9@'sRootNodeRootNode{Q !aOt {Q !aOt  TitleTitle Text6*Mv46*Mv4View Index$View window indexf$I `7f$I `7Frame TypeFrame Typej^G@!,j^G@!,"ViewersViewers array 2bOdA)f "I)LL !I)LL ! Def1D Default 1D GUID8M0cry8M0cry Def2D Default 2D GUIDF L$3F L$3 Def3D Default 3D GUIDobFFJL}obFFJL}SnappedTo$Snapped To WindowBXPjKɸtEBXPjKɸtE SnappedToTarget@Snapped To Window Target CornerkJHx(V@WkJHx(V@W SnappedToSource@Snapped To Window Source CornerKTLA7~fKTLA7~f"SnappedToOffsetX6Snapped To Window Offset XK8Y8O#=gtMK8Y8O#=gtM"SnappedToOffsetY6Snapped To Window Offset Ymk~_Lb.mk~_Lb.SnappedToWidth0Snapped To Window Width|7EId |7EId  SnappedToHeight2Snapped To Window HeightKXtO LKXtO L,StartSnappedToOffsetXBStart Snapped To Window Offset XVG))jHETVG))jHET,StartSnappedToOffsetYBStart Snapped To Window Offset Y?V{N7l?V{N7lSnappedToRatio,Snapped To Ratio Mode 86*n^HD9t 86*n^HD9t OwnedByOwned By|_ D|_ DTabsAsButtons Tabs As Buttons _N>G1_N>G1HiddenHidden Flag \q^2FII3w\q^2FII3wPreference,View Preference Panel >=жaMpT>=жaMpT&HideDockedTitlebarJHide Title bar when window is docked N'D)L-N'D)L-MinimizedBHJWindow Is Minimized into Blue Handle ϕ`&FSx9wϕ`&FSx9wSizeLockPrevent horizontal and/or vertical size change. 0x01 - horizontal, 0x02 - vertical˽OS˽OSDispTitleText,Display Titlebar Text Ī8mݧC>!7Ī8mݧC>!7SmallerTabs*Display smaller Tabs (XFҦV"&|_ DkJHx(V@WBXPjKɸtEmk~_Lb.8M0cryN{485B725E-A69D-4AD5-A876-B3BBA72D2C0A}[FB%n*j\q^2FII3wK8Y8O#=gtM6*Mv4 [GDJMRÒGbDeC 1f$I `7{Q !aOt Ī8mݧC>!7obFFJL}I)LL !v43N t (XFҦV>g'JNjn*pFBCX@1@?^^Dy_N>G19@'s*O΢C}N{5FDDFE6E-518F-464A-B4B9-8D24B556E36C}˽OS-pϗO 0)mz!OHwc ϕ`&FSx9w>=жaMpTF L$3j^G@!,2bOdA)f 6^r[HJv-, ^r[HJv-, %]GJ7ψ>-MD'zZKXtO L?V{N7l VG))jHET~൱D@ j#^cN'D)L-86*n^HD9t |7EId KTLA7~f^r[HJv-, Toolbar.;]kI 忞@"Hbd4W}@O{$n_<&KES Qn_<&KES Q NameItem nameo(K ]p do(K ]p dHelpTextHelp text8Cechg8Cechg RowsToolbar RowsNL {NL {$Dimension$Toolbar dimension$Z_IFL!OSZ_IFL!OSHorizontal Horizontal Flag .S)A2UЍc.S)A2UЍcIsSubToolbar$IsSubToolbar Flag =JM@hM Q3=JM@hM Q3IsImportant2IsImportant Toolbar Flag .UuwO e.UuwO eIDToolbar ID'0#ԪC'X/9}'0#ԪC'X/9}$ IndexItem Index$_N>G1JdWJc~JdWJc~PrototypePrototype name<9BH@b\<9BH@b\IsMinimizedPTrue/False flag if toolbar is minimized m O1Wwm O1Ww$IsAspectT(Aspect Toolbar Flag $(XFҦV".UuwO e'0#ԪC'X/9}m O1Ww=JM@hM Q3 (XFҦV>g'JNjn*pFBCb@ f@?_N>G1Z_IFL!OS NL {JdWJc~8Cechg.S)A2UЍc n_<&KES Qo(K ]p d<9BH@b\ R/$ķKniaW,clothConversionButton'0#ԪC'X/9}]8teO?s]8teO?s"MaxItemTxtHeight.Maximal item text size% sH?DC sH?DCTagTag%IlfāA>ˁwIlfāA>ˁwTagAliasTag Alias%/ru|GF0/ru|GF0AgentIDUpdate agentID(XFҦVLE2Data, 1"-1OSM n".;]kI 忞@"8NH4W}@O{$n_<&KES Qo(K ]p dQm6l3Ll/V^Qm6l3Ll/V^CommandAction commandN="QEj%:N="QEj%:RClickCommand,RClick Action Command$ܿORE bi$ܿORE biPreview2D8Item preview 2D resource id*S]?G[~x;*S]?G[~x;Preview3D8Item preview 3D resource idSr)B8Sr)B8Package"Package class idDNOQsP'ѭDNOQsP'ѭBitmap.Item preview 3D bitmap eSBgciDsL[wiDsL[wRadio Group(Radio buttons group4E*4E*ControlID2D&User Control ID 2Dh>ǑJ]@<h>ǑJ]@<ControlID3D&User Control ID 3D+fyOA7XC+fyOA7XC MaxItemBmpWidth2Maximal item bitmap sizeTl@fC.^&GZTl@fC.^&GZ"MaxItemBmpHeight2Maximal item bitmap sizeh0OY~ C h0OY~ C  MaxItemTxtWidth.Maximal item text size%?Aυ D)7t?Aυ D)7tGrayPercentxGray icon about specified percents if it is not highlighted][D+Iv(][D+Iv( MenuAct As Menu 8{Nm(!8{Nm(!IsMenuButtonIs Menu Button ko6ǑJ]@<N{2BBC850E-6EEF-4364-9265-A4A606AE464B}N="QEj%:$ܿORE bi//ru|GF0N{00000000-0000-0000-0000-000000000000}+fyOA7XC(XFҦV>g'JNjn*pFC`b@v@p8B?8{Nm(!][D+Iv(ko6ˁw?Aυ D)7tUTl@fC.^&GZo(K ]p d8open cloth conversion panel]8teO?s.;]kI 忞@Sr)B8-1OSM n 럆L<_ї0DNOQsP'ѭeSBgc C:\Documents and Settings\Clinton\My Documents\My Pictures\clothIcon.bmpCkDZ[K xViOWMJ"F&mlRqAi4.:";l ,lV\"TaaedmQbTCs߁ZkZN}}<<Ͻ3fJ`.Z Va/a"Pү< RUA}} T5&JByTۊ6$ֶ#Nks+n.+[M .$!wu"Ass}9 ŇS' HmAN(/CK}PrLm5I-NĜrӗ6'`~W7Fo# zl<vGT #cΛޟI5CM32&9pY"N8Vj\{9XYlW&ŴAo*@jV.bMٜRdžqMM;bϵbWe3\P4`K=wTu| aKV3Dӫ)ym[LbNMZ. cAKab5$* vl;DMNu;ج2"|*.]Og'JNjn*pceZU@䑧rceZU@䑧r$_scriptData*Internal Script data [җJs@ %hP4W}@O{$(XFҦVLE2Data, 1#J@#QLJ@#QLLE2Data$LE2 Data for node >g'JNjn*pLE2Data, 3MT^RwL~YYTMT^RwL~YYTޢLE2Data$LE2 Data for node >g'JNjn*pLE2Data, 22|=Bynj2|=Bynj Control OutTransitionOutz@Hoz@Ho Control InTransitionIn 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ 6NewCommand // Execute // Called to execute the command function Execute(params) { // TODO: put your action code here owner = System.ThisOwner(); button1 = "clothConversionButton"; theScript = "clothConversionScript"; // if(Node.Exists("/Project/Windows Manager Space/CustomFrame/Toolbar/" + button1)) { replaceLeft = System.Question(button1 + " button already exists in the toolbar. Would you like to replace it?"); if(replaceLeft) Node.Delete("/Project/Windows Manager Space/CustomFrame/Toolbar/" + button1); else return; } //check for and create customframe if(!Node.Exists("/Project/Windows Manager Space/CustomFrame")) Node.Copy(owner + "/CustomFrame","/Project/Windows Manager Space"); //copy buttons to custom frame oldButt = Node.Copy(owner + "/" + button1,"/Project/Windows Manager Space/CustomFrame/Toolbar"); //copy script to custom commands //create CustomCommands if(!Node.Exists("/Scripts/CustomCommands")) { temp = Node.Create("Kernel Package/Object","/Scripts"); custcom = Node.Rename(temp,"CustomCommands"); } if(Node.Exists("/Scripts/CustomCommands/" + theScript)) { replaceLeft = System.Question(theScript + " script already exists. Would you like to replace it?"); if(replaceLeft) Node.Delete("/Scripts/CustomCommands/" + theScript); else return; } Node.Copy(owner + "/" + theScript,"/Scripts/CustomCommands"); //activate it WindowsManager.Activate(); WindowsManager.UpdateWindowsStructure(); //reset the toolbar //1D Aspect WindowsManager.SetWindowAspect('/Project/Windows Manager Space/CustomFrame', 1); //2D Aspect WindowsManager.SetWindowAspect('/Project/Windows Manager Space/CustomFrame', 2); } NScript Object Package/jScript language~൱D #^c4W}@O{(XFҦV>g'JNjn*pn7C`b@H@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ Ca8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0 Ca:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho܂dKu=\L,clothConversionScripthH.;]kI 忞@"T$t 4W}@O{$(XFҦV"ix5#FHh^fbx5#FHh^fbDendTimeTz pV$8#B) Bi_̦$B) Bi_̦$DstepFramesT j U$ugSB"H:gSB"H:DdistanceT@Z /-1OSM n"gSB"H:@x5#FHh^fb@(XFҦV>g'JNjn*pFCab@ `@-8?-1OSM n 럆L<_їDefault Notes  GFʠN=P1 }}gSB"H:Z`Ez]UO1釥GP>aP0 }}gSB"H:Z`Ez]UO GFʠN=P 1 }}x5#FHh^fbZ`Ez]UO1釥GP>aP 0 }}x5#FHh^fbZ`Ez]UO GFʠN= P01 }}B) Bi_̦$Z`Ez]UO1釥GP>aP 00 }}B) Bi_̦$Z`Ez]UOOˁ CRih[0P}}rActivity.Run("%THIS_NAME%" + "/cloth2morph/startHere"); Make MorphZ`Ez]UOOˁ CRih[Pp}}tActivity.Run("%THIS_NAME%" + "/cloth2vertex/startHere"); Make VertexZ`Ez]UO GFʠN=($4s}}R1. Run cloth physics to find the run time. Place this value in the endTime field.Z`Ez]UO GFʠN=(P$4j}}I2. Step frames is the number of frames to skip between morph/vertex keys.Z`Ez]UO GFʠN=P$4}}^3. Distance is how far to offset the cloth copy so it does not interfere with the physics run.Z`Ez]UO GFʠN=$4z}}Y4. Select the cloth object and push the button(morph or vertex) to convert the animation.Z`Ez]UO GFʠN=$4}}5. One more step for vertex animation is to run the python script, modelCloth2vertexAnim.py in the model side script editor scene aspect.Z`Ez]UO}}}}B) Bi_̦$$@܂dKu=cloth2morph.;]kI 忞@"  l HttF(Ix}oLgcM4W}@O{$(XFҦV" j B) Bi_̦$TkB0Uz x5#FHh^fbTf-1OSM n"@Z gSB"H:Tkx5#FHh^fb@gSB"H:@(XFҦV>g'JNjn*pFXDCb@@\@B?-1OSM n 럆L<_їD GFʠN=P1 }}x5#FHh^fbZ`Ez]UO1釥GP>aP0 }}x5#FHh^fbZ`Ez]UO GFʠN=P 1 }}B) Bi_̦$Z`Ez]UO1釥GP>aP 0 }}B) Bi_̦$Z`Ez]UOOˁ CRih[ @}}ZActivity.Run("%THIS_NAME%" + "/startHere"); Copy ClothZ`Ez]UO GFʠN=@PP1 }}gSB"H:Z`Ez]UO1釥GP>aP@P0 }}gSB"H:Z`Ez]UO}}B) Bi_̦$$@48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand<// Execute // Called to execute the command function Execute(params) { var curTime = params.ConValue('curTime'); var timeStep = params.ConValue('timeStep'); var endTime = params.ConValue('endTime'); var testTime = params.ConValue('testTime'); params.ConValue("done2") = 0; params.ConValue("done") = 0; params.ConValue("loop") = 0; // if(curTime>=endTime) { params.ConValue("done2") = 1; return; } if(curTime>=testTime) { testTime = testTime + timeStep; params.ConValue('testTime') = testTime; params.ConValue("done") = 1; return; } if(curTime < testTime) { params.ConValue("loop") = 1; } } NScript Object Package/jScript language4numbercurTimed XAܪEtWonumbertimeStep+bK nl|'}numberendTimex5#FHh^fbint loopE/F-int done<%NE|z 'numbertestTime 5Q@r)int done2aurI=(P$3xaurI=(P$3x4W}@O{d XAܪEtWo!"@(XFҦV>g'JNjn*pniDCb@ b@2|=Bynj|?z@Hoۙ>? 5Q@r)?+bK nl|'}UUUUUU?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UO<%NE|z 'MT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@HoE/F-48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand// Execute // Called to execute the command function Execute(params) { // TODO: put your action code here curTime = Node.Value(Space.CurrentScene() + "/PhysEngine", "Current Time"); params.ConValue("physTime") = curTime; } NScript Object Package/jScript language~൱D#^cnumberphysTime iECBZN?4W}@O{(XFҦV>g'JNjn*pngDBb@@P@2|=Bynj|?z@Hoۙ>? iECBZN?!"@J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho48@J 9qL5>9DorigSelDp2|=Bynj@@Hz@Ho 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand// Execute // Called to execute the command function Execute(params) { var origSel = params.ConValue('origSel'); // TODO: put your action code here //System.Trace("totally done"); Physics.init_PhysSim();//stop physics //sel = Node.FirstSelected(); Node.Disconnect(origSel, "Mesh", Space.CurrentScene() + "/targetMesh", "Input Mesh"); Widgets.ActivateDefaultWidget();//exit PE mode morph if(Node.Exists("Status Line")) Node.Value("Status Line","Model") = "Done processing"; } NScript Object Package/jScript languageP 5P 0stringorigSelqL5>94W}@O{(XFҦV>g'JNjn*pn DCb@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOqL5>98/Project/clothDemo, 1/PlaneMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho܂dKu=zttransformNode 8F.;]kI 忞@"`YH@vfc F4W}@O{$ G?ŋ G?ŋ tSObjLtrueSpace object synchronization data W5f@(䐈Z gki׊;Jf|ڢ׊;Jf|ڢBWldMatrixWorld matrix `^02eE{|@Z8Jn po ghli偢jD%~`8偢jD%~`8BObjMatrix Object's matrix `^02eE{|@ZkWAGWAGOwnerMatrixOwner's matrix `^02eE{|@hExk<ĠF姁J]<ĠF姁J]DMatrix,Object's input matrix `^02eE{|@\D$1&KߊPV$1&KߊPV$AutoShowPanelAutoShowPanel$0 -V?XM%-V?XM%Material ListMaterial List +N⩊h(XFҦV"`n S $hKnPSVmS $hKnPSVm"RenderAttributes"RenderAttributes HEoq5v(&N -V?XM%S $hKnPSVm偢jD%~`8(XFҦV>g'JNjn*pF DPb@ d@?׊;Jf|ڢWAG`^02eE{|@B???? G?ŋg'JNjn*pFB BX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї0܂dKu=>jMaterial List.;]kI 忞@"i@vf4W}@O{$vf-V?XM%0 (XFҦV"-V?XM%(XFҦV>g'JNjn*pFBBX@1@?) 6G%m,Material List ManagerB -V?XM%Pvfhi&zB}J?t&zB}J?&Active material ID2Active material class IDB i4W}@O{$hi֮^e{J\.t֮^e{J\.Mat Chunk 0BDynamic material input connector |E8yB -V?XM%֮^e{J\.&zB}J?܂dKu=lMaterial 0.;]kI 忞@"4W}@O{$-gYأC۲+?gYأC۲+?Material ChunkMaterial Chunk |E8yhigYأC۲+?b=h0CRfk0Material Flavor ManagerFgYأC۲+?P-F!EJGWMt!EJGWMMaterial IndexMaterial IndexFp6~qK;2t&t6~qK;2t&Active Info4Active and validity flags NOI/)[&F4W}@O{$pgDmtgDmMat Item 0BDynamic material input connectorF!EJGWM6~qK;2t&NOI/)[&2/ChˢjCgYأC۲+?gDm~wC쇀Dk Solid f.F_P#T.F_P#Material Output material __W8E#(pP,Hn%⟀A}aJtn%⟀A}aJDiffuseColorDiffuseColor -n,Njlpgf,H>]zJ4 t>]zJ4 (VertexColorStrength(VertexColorStrengthfP-HJ.HE /*gtJ.HE /*gShininessShininessf-H8VnZN:W pt8VnZN:W p DiffuseStrength DiffuseStrengthfhll-#Ez k^tll-#Ez k^"SpecularStrength"SpecularStrengthfK#uiL$tK#uiL$AlphaTestAlphaTest :KrbSxf@,L?D}t,L?D}AlphaTestValueAlphaTestValuef4W}@O{$J.HE /*g?>]zJ4 n%⟀A}aJ-n,Njlpg????,L?D}.F_P#K#uiL$:KrbSxbDisabledEnabledAs OpaqueDisabledll-#Ez k^8VnZN:W p?vEwTݬDk Shapec tveDCE`"IWJPBXic VIQGіF͡TtVIQGіF͡TInput Mesh*Input Mesh for Shape >W5f@(䐈c c 4W}@O{$(XFҦV"(XFҦV>g'JNjn*pFBCX@1@?VIQGіF͡T>W5f@(䐈ٸ*ćIC7>>>>>>>>>>>> h* 6H?BJ 8{EE%D7[    y'HN LjUb)R 89Ig"?*??>@?*?@?>@?*?@?>?*??>?*??>>*?>>>*?>>*?>>>>??>>?>*????*?ZpߘHXO???tveDCE`"IWJqU F3fT2Object Render AttributeshlS $hKnPSVmP`n l8Ns2]t8Ns2] Surface Opacity Surface Opacityhl@mf^mګA~Ksi[t^mګA~Ksi[Points opacityPoints opacityhlmf(lrsGrt(lrsGrPoints Size>Point Size in Point rendering.hl@nf\Eh{5t\Eh{5Points ColorLColor of points during the rendering. -n,Njlpghlnf"PbEGDߗrt"PbEGDߗr0Ignore mesh point color0Ignore mesh point color hl@ofF?N dtF?N d.Ignore mesh point size.Ignore mesh point size hl8t]*qBCxt]*qBCxEdges opacityEdges opacityhlt\J:I%7ut\J:I%7uEdges ColorEdges Color -n,Njlpghl8tiA޲1rIK>XtiA޲1rIK>X0Ignore mesh edges color0Ignore mesh edges color hlt,ot"AaYt,ot"AaY$Show hidden lines`Do not use ZBuffer in point and wireframe modes hl8t^RI8ÿRt^RI8ÿRShow backfaceslEnable two-sided rendering when Color mode is enabled hlP çwH5#VtçwH5#V0Ignore layer attributesvDo not combine render attributes with layer defined values hl 4W}@O{%J@#QL-1OSM n#(XFҦV"W0@zdW0@zd%VersionVersion%%ȅ8vDCxZtȅ8vDCxZInvisibleInvisible flag hlH%F+2MGtF+2MGCast shadows$Cast shadows flag hlI2GWM:).$tI2GWM:).$ Receive shadows Receive shadows hl0mBޖw ptmBޖw pLayer index(Modeler layer indexhlo[nfFto[nfF Overlay opacity Overlay opacityhl0zgGFohN)tzgGFohN)Overlay ColorOverlay Color. -n,NjlpghlvhD zʔtvhD zʔ4Ignore mesh overlay color6Ignore mesh overlay color. hlȎtfB #^tfB #^$Transparency Mode@Quality of transparency solving :KrbSxhlHt|$}mK;)t|$}mK;) OverlayEnable*Enable color overlay  hlȏtrg@*oHtrg@*oH OverlayColor*Color of the overlay -n,Njlpg hlXk!eLZE^Nt!eLZE^N OverlayStrengthJStrength (visibility) of the overlay hlI2GWM:).$ zgGFohN)S $hKnPSVm]*qBCxvhD zʔrg@*oHçwH5#V 4W}@O{\Eh{5-n,Njlpg????\J:I%7u-n,Njlpg???fB #^:KrbSxv No Hidden FacesNo SortTriangle SortNo Sort(XFҦV>g'JNjn*pF@D Bk@ `@?F?N d 8Ns2]?ȅ8vDCxZ "PbEGDߗr F+2MG ^mګA~Ksi[(lrsGr?J@#QL>g'JNjn*pFCBb@ h@?W0@zdo[nfFmBޖw p,ot"AaY -1OSM n 럆L<_ї˓ DefaultAdvanced GFʠN=1 }}^RI8ÿRZ`Ez]UOͽ>fdN*5Ւh, }}^RI8ÿRϱZ`Ez]UO GFʠN= 1 }},ot"AaYZ`Ez]UOͽ>fdN*5Ւh , }},ot"AaYZ`Ez]UO GFʠN= 01 }}ȅ8vDCxZZ`Ez]UOͽ>fdN*5Ւh 0, }}ȅ8vDCxZZ`Ez]UO GFʠN=0@1 }}F+2MGZ`Ez]UOͽ>fdN*5Ւh0@, }}F+2MGZ`Ez]UO GFʠN=@P1 }}I2GWM:).$Z`Ez]UOͽ>fdN*5Ւh@P, }}I2GWM:).$Z`Ez]UO GFʠN=P`1 }}mBޖw pZ`Ez]UO1釥GP>aP`0 }}mBޖw pZ`Ez]UO GFʠN=0(@6 }}Color\J:I%7uZ`Ez]UO B>I(0h@%}}\J:I%7uZ`Ez]UO GFʠN=@(P8 }}Opacity]*qBCxZ`Ez]UON\q+nN-K^(@hPA\VV?]*qBCxZ`Ez]UOY@ GFʠN=h@P@ }}Enable Obj ModeçwH5#VZ`Ez]UOͽ>fdN*5Ւh@P, }}çwH5#VZ`Ez]UO GFʠN=h 6 }}Color\Eh{5Z`Ez]UO B>I %}}\Eh{5Z`Ez]UO GFʠN=h 08 }}Opacity^mګA~Ksi[Z`Ez]UON\q+nN-K^ 0A\VV?^mګA~Ksi[Z`Ez]UOY@ GFʠN=h0@5 }}Size(lrsGrZ`Ez]UON\q+nN-K^0@A\VV?$@(lrsGrZ`Ez]UOY@ GFʠN=( 8 }}Opacity8Ns2]Z`Ez]UON\q+nN-K^(h A\VV?8Ns2]Z`Ez]UOY@ GFʠN=h(}}SurfaceZ`Ez]UO GFʠN= h0&}}EdgesZ`Ez]UO GFʠN=h'}}PointsZ`Ez]UO GFʠN=Ph`1 }}fB #^Z`Ez]UOnevG4'hP`̆fB #^VNo hidden faces No solving Triangle sortZ`Ez]UO!eLZE^N|$}mK;)^RI8ÿR iA޲1rIK>X 48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand(// Execute // Called to execute the command function Execute(params) { var stepFrames = params.ConValue('stepFrames'); var distance = params.ConValue('distance'); dist2move = distance; // scene = Space.CurrentScene(); owner = System.ThisOwner(); sel = Node.FirstSelected(); //get selected node newNode1 = Node.Copy(sel, scene); // copy node newNode = Node.Rename(newNode1,"targetMesh"); params.ConValue("morphSel") = newNode; Widgets.Move(newNode, dist2move, dist2move, dist2move);//move node away so no interference with cloth //tn = Node.Copy(sel, scene); // copy node for transform //transNode = Node.Rename(tn,"transformMesh"); //Widgets.Move(transNode, dist2move, dist2move, dist2move);//move node away so no interference with cloth nt = Node.Copy(owner + "/transformNode", scene);// invisible node //nt = Node.Copy(scene + "/transformNode", scene); theMatrix = System.CreateDO("Math Package/Matrix Float Data"); theMatrix = Node.Value(sel, "WldMatrix"); Node.Value(nt,"Matrix") = theMatrix; params.ConValue("transformNode") = nt; Node.Value(owner + "/copy mesh","curFrame") = 1;//initialize transform animation if(Node.Exists(scene + "/targetMesh/PhysCloth")) { Node.Delete(scene + "/targetMesh/PhysCloth"); //delete physics from copy MeshModifiers.FlattenNodes(scene + "/targetMesh"); //flatten //Node.ConRemove(newNode, "Physics Attr");//cleanup } frameRateEnum = System.CreateDO('Common Data Package/String Enum Data'); frameRateEnum = Node.Value("Preferences/AnimPref","Frame Rate"); frameRateString = frameRateEnum.GetSelectedString(); if(frameRateString=="15 fps") frameRate = 15; if(frameRateString=="Film 24 fps") frameRate = 24; if(frameRateString=="PAL 25 fps") frameRate = 25; if(frameRateString=="30 fps") frameRate = 30; if(frameRateString=="60 fps") frameRate = 60; if(stepFrames < 1) stepFrames = 1;//safety //initialize check value for loop node stepval = stepFrames / frameRate; Node.Value(owner + "/customLoop","testTime") = stepval; //connect cloth mesh to copy input mesh //Node.ExportConnector(scene + "/targetMesh/Shape", "Input Mesh", "", 1, 1); //Node.ConnectTo(sel, "Mesh", scene + "/targetMesh", "Input Mesh"); //Physics.init_PhysSim();//start physics params.ConValue("timeStep") = stepval;//set step value for loop node params.ConValue("origSel") = sel; } NScript Object Package/jScript languagep7Y7numbertimeStep.nGYnumberstepFramesB) Bi_̦$numberdistancegSB"H:stringorigSel"iLC颾stringmorphSel-1N6?ֳ]stringtransformNodee^D?_-="iLC颾8/Project/clothDemo, 1/Plane-1N6?ֳ]B/Project/clothDemo, 1/targetMesh4W}@O{(XFҦV>g'JNjn*pnCCb@ d@2|=Bynj|?z@Hoۙ>?.nGYUUUUUU?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?B) Bi_̦$$@e^D?_-=H/Project/clothDemo, 1/transformNodez@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ 4 NewCommand// Execute // Called to execute the command function Execute(params) { var origSel = params.ConValue('origSel'); var morphSel = params.ConValue('morphSel'); var transformNode = params.ConValue('transformNode'); // TODO: put your action code here theMatrix = System.CreateDO("Math Package/Matrix Float Data"); theMatrix = Node.Value(origSel, "WldMatrix"); Node.Value(transformNode, "Matrix") = theMatrix; RsAnim.SetAttrKeyFrame(transformNode,"Matrix", 0); //params.ConValue('curFrame') = curFrame + stepFrames;//initial value already set to skip frame zero //select the morph mesh Node.Select(morphSel); //enter and exit PE mode for morph mesh MeshModifiers.ActivatePointEditWidget('','','Default'); Widgets.ActivateDefaultWidget(); //now do morph ScriptObject.RunCmd("character editor package/edit morph", "Selection", ""); //connect cloth mesh to copy input mesh Node.ExportConnector(morphSel + "/Editable shape", "Input Mesh", "", 1, 1); Node.ConnectTo(origSel, "Mesh", morphSel, "Input Mesh"); Physics.init_PhysSim();//start physics } NScript Object Package/jScript languagejD[stringorigSel΄6VJnĊlstringmorphSel#DbE牔خ!BstringtransformNodez为!A#4W}@O{(XFҦV>g'JNjn*pn+DCb@@X@2|=Bynj|?z@Hoۙ>?΄6VJnĊl8/Project/clothDemo, 1/PlaneJ@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z为!A#H/Project/clothDemo, 1/transformNode#DbE牔خ!BB/Project/clothDemo, 1/targetMeshz@Ho48@J (Dv\,B>(DstepFramesD(CB}jUK2I@YB}jUK2I@YBframeCountBUC2|=Bynj`F(Dz@Ho2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>? ̛NC`,v8/Project/clothDemo, 1/PlaneB}jUK2I@YceZU@䑧r[җJs@ NewCommand// Execute // Called to execute the command function Execute(params) { var origSel = params.ConValue('origSel'); var curFrame = params.ConValue('curFrame'); var transformNode = params.ConValue('transformNode'); var stepFrames = params.ConValue('stepFrames'); //copy cloth and clean up connections owner = System.ThisOwner(); scene = Space.CurrentScene(); //nm = Node.Copy(scene + "/targetMesh",scene); ScriptObject.RunCmd("character editor package/edit morph", "Selection", "");//morph //sn = "Node " + Node.ShortName(nm); //nt = Node.Copy(owner + "/transformNode", scene); theMatrix = System.CreateDO("Math Package/Matrix Float Data"); theMatrix = Node.Value(origSel, "WldMatrix"); Node.Value(transformNode, "Matrix") = theMatrix; frame = curFrame * stepFrames; RsAnim.SetAttrKeyFrame(transformNode,"Matrix", frame); params.ConValue('curFrame') = curFrame + 1; //Node.Value(nt,"Matrix") = theMatrix; //if(Node.Exists("Status Line")) // Node.Value("Status Line","Model") = sn; params.ConValue('frameCount') = curFrame + 1; } NScript Object Package/jScript language, >stringorigSel ̛NC`,vintcurFrameLN:E,|DstringtransformNode֔DK8CintstepFramesDv\,B>(intframeCountB}jUK2I@Y֔DK8CH/Project/clothDemo, 1/transformNode4W}@O{(XFҦV>g'JNjn*pn DZCb@ `@2|=Bynj|?z@Hoۙ>?Dv\,B>($@LN:E,|DJ@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?}]bsEp2ceZU@䑧r[җJs@ JNewCommandlfunction zeroMorphs(numkeys, frame) { //set keyframe 0 var i; for(i=0;i<numkeys;i++) { if(i==0) { Node.Value(sel + "/Vertex morphs", "Morph") = 0; RsAnim.SetAttrKeyFrame(sel,"Vertex morphs/Morph", frame); } else { Node.Value(sel + "/Vertex morphs", "Morph, " + i) = 0; RsAnim.SetAttrKeyFrame(sel,"Vertex morphs/Morph, " + i, frame); } } } // Execute // Called to execute the command function Execute(params) { var skipValue = params.ConValue('skipValue'); var numkeys = params.ConValue('numkeys'); var transNode = params.ConValue('transNode'); var morphNode = params.ConValue('morphNode'); //set morph for default mode //NOTE: this part must be done before this command node morphEnum = System.CreateDO('Common Data Package/String Enum Data'); morphEnum = Node.Value(morphNode + "/Vertex morphs", "Current morph"); morphString = morphEnum.GetStringAt(0); morphEnum.SetSelectedString(morphString); Node.Value(morphNode + "/Vertex morphs", "Current morph") = morphEnum; sel = morphNode; //numkeys = numkeys - 1;//last morph is lost for some reason var i; theMatrix = System.CreateDO("Math Package/Matrix Float Data"); //set all morphs to zero zeroMorphs(numkeys, 0); //set transform node matrix to frame 0 RsAnim.PutFrame(transNode,0); //set time to frame for read value theMatrix = Node.Value(transNode, "WldMatrix"); Node.Value(morphNode, "Matrix") = theMatrix; RsAnim.SetAttrKeyFrame(morphNode,"Matrix", 0); //set keyframe 1 morph frame = 1 * skipValue; zeroMorphs(numkeys, frame); Node.Value(sel + "/Vertex morphs", "Morph") = 1; RsAnim.SetAttrKeyFrame(sel,"Vertex morphs/Morph", frame); //morph tranform RsAnim.PutFrame(transNode,frame); //set time to frame for read value theMatrix = Node.Value(transNode, "WldMatrix"); Node.Value(morphNode, "Matrix") = theMatrix; RsAnim.SetAttrKeyFrame(morphNode,"Matrix", frame); //rest of keysframes for(i=2;i<=numkeys;i++) { frame = i * skipValue; zeroMorphs(numkeys, frame); curMorph = "Morph, " + (i-1);// start at 'Morph, 1' Node.Value(sel + "/Vertex morphs",curMorph) = 1; RsAnim.SetAttrKeyFrame(sel, "Vertex morphs/" + curMorph, frame); //morph tranform RsAnim.PutFrame(transNode,frame); //set time to frame for read value theMatrix = Node.Value(transNode, "WldMatrix"); Node.Value(morphNode, "Matrix") = theMatrix; RsAnim.SetAttrKeyFrame(morphNode,"Matrix", frame); } //delete transform node Node.Delete(transNode); //enter and exit PE mode for morph mesh fix Node.Select(morphNode); MeshModifiers.ActivatePointEditWidget('','','Default'); Widgets.ActivateDefaultWidget(); } NScript Object Package/jScript languageintskipValue}hՉN 5intnumkeys}]bsEp2stringtransNodes8MbQQstringmorphNode$Y<Oa9u-K4W}@O{(XFҦV>g'JNjn*pnDCn@@\@2|=Bynj|?z@Hoۙ>?}hՉN 5$@$Y<Oa9u-KB/Project/clothDemo, 1/targetMeshJ@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їDefaultControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UO GFʠN=P8ʀ1 }}z@HoZ`Ez]UO1釥GP>aP8ʀ0 }}z@HoZ`Ez]UO GFʠN=F 8ʀ1 }}$Y<Oa9u-KZ`Ez]UO1釥GP>aF 8ʀ0 }}$Y<Oa9u-KZ`Ez]UO GFʠN= P08ʀ1 }}}]bsEp2Z`Ez]UO1釥GP>aP 08ʀ0 }}}]bsEp2Z`Ez]UO GFʠN=0P@8ʀ1 }}}hՉN 5Z`Ez]UO1釥GP>aP0@8ʀ0 }}}hՉN 5Z`Ez]UO GFʠN=@FP8ʀ1 }}s8MbQQZ`Ez]UO1釥GP>aF@P8ʀ0 }}s8MbQQZ`Ez]UO GFʠN=PP`8ʀ1 }}2|=BynjZ`Ez]UO1釥GP>aPP`8ʀ0 }}2|=BynjZ`Ez]UO}}s8MbQQH/Project/clothDemo, 1/transformNodeMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand  // Execute // Called to execute the command function Execute(params) { var skipValue = params.ConValue('skipValue'); var numkeys = params.ConValue('numkeys'); var transNode = params.ConValue('transNode'); var morphNode = params.ConValue('morphNode'); //set morph for default mode //handle list selecting first item but how? morphEnum = System.CreateDO('Common Data Package/String Enum Data'); morphEnum = Node.Value(morphNode + "/Vertex morphs", "Current morph"); morphString = morphEnum.GetStringAt(0); morphEnum.SetSelectedString(morphString); Node.Value(morphNode + "/Vertex morphs", "Current morph") = morphEnum; } NScript Object Package/jScript language8uintskipValue}hՉN 5intnumkeys}]bsEp2stringtransNodes8MbQQstringmorphNode$Y<Oa9u-K4W}@O{}hՉN 5$@(XFҦV>g'JNjn*pnDC`@S@2|=Bynj|?z@Hoۙ>?$Y<Oa9u-KB/Project/clothDemo, 1/targetMeshJ@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?s8MbQQ@/Project/Space 3D/transformNode-1OSM n 럆L<_їDefaultControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UO GFʠN=P8ʀ1 }}z@HoZ`Ez]UO1釥GP>aP8ʀ0 }}z@HoZ`Ez]UO GFʠN=F 8ʀ1 }}$Y<Oa9u-KZ`Ez]UO1釥GP>aF 8ʀ0 }}$Y<Oa9u-KZ`Ez]UO GFʠN= P08ʀ1 }}}]bsEp2Z`Ez]UO1釥GP>aP 08ʀ0 }}}]bsEp2Z`Ez]UO GFʠN=0P@8ʀ1 }}}hՉN 5Z`Ez]UO1釥GP>aP0@8ʀ0 }}}hՉN 5Z`Ez]UO GFʠN=@FP8ʀ1 }}s8MbQQZ`Ez]UO1釥GP>aF@P8ʀ0 }}s8MbQQZ`Ez]UO GFʠN=PP`8ʀ1 }}2|=BynjZ`Ez]UO1釥GP>aPP`8ʀ0 }}2|=BynjZ`Ez]UO}}MT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho܂dKu=cloth2vertex3.;]kI 忞@"؊]@dcT$4W}@O{$(XFҦV"U$B) Bi_̦$T pV$x5#FHh^fbT -1OSM n"/gSB"H:TH x5#FHh^fb@gSB"H:@(XFҦV>g'JNjn*pF[DCb@@X@?-1OSM n 럆L<_їD GFʠN=P1 }}x5#FHh^fbZ`Ez]UO1釥GP>aP0 }}x5#FHh^fbZ`Ez]UO GFʠN=P 1 }}B) Bi_̦$Z`Ez]UO1釥GP>aP 0 }}B) Bi_̦$Z`Ez]UOOˁ CRih[ @}}ZActivity.Run("%THIS_NAME%" + "/startHere"); Copy ClothZ`Ez]UO GFʠN=@PP1 }}gSB"H:Z`Ez]UO1釥GP>aP@P0 }}gSB"H:Z`Ez]UO}}B) Bi_̦$$@48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand<// Execute // Called to execute the command function Execute(params) { var curTime = params.ConValue('curTime'); var timeStep = params.ConValue('timeStep'); var endTime = params.ConValue('endTime'); var testTime = params.ConValue('testTime'); params.ConValue("done2") = 0; params.ConValue("done") = 0; params.ConValue("loop") = 0; // if(curTime>=endTime) { params.ConValue("done2") = 1; return; } if(curTime>=testTime) { testTime = testTime + timeStep; params.ConValue('testTime') = testTime; params.ConValue("done") = 1; return; } if(curTime < testTime) { params.ConValue("loop") = 1; } } NScript Object Package/jScript language~൱D #^cnumbercurTimed XAܪEtWonumbertimeStep+bK nl|'}numberendTimex5#FHh^fbint loopE/F-int done<%NE|z 'numbertestTime 5Q@r)int done2aurI=(P$3xaurI=(P$3x4W}@O{d XAܪEtWo@(XFҦV>g'JNjn*pniDCb@ b@2|=Bynj|?z@Hoۙ>? 5Q@r)@+bK nl|'}UUUUUU?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UO<%NE|z 'MT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@HoE/F-48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand// Execute // Called to execute the command function Execute(params) { // TODO: put your action code here curTime = Node.Value(Space.CurrentScene() + "/PhysEngine", "Current Time"); params.ConValue("physTime") = curTime; } NScript Object Package/jScript language~൱D#^cnumberphysTime iECBZN?4W}@O{(XFҦV>g'JNjn*pngDBb@@P@2|=Bynj|?z@Hoۙ>? iECBZN?@J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand// Execute // Called to execute the command function Execute(params) { var stepFrames = params.ConValue('stepFrames'); var distance = params.ConValue('distance'); dist2move = distance; // scene = Space.CurrentScene(); owner = System.ThisOwner(); sel = Node.FirstSelected(); //get selected node newNode1 = Node.Copy(sel, scene); // copy node newNode = Node.Rename(newNode1,"targetMesh"); Widgets.Move(newNode, dist2move, dist2move, dist2move);//move node away so no interference with cloth //tn = Node.Copy(sel, scene); // copy node for transform //transNode = Node.Rename(tn,"transformMesh"); //Widgets.Move(transNode, dist2move, dist2move, dist2move);//move node away so no interference with cloth nt = Node.Copy(owner + "/transformNode", scene);// invisible node //nt = Node.Copy(scene + "/transformNode", scene); theMatrix = System.CreateDO("Math Package/Matrix Float Data"); theMatrix = Node.Value(sel, "WldMatrix"); Node.Value(nt,"Matrix") = theMatrix; if(Node.Exists(scene + "/targetMesh/PhysCloth")) { Node.Delete(scene + "/targetMesh/PhysCloth"); //delete physics from copy MeshModifiers.FlattenNodes(scene + "/targetMesh"); //flatten //Node.ConRemove(newNode, "Physics Attr");//cleanup } frameRateEnum = System.CreateDO('Common Data Package/String Enum Data'); frameRateEnum = Node.Value("Preferences/AnimPref","Frame Rate"); frameRateString = frameRateEnum.GetSelectedString(); if(frameRateString=="15 fps") frameRate = 15; if(frameRateString=="Film 24 fps") frameRate = 24; if(frameRateString=="PAL 25 fps") frameRate = 25; if(frameRateString=="30 fps") frameRate = 30; if(frameRateString=="60 fps") frameRate = 60; if(stepFrames < 1) stepFrames = 1;//safety //initialize check value for loop node stepval = stepFrames / frameRate; Node.Value(owner + "/customLoop","testTime") = stepval; //connect cloth mesh to copy input mesh Node.ExportConnector(scene + "/targetMesh/Shape", "Input Mesh", "", 1, 1); Node.ConnectTo(sel, "Mesh", scene + "/targetMesh", "Input Mesh"); Physics.init_PhysSim();//start physics params.ConValue("timeStep") = stepval;//set step value for loop node params.ConValue("origSel") = sel; } NScript Object Package/jScript language numbertimeStep.nGYnumberstepFramesB) Bi_̦$numberdistancegSB"H:stringorigSel"iLC颾"iLC颾0/Project/Space 3D/cloth4W}@O{(XFҦV>g'JNjn*pn-DgCb@ `@2|=Bynj|?z@Hoۙ>?.nGYUUUUUU?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?B) Bi_̦$$@z@Ho48@J 9D2|=BynjF z@Ho 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ |NewCommand// Execute // Called to execute the command function Execute(params) { var origSel = params.ConValue('origSel'); // TODO: put your action code here //System.Trace("totally done"); Physics.init_PhysSim();//stop physics //sel = Node.FirstSelected(); Node.Disconnect(origSel, "Mesh", Space.CurrentScene() + "/targetMesh", "Input Mesh"); if(Node.Exists("Status Line")) Node.Value("Status Line","Model") = "Done processing"; } NScript Object Package/jScript language~൱D@ j#^cstringorigSelqL5>94W}@O{(XFҦV>g'JNjn*pn DCb@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOqL5>90/Project/Space 3D/clothMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho܂dKu=transformNode Ȝ9.;]kI 忞@"'p@y@d4W}@O{$ G?ŋ@dtveDCE`"IWJZ-"@ g ׊;Jf|ڢZ0@ g 偢jD%~`8Z WAG`& <ĠF姁J]\ '9$1&KߊPV$ -V?XM%Xa (XFҦV"H!S $hKnPSVmyLa  -V?XM%S $hKnPSVm偢jD%~`8(XFҦV>g'JNjn*pF DPb@ d@?׊;Jf|ڢWAG`^02eE{|@B???? G?ŋg'JNjn*pFB BX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї0܂dKu=3Material List.;]kI 忞@"vp4W}@O{$-V?XM% (XFҦV"-V?XM%(XFҦV>g'JNjn*pFBBX@1@?) 6G%3,Material List Manager #-V?XM%P0v&zB}J?p #v4W}@O{$0w֮^e{J\.p #-V?XM%֮^e{J\.&zB}J?܂dKu=,Material 0h.;]kI 忞@"HhN4W}@O{$hgYأC۲+?0wgYأC۲+?b=h0CRf-0Material Flavor ManagerHgYأC۲+?Ph!EJGWMpHȉ6~qK;2t&pHH4W}@O{$ȊgDmpH!EJGWM6~qK;2t&NOI/)[&2/ChˢjCgYأC۲+?gDm~wC쇀D\3 Solid .F_P#T.F_P#Material Output material __W8E#(ȊXn%⟀A}aJp>]zJ4 pXJ.HE /*gpfN8VnZN:W pp(gNll-#Ez k^pgNK#uiL$p(hN,L?D}phN4W}@O{$J.HE /*g?>]zJ4 n%⟀A}aJ-n,Njlpg????,L?D}.F_P#K#uiL$:KrbSxbDisabledEnabledAs OpaqueDisabledll-#Ez k^8VnZN:W p?vEwTݬ3 ShapetveDCE`"IWJPB@dVIQGіF͡Tp4W}@O{$(XFҦV"(XFҦV>g'JNjn*pFBCX@1@?VIQGіF͡T>W5f@(䐈ٸ*ćIC7 h* 6H?BJ8{EE%D7[y'HNLjUb)R89Ig"ZpߘHXOtveDCE`"IWJqU F3f< 2Object Render AttributesȌ:S $hKnPSVmPH!H:8Ns2]pȌ:ȍ:^mګA~Ksi[pȌ:H:(lrsGrpȌ:X\Eh{5pȌ:xY"PbEGDߗrpȌ:YF?N dpȌ:xZ]*qBCxpȌ:Z\J:I%7upȌ:x[iA޲1rIK>XpȌ:w,ot"AaYpȌ:@x^RI8ÿRpȌ:xçwH5#VpȌ:@y4W}@O{%J@#QL-1OSM n#(XFҦV"W0@zd%6 ȅ8vDCxZpȌ:P7 F+2MGpȌ:7 I2GWM:).$pȌ:P8 mBޖw ppȌ:8 o[nfFpȌ:P9 zgGFohN)pȌ:(vhD zʔpȌ:fB #^pȌ:(|$}mK;)p Ȍ:rg@*oHp Ȍ:!eLZE^Np Ȍ:I2GWM:).$ zgGFohN)S $hKnPSVm]*qBCxvhD zʔrg@*oHçwH5#V 4W}@O{\Eh{5-n,Njlpg????\J:I%7u-n,Njlpg???fB #^:KrbSxv No Hidden FacesNo SortTriangle SortNo Sort(XFҦV>g'JNjn*pF@D Bk@ `@?F?N d 8Ns2]?ȅ8vDCxZ "PbEGDߗr F+2MG ^mګA~Ksi[(lrsGr?J@#QL>g'JNjn*pFCBb@ h@?W0@zdo[nfFmBޖw p,ot"AaY -1OSM n 럆L<_ї˓ DefaultAdvanced GFʠN=1 }}^RI8ÿRZ`Ez]UOͽ>fdN*5Ւh, }}^RI8ÿRϱZ`Ez]UO GFʠN= 1 }},ot"AaYZ`Ez]UOͽ>fdN*5Ւh , }},ot"AaYZ`Ez]UO GFʠN= 01 }}ȅ8vDCxZZ`Ez]UOͽ>fdN*5Ւh 0, }}ȅ8vDCxZZ`Ez]UO GFʠN=0@1 }}F+2MGZ`Ez]UOͽ>fdN*5Ւh0@, }}F+2MGZ`Ez]UO GFʠN=@P1 }}I2GWM:).$Z`Ez]UOͽ>fdN*5Ւh@P, }}I2GWM:).$Z`Ez]UO GFʠN=P`1 }}mBޖw pZ`Ez]UO1釥GP>aP`0 }}mBޖw pZ`Ez]UO GFʠN=0(@6 }}Color\J:I%7uZ`Ez]UO B>I(0h@%}}\J:I%7uZ`Ez]UO GFʠN=@(P8 }}Opacity]*qBCxZ`Ez]UON\q+nN-K^(@hPA\VV?]*qBCxZ`Ez]UOY@ GFʠN=h@P@ }}Enable Obj ModeçwH5#VZ`Ez]UOͽ>fdN*5Ւh@P, }}çwH5#VZ`Ez]UO GFʠN=h 6 }}Color\Eh{5Z`Ez]UO B>I %}}\Eh{5Z`Ez]UO GFʠN=h 08 }}Opacity^mګA~Ksi[Z`Ez]UON\q+nN-K^ 0A\VV?^mګA~Ksi[Z`Ez]UOY@ GFʠN=h0@5 }}Size(lrsGrZ`Ez]UON\q+nN-K^0@A\VV?$@(lrsGrZ`Ez]UOY@ GFʠN=( 8 }}Opacity8Ns2]Z`Ez]UON\q+nN-K^(h A\VV?8Ns2]Z`Ez]UOY@ GFʠN=h(}}SurfaceZ`Ez]UO GFʠN= h0&}}EdgesZ`Ez]UO GFʠN=h'}}PointsZ`Ez]UO GFʠN=Ph`1 }}fB #^Z`Ez]UOnevG4'hP`̆fB #^VNo hidden faces No solving Triangle sortZ`Ez]UO!eLZE^N|$}mK;)^RI8ÿR iA޲1rIK>X 48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ 6NewCommandN// Execute // Called to execute the command function Execute(params) { var origSel = params.ConValue('origSel'); //copy cloth and clean up connections owner = System.ThisOwner(); scene = Space.CurrentScene(); nm = Node.Copy(scene + "/targetMesh",scene); //Node.ConRemove(nm, "Input Mesh"); //Node.ConRemove(nm, "Physics Attr"); sn = "Node " + Node.ShortName(nm); nt = Node.Copy(scene + "/transformNode", scene); theMatrix = System.CreateDO("Math Package/Matrix Float Data"); theMatrix = Node.Value(origSel, "WldMatrix"); Node.Value(nt,"Matrix") = theMatrix; if(Node.Exists("Status Line")) Node.Value("Status Line","Model") = sn; } NScript Object Package/jScript language~൱D@ j#^cstringorigSel ̛NC`,v4W}@O{(XFҦV>g'JNjn*pn DZCb@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho8ʯȥJH|o7 gH]kDwPv`d8pM*#ͺOD/tfѭ8Lwb"q