gH]kDwP&trueSpaceBeta 7.61[VS_O93YJClinton Reese, Clintons 3D Creations`d8pM*#ͺO|PNG  IHDR`ZCIDATxKJA@NK0q .*8rB\$8pӴjྪaC+VX` +VX` +VX` +VX` +VX` +VX` +VX`6zv:?q7og'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*pFSDCr@@P@B?vRm)EC!a<System.Alert("hello there!"); zFAa|say hello-1OSM n 럆L<_ї%DefaultOˁ CRih[  h }}LActivity.Run('%THIS_NAME%' + "/doIt")8install buttons and scriptsZ`Ez]UO}}ެ$`._E#ބ6'CustomFrame).;]kI 忞@"/!4W}@O{$*O΢C}*O΢C} WinIDWindow ID-pϗO 0)t-pϗO 0)PositionShelf Position mz!OHwc>-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"-1OSM n"'>-MD'zZ9@'s^^DyVG))jHETF L$3[FB%n*jmk~_Lb.*O΢C}N{5FDDFE6E-518F-464A-B4B9-8D24B556E36C}˽OS6*Mv48M0cryN{485B725E-A69D-4AD5-A876-B3BBA72D2C0A}>=жaMpT~൱D@ j#^c?V{N7l KTLA7~fj^G@!,2bOdA)f 6^r[HJv-, ^r[HJv-, v43N t |7EId I)LL !BXPjKɸtEkJHx(V@W86*n^HD9t KXtO L%]GJ7ψ-1OSM n 럆L<_ї0(XFҦV>g'JNjn*pFBCX@1@?-pϗO 0)mz!OHwc _N>G1K8Y8O#=gtMobFFJL}f$I `7 [GDJMRÒGbDeC 1ϕ`&FSx9wĪ8mݧC>!7|_ DN'D)L-{Q !aOt \q^2FII3w^r[HJv-, ۭToolbar.;]kI 忞@"/!4W}@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}=JM@hM Q3 m O1Ww(XFҦV>g'JNjn*pFBCb@ f@?NL {Z_IFL!OS _N>G18CechgJdWJc~n_<&KES Q.S)A2UЍc o(K ]p d<9BH@b\ R/$ķKniaW# physConstButton'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 忞@"(!4W}@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 ko6nRN s3s8M<]D~@s8c4g[w~oIQN%5+4͸sa8CݳD2_f[ML\w -F:;(H9>+i2r7u k,Eqnv9~0vx*xFr|ZwmDIn|zuE6Q+nS[_E<(24j?YU56JUq(7Xo:848@J g'JNjn*pceZU@䑧rceZU@䑧r$_scriptData*Internal Script data [җJs@ %(!4W}@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@ 2NewCommand // Execute // Called to execute the command function Execute(params) { // TODO: put your action code here owner = System.ThisOwner(); button1 = "physConstButton"; theScript = "physics constraint helper"; // 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~൱DR!#^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=44physics constraint helper(!.;]kI 忞@"!!!!4W}@O{$(XFҦV"-1OSM n"(XFҦV>g'JNjn*pF6Dk@p@?-1OSM n 럆L<_їOˁ CRih[}!}}fActivity.Run('%THIS_NAME%' + "/constraint helper")0create fixation helpersZ`Ez]UOOˁ CRih[0}!}}dActivity.Run('%THIS_NAME%' + "/constraint mover").apply fixation helpersZ`Ez]UO GFʠN=}!,}} version 1.1Z`Ez]UO GFʠN=Xx}!i}}H1. Select the object with fixation constraints or physics applied to it.Z`Ez]UO GFʠN=}!<}}2. Create fixation helpers.Z`Ez]UO GFʠN=}!h}}G3. Move COG(cube) and/or fixation(sphere) helpers to desired locations.Z`Ez]UO GFʠN=}!C}}"4. Apply the fixation/COG helpers.Z`Ez]UO GFʠN=8P}!L}}+0. ctrl-drag this ui out of the panel view.Z`Ez]UO}}48@J )I((f2dD>)I((f2B fix1B!(!drA;2jdrA;2jB fix2B(!!?$.)H"D?$.)H"DBcogB!2|=Bynjz@Ho 2|=Bynj2AEHM'>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 scene = Space.CurrentScene(); owner = System.ThisOwner(); mymatrix = System.CreateDO("Math Package/Matrix Float Data"); System.Trace(owner); firstsel = Node.FirstSelected(); fix1 = ""; fix2 = ""; cog = ""; if(Node.Exists(firstsel + "/PhysObject")) { //center of mass physobj = firstsel + "/PhysObject"; //cogmesh = Space.Cube(0.25, 0.25, 0.25, 1, 1, 1); cogmesh = Node.Copy(owner + "/COGPhysObject", scene);//if run from scene this line gives an error then still works Node.ConnectTo(firstsel,"ObjMatrix", cogmesh, "OwnerMatrix"); x = Node.Value(physobj,"Center Of Gravity X"); y = Node.Value(physobj,"Center Of Gravity Y"); z = Node.Value(physobj,"Center Of Gravity Z"); //Node.Value(cogmesh ,"tx") = x; //Node.Value(cogmesh ,"ty") = y; //Node.Value(cogmesh ,"tz") = z; mymatrix.SetTransX(x); mymatrix.SetTransY(y); mymatrix.SetTransZ(z); Node.Value(cogmesh,"Matrix") = mymatrix; //Node.Rename(cogmesh,"COGPhysObject"); //find fix1 numcon = Node.LinkedInputNodeCount(firstsel + "/PhysObject","Fixation1"); //System.Trace(numcon); if(numcon==1) { fix1 = Node.LinkedInputNode(firstsel + "/PhysObject","Fixation1",0); fix1sn = Node.ShortName(fix1); fix1mesh = Space.NURBSSphere(0.5); x = Node.Value(fix1,"X"); y = Node.Value(fix1,"Y"); z = Node.Value(fix1,"Z"); Node.Value(fix1mesh,"tx") = x; Node.Value(fix1mesh,"ty") = y; Node.Value(fix1mesh,"tz") = z; Node.Rename(fix1mesh, fix1sn); //System.Trace(fix1sn); } //find fix2 numcon = Node.LinkedInputNodeCount(firstsel + "/PhysObject","Fixation2"); //System.Trace(numcon); if(numcon==1) { fix2 = Node.LinkedInputNode(firstsel + "/PhysObject","Fixation2",0); fix2sn = Node.ShortName(fix2); fix2mesh = Space.NURBSSphere(0.5); x = Node.Value(fix2,"X"); y = Node.Value(fix2,"Y"); z = Node.Value(fix2,"Z"); Node.Value(fix2mesh,"tx") = x; Node.Value(fix2mesh,"ty") = y; Node.Value(fix2mesh,"tz") = z; //second constraint always "PhysConstraint, 1" but rename can't handle it so Node.Rename(fix2mesh, "PhysConstraint1"); //System.Trace(fix2sn); } } params.ConValue("fix1") = fix1; params.ConValue("fix2") = fix2; params.ConValue("cog") = physobj; } NScript Object Package/jScript language~൱D\[!#^cstring fix1dD>)I((f2string fix2drA;2jstringcog?$.)H"D4W}@O{(XFҦV>g'JNjn*pnCCb@@X@2|=Bynj|?z@Hoۙ>?dD>)I((f2T/Project/Space 3D/Cylinder/PhysConstraintJ@#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]UOdrA;2j?$.)H"DL/Project/Space 3D/Cylinder/PhysObjectMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ J NewCommand // Execute // Called to execute the command function Execute(params) { var fix1 = params.ConValue('fix1'); var fix2 = params.ConValue('fix2'); var cog = params.ConValue('cog'); scene = Space.CurrentScene(); mymatrix = System.CreateDO("Math Package/Matrix Float Data"); if(cog != "") { cogmesh = scene + "/COGPhysObject"; //x = Node.Value(cogmesh ,"tx"); //y = Node.Value(cogmesh ,"ty"); //z = Node.Value(cogmesh ,"tz"); mymatrix = Node.Value(cogmesh, "ObjMatrix"); x = mymatrix.GetTransX(); y = mymatrix.GetTransY(); z = mymatrix.GetTransZ(); Node.Value(cog,"Center Of Gravity X") = x; Node.Value(cog,"Center Of Gravity Y") = y; Node.Value(cog,"Center Of Gravity Z") = z; Node.Delete(cogmesh); } if(fix1 != "") { fix1sn = Node.ShortName(fix1); fix1mesh = scene + "/" + fix1sn; System.Trace(fix1mesh); x = Node.Value(fix1mesh,"tx"); y = Node.Value(fix1mesh,"ty"); z = Node.Value(fix1mesh,"tz"); Node.Value(fix1,"X") = x; Node.Value(fix1,"Y") = y; Node.Value(fix1,"Z") = z; Node.Delete(fix1mesh); } if(fix2 != "") { //fix2sn = Node.ShortName(fix2); //fix2mesh = scene + "/" + fix2sn; fix2mesh = scene + "/PhysConstraint1"; System.Trace(fix2mesh); x = Node.Value(fix2mesh,"tx"); y = Node.Value(fix2mesh,"ty"); z = Node.Value(fix2mesh,"tz"); Node.Value(fix2,"X") = x; Node.Value(fix2,"Y") = y; Node.Value(fix2,"Z") = z; Node.Delete(fix2mesh); } } NScript Object Package/jScript language[4nstring fix1#H 7Astring fix2-n8J"HstringcogpGç@@4W}@O{(XFҦV>g'JNjn*pnDCb@@X@2|=Bynj|?z@Hoۙ>?#H 7AT/Project/Space 3D/Cylinder/PhysConstraint-n8J"HpGç@@L/Project/Space 3D/Cylinder/PhysObjectJ@#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@Ho܂dKu=dCOGPhysObject (!.;]kI 忞@"!!!!4W}@O{$ G?ŋ G?ŋ tSObjLtrueSpace object synchronization data W5f@(䐈Z?^8^@!(!׊;Jf|ڢ׊;Jf|ڢBWldMatrixWorld matrix `^02eE{|@Z8]8?^@!!偢jD%~`8偢jD%~`8BObjMatrix Object's matrix `^02eE{|@Z(!WAGWAGOwnerMatrixOwner's matrix `^02eE{|@(!!<ĠF姁J]<ĠF姁J]DMatrix,Object's input matrix `^02eE{|@\!$1&KߊPV$1&KߊPV$AutoShowPanelAutoShowPanel$!-V?XM%-V?XM%Material ListMaterial List +N⩊](XFҦV" -V?XM%偢jD%~`8(XFҦV>g'JNjn*pFCDb@ d@?׊;Jf|ڢWAG`^02eE{|@B???? G?ŋg'JNjn*pFB BX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї08c+KjWNLCube primitive (!tveDCE`"IWJPB!!\5KZWDL&ft\5KZWDL&f WidthMesh width(!(![irH%}Jt[irH%}J DepthMesh depth(!!cCN!F)/tcCN!F)/HeightMesh height(!(!XxEbN5g'JNjn*pFC Bb@ `@?[irH%}J?XxEbN5a@P0 }}ZK=nʼZ`Ez]UO GFʠN=p0@7 }}Height4MBLt6Z`Ez]UO1釥GP>ap@P0 }}4MBLt6Z`Ez]UO GFʠN=80p@6 }}WidthXxEbN5a8@`P0 }}XxEbN54MBLt6?K?Z`Ez]UOPN AnqH`@pP>XxEbN5ZK=nʼ?K?Z`Ez]UO GFʠN=08P)}}SegmentsZ`Ez]UO GFʠN= p01 }}[irH%}JZ`Ez]UO1釥GP>ap 00 }}[irH%}JZ`Ez]UOPN AnqH 0>[irH%}JK>Z`Ez]UO GFʠN=p 1 }}cCN!F)/Z`Ez]UO1釥GP>ap 0 }}cCN!F)/Z`Ez]UOPN AnqH >cCN!F)/K>Z`Ez]UO GFʠN=p1 }}\5KZWDL&fZ`Ez]UO1釥GP>ap0 }}\5KZWDL&fZ`Ez]UOPN AnqH>\5KZWDL&fK>Z`Ez]UO\5KZWDL&f?ZK=nʼ4MBLt6܂dKu=Material List(!.;]kI 忞@"!(!!4W}@O{$(!-V?XM%!-V?XM%) 6G%ڭ,Material List Manager!-V?XM%P(!(!&zB}J?t&zB}J?&Active material ID2Active material class ID!!4W}@O{$(!Е Fv'1SMtЕ Fv'1SMMat Chunk 0BDynamic material input connector |E8y!-V?XM%&zB}J?Е Fv'1SM܂dKu=ϭMaterial 0!.;]kI 忞@"!xq!(!4W}@O{$!gYأC۲+?gYأC۲+?Material ChunkMaterial Chunk |E8y(!gYأC۲+?܂dKu=D3D material(!.;]kI 忞@"!!xC!e!!4W}@O{$(!.F_P#.F_P#Material Output material __W8E#(q!U@Ra.U@Ra.LE2Data$LE2 Data for node >g'JNjn*p՞'fA5-_՞'fA5-_D3DEYED3DEYE =xNT{-1OSM n"(XFҦVLE2Data, 1J@#QLLE2Data, 24W}@O{(XFҦV>g'JNjn*pF4CtCd@@@?՞'fA5-_.F_P#J@#QL>g'JNjn*pF4CtCd@@@?.;]kI 忞@-1OSM n 럆L<_їˣ Main GFʠN= 1 }}.F_P#Z`Ez]UOU@Ra.>g'JNjn*pFjCCd@T@?Pc|B;]2쉬Material(!.F_P#T.F_P#Material Output material __W8E#((!!S^M~b tS^M~b Alpha_shaderAlpha shader RnчINN(!(!5OD.GWf5t5OD.GWf5Color_shaderColor shader zdU@AUʂ*(!!qΤIGGItqΤIGGIModel_shaderModel shader @SrE8㲻t(!!,S@vTVt,S@vTVNormal_shaderNormal shader Xb"ٲN+4(!!зVJiltзVJil Texcoord_shader Texcoord shader lrMH;e(!!4W}@O{$U@Ra.-1OSM n"(XFҦVLE2Data, 1!kF_dkF_Vertex_shaderVertex shader k|eKwj9CqVertexShader(!!t@*Ntt@*N Constant_shader Constant shader QVO Pk@(!!<;vHwt<;vHwAlphaTest Alpha Test type :KrbSx(!! 0S̤@+Rt 0S̤@+RAlphaTestValue"Alpha Test Value(!,S@vTV 0S̤@+R5OD.GWf54W}@O{зVJil(XFҦV>g'JNjn*pFDnCb@ `@?<;vHw:KrbSxbDisabledEnabledAs OpaqueDisabledS^M~b .F_P#t@*NkF_-1OSM n 럆L<_ї0U@Ra.>g'JNjn*pFDnC`@\@?qΤIGGI܂dKu=l,DefaultTexCoordShader!(gD9f<(gD9f<TCMoveYTCMoveYƟ!R:>a[EH*M\R:>a[EH*M\LE2Data$LE2 Data for node >g'JNjn*pLE2Data, 27wCH7wCHLE2Data$LE2 Data for node >g'JNjn*p!wkd@Xywkd@XyTCScaleXTCScaleXʟ!!4W}@O{$!y݀J}Ny݀J}N FloatInput floatTCMoveXŸ!!ĦBZĦBZTCScaleYTCScaleYΟ!)rޙG )rޙG ˢLE2Data, 1$LE2 Data for node >g'JNjn*pLE2Data, 4(XFҦVLE2Data, 3%%u5E b%%u5E bLE2Data$LE2 Data for node >g'JNjn*pLE2Data, 6QA@y:l1QA@y:l1LE2Data, 5$LE2 Data for node >g'JNjn*p$Q/G|]8$Q/G|]8LE2Data, 1$LE2 Data for node >g'JNjn*p-1OSM n#!.;]kI 忞@" !!!!!!ğ!ȟ!̟!П!!зVJil!R:>a[EH*M\>g'JNjn*pFBC`@d@?(gD9f<wkd@Xy?7wCH>g'JNjn*pFCC`@0@?%%u5E b>g'JNjn*pF`CCb@\@KAC?4W}@O{зVJilĦBZ?y݀J}N(XFҦV>g'JNjn*pFBCb@@X@KAC?)rޙG >g'JNjn*pFBC`@d@?$Q/G|]8>g'JNjn*pFCCC`@d@?QA@y:l1>g'JNjn*pF:it;ShaderTexcoord!зVJilP!!)#,OrRt)#,OrRTexcoord*Input texcoord brick F 1+5?N>/!!4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1!r!"I = 8tr!"I = 8Texcoord2,Input texcoord2 brick F 1+5?N>/!%%u5E b>g'JNjn*pFEDA`@P@?4W}@O{зVJil(XFҦV>g'JNjn*pFEDA`@P@?)#,OrRr!"I = 8-1OSM n 럆L<_ї0L{0nBg)`! \(AddP)\Fvq3P)\Fvq3$PrivateShaderData$PrivateShaderData wk0.DX?_!:JF>*Ut:JF>*UInputXInputX : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/!!#2 |L?¢Fht#2 |L?¢FhInputYInputY : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/!!,8A fKھT,8A fKھResultResult : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/!!4W}@O{%%%u5E b-1OSM n"(XFҦVLE2Data, 1,8A fKھ:JF>*U%%u5E b>g'JNjn*pFD`B`@P@?4W}@O{(XFҦV>g'JNjn*pFD`B`@P@?#2 |L?¢FhP)\Fvq3wk0.DX?_Gp.HOV-1OSM n 럆L<_ї0L{0nBg)`! ModulateP)\Fvq3!2x2֣K!dE5t2x2֣K!dE5InputXInputX : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/!!TXGy5֣ tTXGy5֣ FullLightColorInputY : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/!! dE9@T dE9@ AttenuatedColorResult : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/!!4W}@O{%%%u5E b-1OSM n"(XFҦVLE2Data, 1%%u5E b>g'JNjn*pFC`@P@?4W}@O{(XFҦV>g'JNjn*pFC`@P@?P)\Fvq3wk0.DX?_M0(rHH dE9@TXGy5֣ 2x2֣K!dE5-1OSM n 럆L<_ї0L{0nBg)`! ҭ*VectorFromComponents P)\Fvq3!Gx:G<l5tGx:G<l5XTX : RtFloat - Scalar floating point value F 1+5?N>/!! LDs(et LDs(eYTY : RtFloat - Scalar floating point value F 1+5?N>/!!?8[GVTIt?8[GVTIZTZ : RtFloat - Scalar floating point value F 1+5?N>/!!"PZKLьt"PZKLьWTW : RtFloat - Scalar floating point value F 1+5?N>/!!JN۪BP TJN۪BP ResultnResult : RtFloat4 - The four component vector or color F 1+5?N>/!!4W}@O{%%%u5E b(XFҦVLE2Data, 1-1OSM n" "PZKLь%%u5E b>g'JNjn*pFC`@\@??8[GVTI LDs(e4W}@O{(XFҦV>g'JNjn*pFC`@\@?Gx:G<l5JN۪BP P)\Fvq3wk0.DX?_JEG0-1OSM n 럆L<_ї0L{0nBg)`! 0VectorFromComponents, 1 P)\Fvq3!Gx:G<l5tGx:G<l5 Row1jRow1 : RtFloat4 - The four component vector or color F 1+5?N>/!! LDs(et LDs(eYTY : RtFloat - Scalar floating point value F 1+5?N>/!!?8[GVTIt?8[GVTIZTZ : RtFloat - Scalar floating point value F 1+5?N>/!!"PZKLьt"PZKLьWTW : RtFloat - Scalar floating point value F 1+5?N>/!!JN۪BP TJN۪BP ResultnResult : RtFloat4 - The four component vector or color F 1+5?N>/!!4W}@O{%%%u5E b(XFҦVLE2Data, 1-1OSM n" "PZKLь%%u5E b>g'JNjn*pFCB`@\@??8[GVTI LDs(e4W}@O{(XFҦV>g'JNjn*pFCB`@\@?Gx:G<l5JN۪BP P)\Fvq3wk0.DX?_JEG0-1OSM n 럆L<_ї0/|V FK|ShaderInput?ڵfA'7(?ڵfA'7(EyePos8Eye position in world space F 1+5?N>/%dLrQn0%dLrQn0EyeDirNormalized eye vector in world space. Note that this is vector pointing from surface to the eye F 1+5?N>/piDM7piDM7EyeDistNDistance from current point to the eye F 1+5?N>/^@A툷^@A툷PositionNShading point position in world space. F 1+5?N>/!p1M@o=p1M@o=TexCoords3D texture coordinates for given surface point. Any undefined channel (u, v or w) is replaced with 0. Initialized to interpolated vertex texture coords. Replaced by output of TextCoord shader. F 1+5?N>/!}E[2CV)}E[2CV) ColornColor specified by color shader. RGB portion is used to specify color (and is not limited to range 0-1). Initialized to interpolated vertex color. Replaced by output of Color shader. F 1+5?N>/`MOWIB"ѥ`MOWIB"ѥNormalNormalized normal of the surface for given pixel. Normal vector is expected to be in world space. Initialized with denormalized interpolated vertex normal. Replaced by output of Normal shader. F 1+5?N>/HtO{/(HtO{/(TangentNormalized tangent of the surface for given pixel. Tangent vector is expected to be in world space. Initialized with denormalized interpolated vertex tangent. Replaced by output of Normal shader. F 1+5?N>/ qQ@Rj qQ@Rj AlphaZTransparency specified for given pixel. Value should be specified in range 0...1 (full transparency ... fully opaque). Initialized to 1. Replaced by output of Alpha shader. F 1+5?N>/ҥY@e&ҥY@e&LightDirNormalized light direction vector for given pixel. Light vector is expected to be in world space. Note that this is vector pointing from surface to the light. Initialized in the Vertex light shader. Replaced by output of Light shader. F 1+5?N>/B_;OKFJ*rB_;OKFJ*rLightDistDistance of the current point to the light. Initialized in the Vertex light shader. Replaced by output of Light shader. F 1+5?N>/HRSEpFCHRSEpFCLightColorLight color for given pixel. Replaced by output of Light shader. F 1+5?N>/~__um1CR¬5~__um1CR¬5TangentToWorldTransformation matrix from tangent space to world space for vectors. F 1+5?N>/ٻzEuSٻzEuSWorldToObjectnTransformation matrix from world space to object space F 1+5?N>/SaI7֏bSaI7֏bObjectToWorldTransformation matrix from object space to world space. Note that this is inverse matrix to WorldToObject. F 1+5?N>/!4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1y"WMB]y"WMB]*ObjectToWorld_NormalA 3x3 Transformation matrix for normal and tangent vectors from object space to world space. F 1+5?N>/)5FYP)5FYPObjectToClipPerspective transformation matrix from object space to screen space. F 1+5?N>/x*yIx*yIWorldToClipPerspective transformation matrix from world space to screen space. F 1+5?N>/#h"mO('#h"mO('TexCoords2`A secondary set of texture coordinates for given surface point. Any undefined channel (u, v or w) is replaced with 0. Initialized to interpolated second vertex texture coords. F 1+5?N>/B_;OKFJ*rڳVܯ]FՃ尲+%tsxi_GetInputLightDistRtFloat qQ@RjڳVܯ]FՃ尲'!tsxi_GetInputAlphaRtFloatp1M@o=ڳVܯ]FՃ尲,&tsxi_GetInputTexCoordsRtFloat3^@A툷ڳVܯ]FՃ尲+%tsxi_GetInputPositionRtFloat4)5FYP%%u5E b>g'JNjn*pF CA`@0@?HRSEpFCڳVܯ]FՃ尲-'tsxi_GetInputLightColorRtFloat4ٻzEuSڳVܯ]FՃ尲2,tsxi_GetInputWorldToObject RtFloat4x44W}@O{SaI7֏bڳVܯ]FՃ尲2,tsxi_GetInputObjectToWorld RtFloat4x4~__um1CR¬5ڳVܯ]FՃ尲3-tsxi_GetInputTangentToWorld RtFloat3x3x*yI(XFҦV>g'JNjn*pF CA`@0@?#h"mO('ҥY@e&ڳVܯ]FՃ尲+%tsxi_GetInputLightDirRtFloat3`MOWIB"ѥڳVܯ]FՃ尲)#tsxi_GetInputNormalRtFloat3?ڵfA'7(ڳVܯ]FՃ尲)#tsxi_GetInputEyePosRtFloat4%dLrQn0ڳVܯ]FՃ尲)#tsxi_GetInputEyeDirRtFloat3y"WMB]}E[2CV)ڳVܯ]FՃ尲("tsxi_GetInputColorRtFloat4-1OSM n 럆L<_ї0HtO{/(ڳVܯ]FՃ尲*$tsxi_GetInputTangentRtFloat3piDM7ڳVܯ]FՃ尲)#tsxi_GetInputEyeDistRtFloatz€ L& ޭInputFloatŸ!+kCY5]BtOt+kCY5]BtO FloatInput floatß!ß!ß!uM@n;LATuM@n;LAFloatBrickFloat brick F 1+5?N>/!ß!\/3Kf͈,t\/3Kf͈,oFloatOutput floatğ!GqiFE0IN tGqiFE0IN Input usageVThe usage specification for this parameterß!ğ!4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCMOVEX%%u5E b>g'JNjn*pFtBb@X@?4W}@O{+kCY5]BtO(XFҦV>g'JNjn*pFtBb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0z€ L& \InputFloat, 1Ɵ!+kCY5]BtOpǟ!ǟ!ǟ!uM@n;LAP!ǟ!\/3Kf͈,pȟ!GqiFE0IN pǟ!ȟ!4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCMOVEY%%u5E b>g'JNjn*pF8Cb@X@?4W}@O{+kCY5]BtO(XFҦV>g'JNjn*pF8Cb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0z€ L& InputFloat, 2ʟ!+kCY5]BtOp˟!˟!˟!uM@n;LAP!˟!\/3Kf͈,p̟!GqiFE0IN p˟!̟!4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCSCALEX%%u5E b>g'JNjn*pF'b@X@?4W}@O{+kCY5]BtO?(XFҦV>g'JNjn*pF'b@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0z€ L& InputFloat, 3Ο!+kCY5]BtOpϟ!ϟ!ϟ!uM@n;LAP!ϟ!\/3Kf͈,pП!GqiFE0IN pϟ!П!4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCSCALEY%%u5E b>g'JNjn*pFXb@X@?4W}@O{+kCY5]BtO?(XFҦV>g'JNjn*pFXb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0܂dKu=ѭ&DefaultModelShader R:>a[EH*M\7wCHӟ!y݀J}NShininessx^!xC!4W}@O{$)rޙG (XFҦVLE2Data, 3%%u5E bLE2Data, 6QA@y:l1E!4 Hm9E4 Hm9E ColorInput color -n,NjlpgSpecularColorxZ!$Q/G|]8-1OSM n#xG!.;]kI 忞@"L!xV!x\!x`!xc!G!qΤIGGI! R:>a[EH*M\>g'JNjn*pFCA`@T@?7wCH>g'JNjn*pF[C)C`@T@?%%u5E b>g'JNjn*p^CCb@T@y݀J}N Ԡ>KC~B?4W}@O{y݀J}NA(XFҦV>g'JNjn*p^XB-Cb@@T@y݀J}N Ԡ>KC~B?)rޙG >g'JNjn*pFCA`@T@?$Q/G|]8>g'JNjn*pFC`B`@T@?4 Hm9E-n,Njlpg????QA@y:l1>g'JNjn*pFAC`@@@?.;]kI 忞@-1OSM n 럆L<_ї0qΤIGGIL{0nBg)`! Phong Lighting P)\Fvq3H!:6~KAMt:6~KAMDiffuseColorzDiffuseColor : RtFloat4 - The four component vector or color F 1+5?N>/xL!xI!R]JĀ7tR]JĀ7SpecularColor|SpecularColor : RtFloat4 - The four component vector or color F 1+5?N>/xL!I!vJ ~~tvJ ~~ShininessdShininess : RtFloat - Scalar floating point value F 1+5?N>/xL!xJ!$&*2HӁdńt$&*2HӁdńNormalVectorjNormalVector : RtFloat3 - The three component vector F 1+5?N>/xL!J!Z[G {/,tZ[G {/,EyeDirectionjEyeDirection : RtFloat3 - The three component vector F 1+5?N>/xL!xK! zE%Sft zE%SfLightDirectionnLightDirection : RtFloat3 - The three component vector F 1+5?N>/xL!K!w!XCLtw!XCLLightColorvLightColor : RtFloat4 - The four component vector or color F 1+5?N>/xL!xL! B#A)[(dT B#A)[(dResultColorxResultColor : RtFloat4 - The four component vector or color F 1+5?N>/b!L!4W}@O{%%%u5E b-1OSM n"(XFҦVLE2Data, 1 %%u5E b>g'JNjn*pFCLb@d@?4W}@O{(XFҦV>g'JNjn*pFCLb@d@?Z[G {/,:6~KAM B#A)[(dP)\Fvq3wk0.DX?_|X?dK;,w!XCL$&*2HӁdńvJ ~~-1OSM n 럆L<_ї0 zE%SfR]JĀ7/|V FK| ShaderInput?ڵfA'7(xO!%dLrQn0J!piDM7^@A툷p1M@o=xQ!}E[2CV)H!Q!`MOWIB"ѥxJ!HtO{/( qQ@RjxS!ҥY@e&xK!B_;OKFJ*rxT!HRSEpFCK!~__um1CR¬5ٻzEuSSaI7֏bxV!4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1y"WMB])5FYPx*yI#h"mO('B_;OKFJ*rڳVܯ]FՃ尲+%tsxi_GetInputLightDistRtFloat qQ@RjڳVܯ]FՃ尲'!tsxi_GetInputAlphaRtFloatp1M@o=ڳVܯ]FՃ尲,&tsxi_GetInputTexCoordsRtFloat3^@A툷ڳVܯ]FՃ尲+%tsxi_GetInputPositionRtFloat4)5FYP%%u5E b>g'JNjn*pFC`@0@?HRSEpFCڳVܯ]FՃ尲-'tsxi_GetInputLightColorRtFloat4ٻzEuSڳVܯ]FՃ尲2,tsxi_GetInputWorldToObject RtFloat4x44W}@O{SaI7֏bڳVܯ]FՃ尲2,tsxi_GetInputObjectToWorld RtFloat4x4~__um1CR¬5ڳVܯ]FՃ尲3-tsxi_GetInputTangentToWorld RtFloat3x3x*yI(XFҦV>g'JNjn*pFC`@0@?#h"mO('ҥY@e&ڳVܯ]FՃ尲+%tsxi_GetInputLightDirRtFloat3`MOWIB"ѥڳVܯ]FՃ尲)#tsxi_GetInputNormalRtFloat3?ڵfA'7(ڳVܯ]FՃ尲)#tsxi_GetInputEyePosRtFloat4%dLrQn0ڳVܯ]FՃ尲)#tsxi_GetInputEyeDirRtFloat3y"WMB]}E[2CV)ڳVܯ]FՃ尲("tsxi_GetInputColorRtFloat4-1OSM n 럆L<_ї0HtO{/(ڳVܯ]FՃ尲*$tsxi_GetInputTangentRtFloat3piDM7ڳVܯ]FՃ尲)#tsxi_GetInputEyeDistRtFloat]IDjdc InputColorxZ!"uI̎4)]t"uI̎4)] ColorInput color -n,Njlpgx[!Z!Z!\PtIL;I1T\PtIL;I1ColorBrickColor brick F 1+5?N>/xI!x[!q\W D ɭtq\W D ɭoColorOutput color -n,Njlpg[!GqiFE0IN pZ!x\!4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1GqiFE0IN SPECULARCOLOR\PtIL;I1"uI̎4)]%%u5E b>g'JNjn*pFX@@b@X@?4W}@O{(XFҦV>g'JNjn*pFX@@b@X@?q\W D ɭ-1OSM n 럆L<_ї0z€ L& InputFloatx^!+kCY5]BtOpx_!^!^!uM@n;LAPI!x_!\/3Kf͈,p_!GqiFE0IN p^!x`!4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1GqiFE0IN SHININESS%%u5E b>g'JNjn*pFPb@X@?4W}@O{+kCY5]BtOA(XFҦV>g'JNjn*pFPb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0fC{oShaderModelxb!qΤIGGIPG!b!C/-~CxrEtC/-~CxrE Color$Input color brick F 1+5?N>/xb!xc!4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1%%u5E b>g'JNjn*pF DA`@P@?4W}@O{(XFҦV>g'JNjn*pF DA`@P@?C/-~CxrE-1OSM n 럆L<_ї0qΤIGGI܂dKu=4ح"SolidColorShaderxe!.;]kI 忞@"i!m!e!4W}@O{$%%u5E b-1OSM n"xg!"uI̎4)]k!g!5OD.GWf5(!(XFҦVLE2Data, 1"uI̎4)]-n,Njlpg????%%u5E b>g'JNjn*pFDC`@0@?5OD.GWf54W}@O{(XFҦV>g'JNjn*pFBxBb@H@?.;]kI 忞@-1OSM n 럆L<_ї0"YMڿ$ZߦDShaderColorh!5OD.GWf5Pg!xi!C/-~CxrEph!i!4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1%%u5E b>g'JNjn*pFChB`@P@?5OD.GWf54W}@O{(XFҦV>g'JNjn*pFChB`@P@?C/-~CxrE-1OSM n 럆L<_ї0]IDjdcInputColork!"uI̎4)]pl!xl!xl!\PtIL;I1Pxi!l!q\W D ɭpxm!GqiFE0IN pxl!m!4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1GqiFE0IN DIFFUSECOLOR\PtIL;I1"uI̎4)]%%u5E b>g'JNjn*pFBdBb@X@?4W}@O{(XFҦV>g'JNjn*pFBdBb@X@?q\W D ɭ-1OSM n 럆L<_ї0b=h0CRf0Material Flavor Managero!gYأC۲+?P!xp!!EJGWMt!EJGWMMaterial IndexMaterial Indexo!p!6~qK;2t&t6~qK;2t&Active Info4Active and validity flags NOI/)[&o!xq!4W}@O{$q!J*4A@|tJ*4A@|Mat Item 0BDynamic material input connectoro!J*4A@|!EJGWM6~qK;2t&NOI/)[&2/ChˢjCgYأC۲+?8ʯȥJH|o7 gH]kDwP\V`d8pM*#ͺO/tfѭ8Lwb"qDeUW