gH]kDwP&trueSpaceBeta 7.61[VS_O93YJClinton Reese, Clintons 3D Creations`d8pM*#ͺO~^PNG  IHDR`Z%IDATxjPxYh:\$Ibօ-tQЅ4QAPah{HPK-Ÿ E||e q89H0 30 30 30 30 30 30 30Byw-&:^؁2@$5g,p~v`PX>0ݚҤQYZ.O_EoT|DU pRE߼=,V?x8o ;۾2uraϦ鍅 J[i~qpkGxjSi '[~_ e,IʟQ%[,I|v[efӄ tϬ*( ~L&3k,|O?`f`f`f`f`f`f`f`f`f`f`f`f/yMX\]KIENDB`/tfѭ8Lwb"q\܂dKu=z8install Radial Array Button^_#.;]kI 忞@.;]kI 忞@"SubObject*Encapsulated objects"b_#p`#k##^_#4W}@O{4W}@O{$ Owner4Owner of the Encapsulator$(XFҦV(XFҦV"LE2Data$LE2 Data for node >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*pFCBk@@T@B?vRm)EC!a<System.Alert("hello there!"); zFAa|say hello-1OSM n 럆L<_ї˃DefaultOˁ CRih[ #}}LActivity.Run('%THIS_NAME%' + "/doIt")8install buttons and scriptsZ`Ez]UO GFʠN= 0#.}} version 1.1.1Z`Ez]UO}}~#d#dSI`._E#ބ6zCustomFrame(b_#.;]kI 忞@"#b_#4W}@O{$*O΢C}*O΢C} WinIDWindow IDx#-pϗO 0)t-pϗO 0)PositionShelf Position mz!OHwc##>-MD'zZt>-MD'zZRectangle"Screen Rectangle THj6F 2s*x#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"&BXPjKɸtEkJHx(V@W|_ D8M0cryN{485B725E-A69D-4AD5-A876-B3BBA72D2C0A}mk~_Lb.[FB%n*jRÒGbDeC 1 [GDJM6*Mv4K8Y8O#=gtM\q^2FII3w{Q !aOt f$I `7v43N t I)LL !obFFJL}Ī8mݧC>!7^^Dy(XFҦV>g'JNjn*pFBCX@1@?*O΢C}N{5FDDFE6E-518F-464A-B4B9-8D24B556E36C}9@'s_N>G1-pϗO 0)mz!OHwc ˽OSF L$3>=жaMpTϕ`&FSx9w>-MD'zZ%]GJ7ψj^G@!,2bOdA)f 6^r[HJv-, ^r[HJv-, KXtO LVG))jHET?V{N7l ~൱D@ j#^cKTLA7~f|7EId 86*n^HD9t N'D)L-^r[HJv-, lzToolbar.;]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/$ķKniaWz$radialArrayButton'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 忞@"p`#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 ko62ce+Z0uL'}6t"eY '4XkNZ9UՏb| Xp8::ff}DIt㵴zVWN\{`zq[g09!_,ǿ8swzH]}êB:1qI/RzQA7eXjvRN]:;5 ŒTN0͋otX<-W] Zo~G"yF͜ ק.{CFX79<*zjmҲxJQfVK0b"n=k>Elh403x"9 uʱ6< xfJQ!x=Ѫm ;pm%h!3f #: 8QPK|>zv~Dwm*2Q3+Hҝ/-ꐲhBj1ʒAIJ#zxHi\sJf~Tvl`-R.˃>U90w2a8a܆=XV IXZT'mjEh0Lo>3%%<Ӈx@I<6yѺ?đuP!'+]530ag=̱FxRwAs L"tΪ0"KS=(sZKB%käy}e]f/fRw)fui=nˑq I|qK"bi(g'JNjn*pceZU@䑧rceZU@䑧r$_scriptData*Internal Script data [җJs@ %k#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@ &NewCommand // Execute // Called to execute the command function Execute(params) { // TODO: put your action code here owner = System.ThisOwner(); button1 = "radialArrayButton"; theScript = "radialArrayScript"; // 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)G4W}@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=s{$radialArrayScript#.;]kI 忞@"Ç#Ƈ##4W}@O{$(XFҦV"-1OSM n"(XFҦV>g'JNjn*pF@DBd@@@\eC?-1OSM n 럆L<_ї˞ GFʠN=#.}} version 1.1.1Z`Ez]UO}}dS48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand// doGrid // convert a scene object to a radial array object // December 4 2010 // Clinton Reese clintons3d.com // // Execute // Called to execute the command function Execute(params) { //owner of this encapsulator owner = System.ThisOwner(); //the selected node firstsel = Node.FirstSelected(); //the owner of the selected node firstselowner = Node.Owner(firstsel); //scratch working matrices workMatrix = System.CreateDO("Math Package/Matrix Float Data"); workMatrix2 = System.CreateDO("Math Package/Matrix Float Data"); //be sure selection has a wldmatrix connector if(!Node.ConExists(firstsel,"WldMatrix")) { System.Alert("Not a valid selection"); return; } //copy grid to the owner of the selected object thegrid = Node.Copy(owner + "/radialArrayTemplate",firstselowner); //note if object ownermatrix is connected and to what - take encapsulation into account ownermatcount = Node.LinkedInputNodeCount(firstsel,"OwnerMatrix"); if(ownermatcount>0) { ownermatnode = Node.LinkedInputNode(firstsel,"OwnerMatrix",0);//full name, index 0 } else ownermatnode = ""; //translate array to the selected object workMatrix = Node.Value(firstsel,"ObjMatrix"); workMatrix2.LoadIdentity(); workMatrix2.SetTransX(workMatrix.GetTransX()); workMatrix2.SetTransY(workMatrix.GetTransY()); workMatrix2.SetTransZ(workMatrix.GetTransZ()); Node.Value(thegrid,"Matrix") = workMatrix2; //move selected object into grid encapsulator //theoriginal = Node.Move(firstsel,thegrid);move result empty node theoriginal = Node.Copy(firstsel,thegrid); Node.Delete(firstsel); //set local translation of the object to (0,0,0) workMatrix2 = Node.Value(theoriginal,"ObjMatrix"); workMatrix2.SetTransX(0); workMatrix2.SetTransY(0); workMatrix2.SetTransZ(0); Node.Value(theoriginal,"Matrix") = workMatrix2; // //both local and world coord // //connect the object owner matrix to the grid world matrix Node.ConnectTo(thegrid + "/Transform", "WldMatrix", theoriginal, "OwnerMatrix"); //rename the original mesh object newname = Node.Rename(theoriginal,"meshObj"); //remove cone object placeholder Node.Delete(thegrid + "/replaceme"); //connect grid to ownermatrix if needed if(ownermatnode!="") { Node.ConnectTo(ownermatnode, "WldMatrix", thegrid, "OwnerMatrix"); } //rename the grid thegrid2 = Node.SafeRename(thegrid,"radialArray"); //run the update to initialize the array Activity.Run(thegrid2 + "/update copies"); //select the grid and open the panel view Node.Select(thegrid); UserInterface.OpenToolPanelViewEx2("" , "" ,thegrid2, 3,1,0) } NScript Object Package/jScript language ?4W}@O{(XFҦV>g'JNjn*pnDB`@@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@Ho܂dKu=|r{(radialArrayTemplate Ƈ#.;]kI 忞@"x݅#p#p#Bg#Eg#x_$g#g##g#'g#+g#/g#3g#6g#`#`#,#0#`5#`9#Ƈ#4W}@O{$xׅ#׊;Jf|ڢ׊;Jf|ڢBWldMatrixWorld matrix `^02eE{|@Rׅ#偢jD%~`8偢jD%~`8BObjMatrix Object's matrix `^02eE{|@Rx؅#WAGWAGOwnerMatrixOwner's matrix `^02eE{|@p#؅#<ĠF姁J]<ĠF姁J]DMatrix,Object's input matrix `^02eE{|@Tp#(XFҦV"-1OSM n"xڅ#H=1Gn@`U)H=1Gn@`U) Radial segments.Count of side segmentsx# # #2g#څ#1)ps6DU9rL1)ps6DU9rLRadiusBottom(Bottom radius value## #.g#xۅ#BƆK``;a!BƆK``;a!SliceRadial,Radial slice to anglex# # #*g#ۅ# <@@: <@@:DaxischoiceTg#`#`#;#x܅#@,G8R(@,G8R(HeightMesh Height`4#`=# 偢jD%~`8(XFҦV>g'JNjn*pF@xD.k@q@? <@@:׊;Jf|ڢ@,G8R(WAG`^02eE{|@B????<ĠF姁J]`^02eE{|@B????1)ps6DU9rL@H=1Gn@`U)-1OSM n 럆L<_ї˹ Default clean GFʠN=[XG1 }}<ĠF姁J]Z`Ez]UO GFʠN= [XG1 }}WAGZ`Ez]UO GFʠN= 0[XG1 }}偢jD%~`8Z`Ez]UO GFʠN=0@[XG1 }}׊;Jf|ڢZ`Ez]UO GFʠN=@pX1 }}H=1Gn@`U)Z`Ez]UO1釥GP>ap@X0 }}H=1Gn@`U)Z`Ez]UO GFʠN=pp1 }}1)ps6DU9rLZ`Ez]UO1釥GP>app0 }}1)ps6DU9rLZ`Ez]UO GFʠN=Xpp1 }}BƆK``;a!Z`Ez]UO1釥GP>apXp0 }}BƆK``;a!Z`Ez]UO[~K^3s H06 tz0 <@@:ƄvR^I҂{iks[~K^3sH 06 uzb1 <@@:ƄvR^I҂{iks[~K^3s 06 uz2 <@@:ƄvR^I҂{iks AϠOsX)}}AxisZ`Ez]UO GFʠN=H &wzXƄvR^I҂{iks GFʠN=H &xyYƄvR^I҂{iks GFʠN= &w} ZƄvR^I҂{iksPN AnqH@XB}}H=1Gn@`U)@D=Z`Ez]UOPN AnqHXpB}}BƆK``;a!? G=Z`Ez]UOPN AnqHpB}}1)ps6DU9rLo:zD>Z`Ez]UO AϠOsX0@)vppƄvR^I҂{iksOˁ CRih[p}}PNode.Select('%THIS_NAME%' + "/Center");Center ControlZ`Ez]UOOˁ CRih[p}}axischoice = Node.Value('%THIS_NAME%',"axischoice"); if(axischoice ==0) conename = "/ConeX"; if(axischoice ==1) conename = "/ConeY"; if(axischoice ==2) conename = "/ConeZ"; Node.Select('%THIS_NAME%' + conename);Control MeshZ`Ez]UOOˁ CRih[@}}TActivity.Run('%THIS_NAME%' + "/cleanIt");Disband ArrayZ`Ez]UO GFʠN=.}} version 1.1.1Z`Ez]UO GFʠN=p7 }}Height@,G8R(Z`Ez]UO1釥GP>ap0 }}@,G8R(Z`Ez]UOPN AnqHB}}@,G8R(D>Z`Ez]UO}}}}BƆK``;a!CdS܂dKu=${ ConeZ܅#.;]kI 忞@"PQVPe1]#2]#p#x݅#4W}@O{$ G?ŋ G?ŋ tSObjLtrueSpace object synchronization data W5f@(䐈Z<#: x#׊;Jf|ڢZ: #偢jD%~`8Z&g#x#WAGx##<ĠF姁J]\#$1&KߊPV$1&KߊPV$AutoShowPanelAutoShowPanel$#-V?XM%-V?XM%Material ListMaterial List +N⩊*(XFҦV"#@,G8R(PTx#H=1Gn@`U)T#1)ps6DU9rLSx#BƆK``;a!PV#L[> IkF:ǭJL[> IkF:ǭJB Pivot0Local coordinate system `^02eE{|@Rx#S $hKnPSVmS $hKnPSVm"RenderAttributes"RenderAttributes HEoq5v<-V?XM%S $hKnPSVmL[> IkF:ǭJ偢jD%~`8(XFҦV>g'JNjn*pFBX@1@?׊;Jf|ڢ@,G8R(WAG G?ŋg'JNjn*pFB BX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї0{`D@}㒱zCone primitive RtveDCE`"IWJPBxޅ#PS*tL V0*Pt*tL V0*PRadiusTop"Top radius valueRS1)ps6DU9rLpRPT@,G8R(pRTH=1Gn@`U)pRPUDMN{ g;tDMN{ g;Cap segments4Count of top cap segmentsRU[T}lAuܿxjt[T}lAuܿxj Height segments2Count of height segmentsRPVBƆK``;a!pRV4W}@O{$(XFҦV"-1OSM n" *tL V0*P[T}lAuܿxj(XFҦV>g'JNjn*pFCCb@ b@?@,G8R(-1OSM n 럆L<_ї% Default GFʠN=p@P7 }}Height[T}lAuܿxjZ`Ez]UO1釥GP>apP`0 }}[T}lAuܿxjZ`Ez]UO GFʠN=p = }} RadiusBottom1)ps6DU9rLZ`Ez]UO1釥GP>ap 0 }}1)ps6DU9rLZ`Ez]UO GFʠN=p: }} RadiusTop*tL V0*PZ`Ez]UO1釥GP>ap0 }}*tL V0*PZ`Ez]UO GFʠN=8@pP7 }}RadialH=1Gn@`U)Z`Ez]UO1釥GP>a8P``0 }}H=1Gn@`U)Z`Ez]UO GFʠN=08@< }} RadialSliceBƆK``;a!Z`Ez]UO1釥GP>a0@0 }}BƆK``;a!Z`Ez]UO GFʠN=@P4 }}CapDMN{ g;Z`Ez]UO1釥GP>aP`0 }}DMN{ g;Z`Ez]UOPN AnqHP`>[T}lAuܿxj?K?Z`Ez]UOPN AnqH >1)ps6DU9rLK>Z`Ez]UOPN AnqH>*tL V0*PK>Z`Ez]UOPN AnqH`Pp`>H=1Gn@`U)@@K?Z`Ez]UOPN AnqHP`>DMN{ g;K?Z`Ez]UO GFʠN=@8`)}}SegmentsZ`Ez]UON\q+nN-K^80@A\VVv@BƆK``;a!Z`Ez]UOY@ GFʠN= p01 }}@,G8R(Z`Ez]UO1釥GP>ap 00 }}@,G8R(Z`Ez]UOPN AnqH 0>@,G8R(K>Z`Ez]UOtveDCE`"IWJ1)ps6DU9rL@H=1Gn@`U)DMN{ g;BƆK``;a!C܂dKu=zMaterial Listd.;]kI 忞@"gPiPe4W}@O{$e-V?XM%#(XFҦV"-V?XM%(XFҦV>g'JNjn*pFBBX@1@?) 6G%z,Material List Managerf-V?XM%PePg&zB}J?t&zB}J?&Active material ID2Active material class IDfg4W}@O{$PhQbicHU^ 2=tQbicHU^ 2=Mat Chunk 0BDynamic material input connector |E8yf-V?XM%QbicHU^ 2=&zB}J?܂dKu={Material 0h.;]kI 忞@"]#"]#Pi4W}@O{$igYأC۲+?gYأC۲+?Material ChunkMaterial Chunk |E8yPhgYأC۲+?b=h0CRfz0Material Flavor ManagerPjgYأC۲+?Pij!EJGWMt!EJGWMMaterial IndexMaterial IndexPjPk6~qK;2t&t6~qK;2t&Active Info4Active and validity flags NOI/)[&Pj]#4W}@O{$]#?.9>DGl{?t?.9>DGl{?Mat Item 0BDynamic material input connectorPj!EJGWM?.9>DGl{?6~qK;2t&NOI/)[&2/ChˢjCgYأC۲+?~wC쇀D{ Solid ]#.F_P#T.F_P#Material Output material __W8E#(]#]#n%⟀A}aJtn%⟀A}aJDiffuseColorDiffuseColor -n,Njlpg]#]#>]zJ4 t>]zJ4 (VertexColorStrength(VertexColorStrength]#]#J.HE /*gtJ.HE /*gShininessShininess]# ]#8VnZN:W pt8VnZN:W p DiffuseStrength DiffuseStrength]# ]#ll-#Ez k^tll-#Ez k^"SpecularStrength"SpecularStrength]#!]#K#uiL$tK#uiL$AlphaTestAlphaTest :KrbSx]#!]#,L?D}t,L?D}AlphaTestValueAlphaTestValue]#"]#4W}@O{$J.HE /*g?>]zJ4 n%⟀A}aJ-n,Njlpg????.F_P#,L?D}ll-#Ez k^K#uiL$:KrbSxbDisabledEnabledAs OpaqueDisabled8VnZN:W p?"L2OƲ@5N{ Pivot"]#L[> IkF:ǭJPB##]#<ĠF姁J]pD"]#$]##]#WAGp"]#$]#$]#׊;Jf|ڢpB1]#4W}@O{$L[> IkF:ǭJ׊;Jf|ڢWAG<ĠF姁J]`^02eE{|@B?eϳ%/S?Z>WS?D@#r43KQS?u8DMhbE{OwnerName1]#6VPoint Size in Point rendering.2]#4]#\Eh{5t\Eh{5Points ColorLColor of points during the rendering. -n,Njlpg2]#5]#"PbEGDߗrt"PbEGDߗr0Ignore mesh point color0Ignore mesh point color 2]#5]#F?N dtF?N d.Ignore mesh point size.Ignore mesh point size 2]#6]#]*qBCxt]*qBCxEdges opacityEdges opacity2]#6]#\J:I%7ut\J:I%7uEdges ColorEdges Color -n,Njlpg2]#7]#iA޲1rIK>XtiA޲1rIK>X0Ignore mesh edges color0Ignore mesh edges color 2]#7]#,ot"AaYt,ot"AaY$Show hidden lines`Do not use ZBuffer in point and wireframe modes 2]#8]#^RI8ÿRt^RI8ÿRShow backfaceslEnable two-sided rendering when Color mode is enabled 2]#p#çwH5#VtçwH5#V0Ignore layer attributesvDo not combine render attributes with layer defined values 2]#p#4W}@O{ Owner%J@#QLLE2Data-1OSM n-1OSM n#LayoutLayout 럆L<_їLayout#(XFҦVLE2Data, 1"p#o[nfFto[nfF Overlay opacity Overlay opacity2]#p#zgGFohN)tzgGFohN)Overlay ColorOverlay Color. -n,Njlpg2]#p#vhD zʔtvhD zʔ4Ignore mesh overlay color6Ignore mesh overlay color. 2]#W0@zdW0@zd$VersionVersion$p#ȅ8vDCxZtȅ8vDCxZInvisibleInvisible flag 2]#p#F+2MGtF+2MGCast shadows$Cast shadows flag 2]#p#I2GWM:).$tI2GWM:).$ Receive shadows Receive shadows 2]#p#mBޖw ptmBޖw pLayer index(Modeler layer index2]#p#fB #^tfB #^$Transparency Mode@Quality of transparency solving :KrbSx2]#p#|$}mK;)t|$}mK;) OverlayEnable*Enable color overlay  2]#p#rg@*oHtrg@*oH OverlayColor*Color of the overlay -n,Njlpg 2]#p#!eLZE^Nt!eLZE^N OverlayStrengthJStrength (visibility) of the overlay 2]#p#pSLDMF:ɅpSLDMF:ɅDObject_NameObject_NameDI2GWM:).$ zgGFohN)vhD zʔS $hKnPSVm]*qBCx?rg@*oHçwH5#V 4W}@O{fB #^:KrbSxv No Hidden FacesNo SortTriangle SortNo Sort\Eh{5-n,Njlpg????\J:I%7u-n,Njlpg???pSLDMF:Ʌ|/Project/Space 3D/radialArrayScript/radialArrayTemplate/ConeZ(XFҦV>g'JNjn*pFC(Bk@ b@?F?N d ȅ8vDCxZ 8Ns2]F+2MG "PbEGDߗr ^mګA~Ksi[(lrsGr?J@#QL>g'JNjn*pFzCCb@q@?W0@zdo[nfFmBޖw p,ot"AaY -1OSM n 럆L<_ї DefaultAdvanced! GFʠN=0@Ƃ1 }}F+2MGZ`Ez]UOͽ>fdN*5Ւh0@Ƃ, }}F+2MGZ`Ez]UO GFʠN= 0Ƃ1 }}ȅ8vDCxZZ`Ez]UOͽ>fdN*5Ւh 0Ƃ, }}ȅ8vDCxZZ`Ez]UO GFʠN=P`Ƃ1 }}mBޖw pZ`Ez]UO1釥GP>aP`Ƃ0 }}mBޖw pZ`Ez]UO GFʠN=@PƂ1 }}I2GWM:).$Z`Ez]UOͽ>fdN*5Ւh@PƂ, }}I2GWM:).$Z`Ez]UO 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=@(P<6 }}Color\J:I%7uZ`Ez]UO B>I(@hP<%}}\J:I%7uZ`Ez]UO GFʠN=P(`<8 }}Opacity]*qBCxZ`Ez]UON\q+nN-K^(Ph`<A\VV?]*qBCxZ`Ez]UO` Y@ GFʠN=hP`<@ }}Enable Obj ModeçwH5#VZ`Ez]UOͽ>fdN*5ՒhP`<, }}çwH5#VZ`Ez]UO GFʠN=h 0<6 }}Color\Eh{5Z`Ez]UO B>I 0<%}}\Eh{5Z`Ez]UO GFʠN=h0@<9 }}Oppacity^mګA~Ksi[Z`Ez]UON\q+nN-K^0@<A\VV?^mګA~Ksi[Z`Ez]UO` Y@ GFʠN=h@P<5 }}Size(lrsGrZ`Ez]UON\q+nN-K^@P<A\VV?$@(lrsGrZ`Ez]UO`UUX@ GFʠN= (0<8 }}Opacity8Ns2]Z`Ez]UON\q+nN-K^( h0<A\VV?8Ns2]Z`Ez]UO` Y@ GFʠN=`hp<1 }}fB #^Z`Ez]UOnevG4'h`p<2fB #^Z`Ez]UO1釥GP>a0<0 }}pSLDMF:ɅZ`Ez]UO GFʠN=h <(}}SurfaceZ`Ez]UO GFʠN=h <'}}PointsZ`Ez]UO GFʠN=0h@<&}}EdgesZ`Ez]UO GFʠN=0<7 }}ObjectpSLDMF:ɅZ`Ez]UO!eLZE^N|$}mK;)^RI8ÿR iA޲1rIK>X 47m2O  {Transformp#<ĠF姁J]pDp#p#p#WAGpp#p#偢jD%~`8PBׅ#p#׊;Jf|ڢPBxׅ#x#Hg##8g#p#4W}@O{$(XFҦV"偢jD%~`8(XFҦV>g'JNjn*pFBBX@1@?׊;Jf|ڢWAG<ĠF姁J]܂dKu={replaceme p#.;]kI 忞@" c#Ko#Lo#So#p#4W}@O{$ G?ŋp#tveDCE`"IWJZ p#׊;Jf|ڢZ p#偢jD%~`8ZWAG<ĠF姁J]\$1&KߊPV$ asvHhTG asvHhTG$NodeIconNodeIcon eSBgc$-V?XM%(XFҦV"S $hKnPSVm -V?XM%S $hKnPSVm偢jD%~`8(XFҦV>g'JNjn*pF D:CX@1@? asvHhTG׊;Jf|ڢWAG G?ŋg'JNjn*pFB BX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї0܂dKu=<{Material List.;]kI 忞@" c#c# c#4W}@O{$c#-V?XM%-V?XM%) 6G%l{,Material List Manager c#-V?XM%Pc#c#&zB}J?p c# c#4W}@O{$c# ISۜt ISۜMat Chunk 0BDynamic material input connector |E8y c#-V?XM% ISۜ&zB}J?܂dKu={Material 0 c#.;]kI 忞@" c#Io#c#4W}@O{$ c#gYأC۲+?c#gYأC۲+?b=h0CRf4{0Material Flavor Managerc#gYأC۲+?P c# c#!EJGWMpc#c#6~qK;2t&pc# c#4W}@O{$c#?.9>DGl{?pc#!EJGWM?.9>DGl{?6~qK;2t&NOI/)[&2/ChˢjCgYأC۲+?~wC쇀DK{ Solid c#.F_P#T.F_P#Material Output material __W8E#(c#Fo#n%⟀A}aJp c#Fo#>]zJ4 p c#Go#J.HE /*gp c#Go#8VnZN:W pp c#Ho#ll-#Ez k^p c#Ho#K#uiL$p c#Io#,L?D}p c#Io#4W}@O{$J.HE /*g?>]zJ4 n%⟀A}aJ-n,Njlpg????,L?D}.F_P#K#uiL$:KrbSxbDisabledEnabledAs OpaqueDisabledll-#Ez k^8VnZN:W p?n':hF% I{Editable shapeJo#VIQGіF͡TtVIQGіF͡TInput Mesh*Input Mesh for Shape >W5f@(䐈Jo#Jo#tveDCE`"IWJPBp#Ko#/nkUCEHLjt/nkUCEHLjSelection.Mesh selected elements >`g4RJLUDJo#Ko#4W}@O{$/nkUCEHLjVIQGіF͡T>W5f@(䐈ٸ*ćIC7 >e*3߿>e*3=*J>e*3=m>*;)l5>=#)>=m*;)g5=")= h* 6H?BJy'HNLjUb)R  8{EE%D7[          ZpߘHXO>;U?>=U?>>U?>>U?????:U@U=UCUuuZ0ub0/ux1??u?1u?Ⱥ1u?0u?><U>?U>>U>>U;U?>U?BU?BU?89Ig"?*???*?*?*??*?>?>*??>*?>?>>>*??>tveDCE`"IWJu8DMhbE{OwnerNameLo#6VXpMo#Ro#,ot"AaYpMo#Ro#^RI8ÿRpMo#So#çwH5#VpMo#So#4W}@O{ Owner%J@#QLLE2Data-1OSM n-1OSM n#LayoutLayout 럆L<_їLayout#(XFҦVLE2Data, 1":g#o[nfFpMo#:g#zgGFohN)pMo#;g#vhD zʔpMo#W0@zdW0@zd$VersionVersion$g#fB #^pMo#>g#|$}mK;)p Mo#?g#rg@*oHp Mo#?g#!eLZE^Np Mo#@g#pSLDMF:ɅDI2GWM:).$ zgGFohN)vhD zʔS $hKnPSVm]*qBCxrg@*oHçwH5#V 4W}@O{fB #^:KrbSxv No Hidden FacesNo SortTriangle SortNo Sort\Eh{5-n,Njlpg????\J:I%7u-n,Njlpg???pSLDMF:Ʌ/Project/Space 3D/radialArrayScript/radialArrayTemplate/replaceme(XFҦV>g'JNjn*pFC(Bk@ b@?F?N d ȅ8vDCxZ 8Ns2]?F+2MG "PbEGDߗr ^mګA~Ksi[(lrsGr?J@#QL>g'JNjn*pFzCCb@q@?W0@zdo[nfFmBޖw p,ot"AaY -1OSM n 럆L<_ї DefaultAdvanced! GFʠN=0@Ƃ1 }}F+2MGZ`Ez]UOͽ>fdN*5Ւh0@Ƃ, }}F+2MGZ`Ez]UO GFʠN= 0Ƃ1 }}ȅ8vDCxZZ`Ez]UOͽ>fdN*5Ւh 0Ƃ, }}ȅ8vDCxZZ`Ez]UO GFʠN=P`Ƃ1 }}mBޖw pZ`Ez]UO1釥GP>aP`Ƃ0 }}mBޖw pZ`Ez]UO GFʠN=@PƂ1 }}I2GWM:).$Z`Ez]UOͽ>fdN*5Ւh@PƂ, }}I2GWM:).$Z`Ez]UO 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=@(P<6 }}Color\J:I%7uZ`Ez]UO B>I(@hP<%}}\J:I%7uZ`Ez]UO GFʠN=P(`<8 }}Opacity]*qBCxZ`Ez]UON\q+nN-K^(Ph`<A\VV?]*qBCxZ`Ez]UO` Y@ GFʠN=hP`<@ }}Enable Obj ModeçwH5#VZ`Ez]UOͽ>fdN*5ՒhP`<, }}çwH5#VZ`Ez]UO GFʠN=h 0<6 }}Color\Eh{5Z`Ez]UO B>I 0<%}}\Eh{5Z`Ez]UO GFʠN=h0@<9 }}Oppacity^mګA~Ksi[Z`Ez]UON\q+nN-K^0@<A\VV?^mګA~Ksi[Z`Ez]UO` Y@ GFʠN=h@P<5 }}Size(lrsGrZ`Ez]UON\q+nN-K^@P<A\VV?$@(lrsGrZ`Ez]UO`UUX@ GFʠN= (0<8 }}Opacity8Ns2]Z`Ez]UON\q+nN-K^( h0<A\VV?8Ns2]Z`Ez]UO` Y@ GFʠN=`hp<1 }}fB #^Z`Ez]UOnevG4'h`p<2fB #^Z`Ez]UO1釥GP>a0<0 }}pSLDMF:ɅZ`Ez]UO GFʠN=h <(}}SurfaceZ`Ez]UO GFʠN=h <'}}PointsZ`Ez]UO GFʠN=0h@<&}}EdgesZ`Ez]UO GFʠN=0<7 }}ObjectpSLDMF:ɅZ`Ez]UO!eLZE^N|$}mK;)^RI8ÿR iA޲1rIK>X 48@J g'JNjn*pLE2Data, 2J@#QLLE2Data, 3-1OSM n# 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ P'NewCommand&// size update // update the physical dimensions of the array // Dec 4 2010 // Clinton Reese - clintons3d.com // // Execute // Called to execute the command function Execute(params) { owner = System.ThisOwner(); //return if template, not the actual array object snowner = Node.ShortName(owner); if(snowner == "radialArrayTemplate") return; // //save cone rotations and pivot worldmatrix //and set rotations to the default values for each axis // // X Cone tempmat = System.CreateDO("Math Package/Matrix Float Data"); tempmat = Node.Value(owner + "/ConeX","Matrix"); pivxorig = System.CreateDO("Math Package/Matrix Float Data");//original pivot matrix pivxorig = Node.Value(owner + "/ConeX/Pivot","WldMatrix"); conexroll = tempmat.GetRoll(); conexpitch = tempmat.GetPitch(); conexyaw = tempmat.GetYaw(); tempmat.SetRoll(0); tempmat.SetPitch(-90); tempmat.SetYaw(0); Node.Value(owner + "/ConeX","Matrix") = tempmat; // Y Cone pivyorig = System.CreateDO("Math Package/Matrix Float Data");//original pivot matrix pivyorig = Node.Value(owner + "/ConeY/Pivot","WldMatrix"); tempmat = Node.Value(owner + "/ConeY","Matrix"); coneyroll = tempmat.GetRoll(); coneypitch = tempmat.GetPitch(); coneyyaw = tempmat.GetYaw(); tempmat.SetRoll(90); tempmat.SetPitch(0); tempmat.SetYaw(0); Node.Value(owner + "/ConeY","Matrix") = tempmat; // Z Cone pivzorig = System.CreateDO("Math Package/Matrix Float Data");//original pivot matrix pivzorig = Node.Value(owner + "/ConeZ/Pivot","WldMatrix"); tempmat = Node.Value(owner + "/ConeZ","Matrix"); conezroll = tempmat.GetRoll(); conezpitch = tempmat.GetPitch(); conezyaw = tempmat.GetYaw(); tempmat.SetRoll(0); tempmat.SetPitch(0); tempmat.SetYaw(0); Node.Value(owner + "/ConeZ","Matrix") = tempmat; // //need to update each of the axis templates // for(axis=0;axis<=2;axis++) { if(axis==0) conename = "/ConeX"; if(axis==1) conename = "/ConeY"; if(axis==2) conename = "/ConeZ"; radiusbot = Node.Value(owner,"RadiusBottom"); pivotMatrix = System.CreateDO("Math Package/Matrix Float Data"); objMatrix = System.CreateDO("Math Package/Matrix Float Data"); //update pivot pivotMatrix = Node.Value(owner + conename + "/Pivot","Matrix"); pivotMatrix.SetTransX(radiusbot); Node.Value(owner + conename + "/Pivot","Matrix") = pivotMatrix ; //update the matrix objMatrix = Node.Value(owner + conename,"ObjMatrix"); if(axis==0) objMatrix .SetTransZ(radiusbot); if(axis==1) objMatrix .SetTransX(-radiusbot); if(axis==2) objMatrix .SetTransX(-radiusbot); Node.Value(owner + conename,"Matrix") = objMatrix ; } // // restore cone rotations for ConeX // tempmat = Node.Value(owner + "/ConeX","Matrix"); tempmat.SetRoll( conexroll) ; tempmat.SetPitch( conexpitch) ; tempmat.SetYaw(conexyaw) ; Node.Value(owner + "/ConeX","Matrix") = tempmat; // and adjust the pivot pivxnew = System.CreateDO("Math Package/Matrix Float Data"); pivxnew = Node.Value(owner + "/ConeX/Pivot","WldMatrix"); dx = pivxnew.GetTransX() - pivxorig.GetTransX(); dy = pivxnew.GetTransY() - pivxorig.GetTransY(); dz = pivxnew.GetTransZ() - pivxorig.GetTransZ(); tempmat.SetTransX(tempmat.GetTransX() - dx); tempmat.SetTransY(tempmat.GetTransY() - dy); tempmat.SetTransZ(tempmat.GetTransZ() - dz); Node.Value(owner + "/ConeX","Matrix") = tempmat; // // restore cone rotations for ConeY // tempmat = Node.Value(owner + "/ConeY","Matrix"); tempmat.SetRoll(coneyroll) ; tempmat.SetPitch(coneypitch ); tempmat.SetYaw(coneyyaw); Node.Value(owner + "/ConeY","Matrix") = tempmat; // and adjust the pivot pivynew = System.CreateDO("Math Package/Matrix Float Data"); pivynew = Node.Value(owner + "/ConeY/Pivot","WldMatrix"); dx = pivynew.GetTransX() - pivyorig.GetTransX(); dy = pivynew.GetTransY() - pivyorig.GetTransY(); dz = pivynew.GetTransZ() - pivyorig.GetTransZ(); tempmat.SetTransX(tempmat.GetTransX() - dx); tempmat.SetTransY(tempmat.GetTransY() - dy); tempmat.SetTransZ(tempmat.GetTransZ() - dz); Node.Value(owner + "/ConeY","Matrix") = tempmat; // // restore cone rotations for ConeZ // tempmat = Node.Value(owner + "/ConeZ","Matrix"); tempmat.SetRoll(conezroll) ; tempmat.SetPitch(conezpitch) ; tempmat.SetYaw(conezyaw); Node.Value(owner + "/ConeZ","Matrix") = tempmat; // and adjust the pivot pivznew = System.CreateDO("Math Package/Matrix Float Data"); pivznew = Node.Value(owner + "/ConeZ/Pivot","WldMatrix"); dx = pivznew.GetTransX() - pivzorig.GetTransX(); dy = pivznew.GetTransY() - pivzorig.GetTransY(); dz = pivznew.GetTransZ() - pivzorig.GetTransZ(); tempmat.SetTransX(tempmat.GetTransX() - dx); tempmat.SetTransY(tempmat.GetTransY() - dy); tempmat.SetTransZ(tempmat.GetTransZ() - dz); Node.Value(owner + "/ConeZ","Matrix") = tempmat; } NScript Object Package/jScript languagePO`)4W}@O{(XFҦV>g'JNjn*pn6D Cb@H@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@Ho܂dKu=4{ ConeYEg#.;]kI 忞@"# # #bcxV$Eg#4W}@O{$ G?ŋFg#tveDCE`"IWJZ`<#  Gg#׊;Jf|ڢZ V Gg#偢jD%~`8Z"g#Hg#WAG #Hg#<ĠF姁J]\#$1&KߊPV$߇#-V?XM%(XFҦV"#@,G8R(# #H=1Gn@`U) ##1)ps6DU9rL # #BƆK``;a!##L[> IkF:ǭJR #S $hKnPSVm [-V?XM%S $hKnPSVm偢jD%~`8L[> IkF:ǭJ(XFҦV>g'JNjn*pFBKCX@1@?׊;Jf|ڢ@,G8R(WAG G?ŋg'JNjn*pFB BX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї0{`D@}㒱L{Cone primitive #tveDCE`"IWJPBFg##*tL V0*Pp # #1)ps6DU9rLp ##@,G8R(p # #H=1Gn@`U)p ##DMN{ g;p # #[T}lAuܿxjp ##BƆK``;a!p # #4W}@O{$(XFҦV"-1OSM n" *tL V0*P[T}lAuܿxj(XFҦV>g'JNjn*pFCCb@ b@?@,G8R(H=1Gn@`U)1)ps6DU9rL@tveDCE`"IWJ-1OSM n 럆L<_ї% Default GFʠN=p@P7 }}Height[T}lAuܿxjZ`Ez]UO1釥GP>apP`0 }}[T}lAuܿxjZ`Ez]UO GFʠN=p = }} RadiusBottom1)ps6DU9rLZ`Ez]UO1釥GP>ap 0 }}1)ps6DU9rLZ`Ez]UO GFʠN=p: }} RadiusTop*tL V0*PZ`Ez]UO1釥GP>ap0 }}*tL V0*PZ`Ez]UO GFʠN=8@pP7 }}RadialH=1Gn@`U)Z`Ez]UO1釥GP>a8P``0 }}H=1Gn@`U)Z`Ez]UO GFʠN=08@< }} RadialSliceBƆK``;a!Z`Ez]UO1釥GP>a0@0 }}BƆK``;a!Z`Ez]UO GFʠN=@P4 }}CapDMN{ g;Z`Ez]UO1釥GP>aP`0 }}DMN{ g;Z`Ez]UOPN AnqHP`>[T}lAuܿxj?K?Z`Ez]UOPN AnqH >1)ps6DU9rLK>Z`Ez]UOPN AnqH>*tL V0*PK>Z`Ez]UOPN AnqH`Pp`>H=1Gn@`U)@@K?Z`Ez]UOPN AnqHP`>DMN{ g;K?Z`Ez]UO GFʠN=@8`)}}SegmentsZ`Ez]UON\q+nN-K^80@A\VVv@BƆK``;a!Z`Ez]UOY@ GFʠN= p01 }}@,G8R(Z`Ez]UO1釥GP>ap 00 }}@,G8R(Z`Ez]UOPN AnqH 0>@,G8R(K>Z`Ez]UOBƆK``;a!CDMN{ g;܂dKu={Material List#.;]kI 忞@"VX #4W}@O{$#-V?XM%߇#(XFҦV"-V?XM%(XFҦV>g'JNjn*pFBBX@1@?) 6G%{,Material List Manager#-V?XM%P#V&zB}J?p#V4W}@O{$WQbicHU^ 2=p#-V?XM%QbicHU^ 2=&zB}J?܂dKu=, {Material 0W.;]kI 忞@"Z_X4W}@O{$XgYأC۲+?WgYأC۲+?b=h0CRf{0Material Flavor ManagerYgYأC۲+?PXY!EJGWMpYZ6~qK;2t&pYZ4W}@O{$[?.9>DGl{?pY!EJGWM?.9>DGl{?6~qK;2t&NOI/)[&2/ChˢjCgYأC۲+?~wC쇀D7{ Solid [.F_P#T.F_P#Material Output material __W8E#([\n%⟀A}aJp[\>]zJ4 p[]J.HE /*gp[]8VnZN:W pp[^ll-#Ez k^p[^K#uiL$p[_,L?D}p[_4W}@O{$J.HE /*g?>]zJ4 n%⟀A}aJ-n,Njlpg????,L?D}.F_P#K#uiL$:KrbSxbDisabledEnabledAs OpaqueDisabledll-#Ez k^8VnZN:W p?"L2OƲ@5N { Pivot`L[> IkF:ǭJPB#`<ĠF姁J]pD`aaWAGp`aa׊;Jf|ڢpBb4W}@O{$L[> IkF:ǭJ׊;Jf|ڢWAG<ĠF姁J]`^02eE{|@BS?%? -?gK2?V?=XpcT$,ot"AaYpcxU$^RI8ÿRpcU$çwH5#VpcxV$4W}@O{ Owner%J@#QLLE2Data-1OSM n-1OSM n#LayoutLayout 럆L<_їLayout#(XFҦVLE2Data, 1"xX$o[nfFpcX$zgGFohN)pcxY$vhD zʔpcW0@zdW0@zd$VersionVersion$xZ$ȅ8vDCxZpcZ$F+2MGpcx[$I2GWM:).$pc[$mBޖw ppcx\$fB #^pc\$|$}mK;)p cx]$rg@*oHp c]$!eLZE^Np cx^$pSLDMF:ɅDI2GWM:).$ zgGFohN)vhD zʔS $hKnPSVm]*qBCx?rg@*oHçwH5#V 4W}@O{fB #^:KrbSxv No Hidden FacesNo SortTriangle SortNo Sort\Eh{5-n,Njlpg????\J:I%7u-n,Njlpg???pSLDMF:Ʌ|/Project/Space 3D/radialArrayScript/radialArrayTemplate/ConeY(XFҦV>g'JNjn*pFC(Bk@ b@?F?N d ȅ8vDCxZ 8Ns2]F+2MG "PbEGDߗr ^mګA~Ksi[(lrsGr?J@#QL>g'JNjn*pFzCCb@q@?W0@zdo[nfFmBޖw p,ot"AaY -1OSM n 럆L<_ї DefaultAdvanced! GFʠN=0@Ƃ1 }}F+2MGZ`Ez]UOͽ>fdN*5Ւh0@Ƃ, }}F+2MGZ`Ez]UO GFʠN= 0Ƃ1 }}ȅ8vDCxZZ`Ez]UOͽ>fdN*5Ւh 0Ƃ, }}ȅ8vDCxZZ`Ez]UO GFʠN=P`Ƃ1 }}mBޖw pZ`Ez]UO1釥GP>aP`Ƃ0 }}mBޖw pZ`Ez]UO GFʠN=@PƂ1 }}I2GWM:).$Z`Ez]UOͽ>fdN*5Ւh@PƂ, }}I2GWM:).$Z`Ez]UO 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=@(P<6 }}Color\J:I%7uZ`Ez]UO B>I(@hP<%}}\J:I%7uZ`Ez]UO GFʠN=P(`<8 }}Opacity]*qBCxZ`Ez]UON\q+nN-K^(Ph`<A\VV?]*qBCxZ`Ez]UO` Y@ GFʠN=hP`<@ }}Enable Obj ModeçwH5#VZ`Ez]UOͽ>fdN*5ՒhP`<, }}çwH5#VZ`Ez]UO GFʠN=h 0<6 }}Color\Eh{5Z`Ez]UO B>I 0<%}}\Eh{5Z`Ez]UO GFʠN=h0@<9 }}Oppacity^mګA~Ksi[Z`Ez]UON\q+nN-K^0@<A\VV?^mګA~Ksi[Z`Ez]UO` Y@ GFʠN=h@P<5 }}Size(lrsGrZ`Ez]UON\q+nN-K^@P<A\VV?$@(lrsGrZ`Ez]UO`UUX@ GFʠN= (0<8 }}Opacity8Ns2]Z`Ez]UON\q+nN-K^( h0<A\VV?8Ns2]Z`Ez]UO` Y@ GFʠN=`hp<1 }}fB #^Z`Ez]UOnevG4'h`p<2fB #^Z`Ez]UO1釥GP>a0<0 }}pSLDMF:ɅZ`Ez]UO GFʠN=h <(}}SurfaceZ`Ez]UO GFʠN=h <'}}PointsZ`Ez]UO GFʠN=0h@<&}}EdgesZ`Ez]UO GFʠN=0<7 }}ObjectpSLDMF:ɅZ`Ez]UO!eLZE^N|$}mK;)^RI8ÿR iA޲1rIK>X ܂dKu=Da{ ConeX^$.;]kI 忞@"#####Xx_$4W}@O{$ G?ŋx`$tveDCE`"IWJZ`;# \] `$׊;Jf|ڢZ ^[ #偢jD%~`8Zg##WAG##<ĠF姁J]\ #$1&KߊPV$ #-V?XM%\(XFҦV" #@,G8R(# #H=1Gn@`U)# #1)ps6DU9rL# #BƆK``;a!# #L[> IkF:ǭJR #S $hKnPSVm c ]-V?XM%S $hKnPSVmL[> IkF:ǭJ偢jD%~`8(XFҦV>g'JNjn*pF(BCX@@@?׊;Jf|ڢ@,G8R(WAG G?ŋg'JNjn*pFB BX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї0{`D@}㒱<{Cone primitive #tveDCE`"IWJPBx`$#*tL V0*Pp##1)ps6DU9rLp##@,G8R(p##H=1Gn@`U)p##DMN{ g;p##[T}lAuܿxjp##BƆK``;a!p##4W}@O{$(XFҦV"-1OSM n" *tL V0*P[T}lAuܿxj(XFҦV>g'JNjn*pFCCb@ b@?@,G8R(-1OSM n 럆L<_ї% Default GFʠN=p@P7 }}Height[T}lAuܿxjZ`Ez]UO1釥GP>apP`0 }}[T}lAuܿxjZ`Ez]UO GFʠN=p = }} RadiusBottom1)ps6DU9rLZ`Ez]UO1釥GP>ap 0 }}1)ps6DU9rLZ`Ez]UO GFʠN=p: }} RadiusTop*tL V0*PZ`Ez]UO1釥GP>ap0 }}*tL V0*PZ`Ez]UO GFʠN=8@pP7 }}RadialH=1Gn@`U)Z`Ez]UO1釥GP>a8P``0 }}H=1Gn@`U)Z`Ez]UO GFʠN=08@< }} RadialSliceBƆK``;a!Z`Ez]UO1釥GP>a0@0 }}BƆK``;a!Z`Ez]UO GFʠN=@P4 }}CapDMN{ g;Z`Ez]UO1釥GP>aP`0 }}DMN{ g;Z`Ez]UOPN AnqHP`>[T}lAuܿxj?K?Z`Ez]UOPN AnqH >1)ps6DU9rLK>Z`Ez]UOPN AnqH>*tL V0*PK>Z`Ez]UOPN AnqH`Pp`>H=1Gn@`U)@@K?Z`Ez]UOPN AnqHP`>DMN{ g;K?Z`Ez]UO GFʠN=@8`)}}SegmentsZ`Ez]UON\q+nN-K^80@A\VVv@BƆK``;a!Z`Ez]UOY@ GFʠN= p01 }}@,G8R(Z`Ez]UO1釥GP>ap 00 }}@,G8R(Z`Ez]UOPN AnqH 0>@,G8R(K>Z`Ez]UOtveDCE`"IWJ1)ps6DU9rL@H=1Gn@`U)DMN{ g;BƆK``;a!CdS܂dKu=zMaterial List#.;]kI 忞@" ###4W}@O{$ #-V?XM% #(XFҦV"-V?XM%(XFҦV>g'JNjn*pFBBX@1@?) 6G%tz,Material List Manager #-V?XM%P ##&zB}J?p # #4W}@O{$#QbicHU^ 2=p #-V?XM%QbicHU^ 2=&zB}J?܂dKu= zMaterial 0 #.;]kI 忞@" # ##4W}@O{$ #gYأC۲+?#gYأC۲+?b=h0CRfz0Material Flavor Manager#gYأC۲+?P # #!EJGWMp# #6~qK;2t&p# #4W}@O{$ #?.9>DGl{?p#!EJGWM?.9>DGl{?6~qK;2t&NOI/)[&2/ChˢjCgYأC۲+?~wC쇀DDz Solid #.F_P#T.F_P#Material Output material __W8E#( # #n%⟀A}aJp # #>]zJ4 p # #J.HE /*gp # #8VnZN:W pp # #ll-#Ez k^p # #K#uiL$p ##,L?D}p # #4W}@O{$J.HE /*g?>]zJ4 n%⟀A}aJ-n,Njlpg????.F_P#,L?D}ll-#Ez k^K#uiL$:KrbSxbDisabledEnabledAs OpaqueDisabled8VnZN:W p?"L2OƲ@5N IkF:ǭJPB # #<ĠF姁J]pD# ##WAGp# # #׊;Jf|ڢpB#4W}@O{$L[> IkF:ǭJ׊;Jf|ڢWAG<ĠF姁J]`^02eE{|@BS?Ę\sU,S?-|S?@ts5OS?u8DMhbE,zOwnerName #6VXp,ot"AaYpX^RI8ÿRpçwH5#VpX4W}@O{ Owner%J@#QLLE2Data-1OSM n-1OSM n#LayoutLayout 럆L<_їLayout#(XFҦVLE2Data, 1"Xo[nfFpzgGFohN)pXvhD zʔpW0@zdW0@zd$VersionVersion$Xȅ8vDCxZpF+2MGpXI2GWM:).$pmBޖw ppXfB #^p|$}mK;)p Xrg@*oHp !eLZE^Np XpSLDMF:ɅDI2GWM:).$ zgGFohN)vhD zʔS $hKnPSVm]*qBCx?rg@*oHçwH5#V 4W}@O{fB #^:KrbSxv No Hidden FacesNo SortTriangle SortNo Sort\Eh{5-n,Njlpg????\J:I%7u-n,Njlpg???pSLDMF:Ʌ|/Project/Space 3D/radialArrayScript/radialArrayTemplate/ConeX(XFҦV>g'JNjn*pFC(Bk@ b@?F?N d ȅ8vDCxZ 8Ns2]F+2MG "PbEGDߗr ^mګA~Ksi[(lrsGr?J@#QL>g'JNjn*pFzCCb@q@?W0@zdo[nfFmBޖw p,ot"AaY -1OSM n 럆L<_ї DefaultAdvanced! GFʠN=0@Ƃ1 }}F+2MGZ`Ez]UOͽ>fdN*5Ւh0@Ƃ, }}F+2MGZ`Ez]UO GFʠN= 0Ƃ1 }}ȅ8vDCxZZ`Ez]UOͽ>fdN*5Ւh 0Ƃ, }}ȅ8vDCxZZ`Ez]UO GFʠN=P`Ƃ1 }}mBޖw pZ`Ez]UO1釥GP>aP`Ƃ0 }}mBޖw pZ`Ez]UO GFʠN=@PƂ1 }}I2GWM:).$Z`Ez]UOͽ>fdN*5Ւh@PƂ, }}I2GWM:).$Z`Ez]UO 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=@(P<6 }}Color\J:I%7uZ`Ez]UO B>I(@hP<%}}\J:I%7uZ`Ez]UO GFʠN=P(`<8 }}Opacity]*qBCxZ`Ez]UON\q+nN-K^(Ph`<A\VV?]*qBCxZ`Ez]UO` Y@ GFʠN=hP`<@ }}Enable Obj ModeçwH5#VZ`Ez]UOͽ>fdN*5ՒhP`<, }}çwH5#VZ`Ez]UO GFʠN=h 0<6 }}Color\Eh{5Z`Ez]UO B>I 0<%}}\Eh{5Z`Ez]UO GFʠN=h0@<9 }}Oppacity^mګA~Ksi[Z`Ez]UON\q+nN-K^0@<A\VV?^mګA~Ksi[Z`Ez]UO` Y@ GFʠN=h@P<5 }}Size(lrsGrZ`Ez]UON\q+nN-K^@P<A\VV?$@(lrsGrZ`Ez]UO`UUX@ GFʠN= (0<8 }}Opacity8Ns2]Z`Ez]UON\q+nN-K^( h0<A\VV?8Ns2]Z`Ez]UO` Y@ GFʠN=`hp<1 }}fB #^Z`Ez]UOnevG4'h`p<2fB #^Z`Ez]UO1釥GP>a0<0 }}pSLDMF:ɅZ`Ez]UO GFʠN=h <(}}SurfaceZ`Ez]UO GFʠN=h <'}}PointsZ`Ez]UO GFʠN=0h@<&}}EdgesZ`Ez]UO GFʠN=0<7 }}ObjectpSLDMF:ɅZ`Ez]UO!eLZE^N|$}mK;)^RI8ÿR iA޲1rIK>X  5@(l\z*Axis Watch Dog Event2|=Bynj`#g#8ffNzw̮8ffNzw̮Change detect.Change detection inputz@Hog#4W}@O{%J@#QL(XFҦVLE2Data, 1#-1OSM n" asvHhTG$2|=Bynj4W}@O{(XFҦV>g'JNjn*pFC[Cb@@P@? asvHhTGeSBgc|< kSG pR<<x}XT9`1~ޘx{[b7j{oXb/REAT@AP`TD{y˙s55<9032]]e3g-HH4k W޾ ?oߊ^}[:t~[b͘ '7/d7hQ hGQ+$&rL2 Q'P`FƢmTs<S_^⊊t7P|WJMɨunF&w5w,l7ݏ#Q5> Q@2m9On#gh4W JZ$5T"*I5(URUJPt{¿,Pv/?Id"ʅ@PtQ+0z"-0e t6ч#WPh?9`޼aIxVD֭u0~YA`2͛wt9' AӁQ{'Svmҍ*95o{B(eʇBٞۃ1 c] dk=)T8 l~h F|^E}Xs#vpj(wD?Fd+;B`klV+Xk6yR٘j:ٌwcr(ߤt(ţ䁳(v6a59k.tۅa x&}4 b} f +og$9$H1ܺ͛;qv\4\83q,a.AX[a,ẍ́F ,wg0f Cߑ!PK.(=g1> EQaOu߆ W|#QE;*m G>W?Z5ń8x8 ^w")8${?Vz7pw3p{t內7A'H/N&Xp4N^Xi ǣ(V _e|Hxo)|wo" 4$d[E65nɫr t9$wIҐ;FheA$ېs97M/<ēkxtq_uS9>ĕGY 6:9[; ߍ_ׅ(ܡ'>\I((ލ)LoL[NPTK6Cm-ԪSp‘OHgzO .=w 疷 s)^Lz>ӕʽ w\](>0= SdЏ(Tr*Pvt Cɽ2 /]bQlj%|0~qٳ"7pg~pN'9Aǐ죧wC<GoN{M{1뫮¯\:{N [I,1a*icBQnޗbêC엮ױ)rP~Uk?լ'#|A0Jr$N {Ǔ?<ݽ/l?sٿW zu@҅'\;C׏O ,voGJ9ٗQ~ ŃDGծjk&1gPTYEs` HF!|@;u  /W>qkw6)w\5xYe6 Cὐx4ڴӭ|M-㖭EC~*y@ ~k7w$3>:l~[ؼƢ«q.e3h݉J(5t"ʐ >L),<<Umi<[kɟc/ 'uIu$/Ӌu S>`z2>hXj(b'Qocq_lhyj_F(R>. ͳq܈i8poys{g>yoÖSHOw:Rs:`; [xȫ ^ s(NZFیy(֡Jq~o˔pԹ5#6lޓbYؿ۹ƽZkkvϰߗvqx3~|!{ (g5")>0?Սy‹:q[\m3?3 N̮8dhiPj8Vy΂+&H o剺 @B(o`,cI5<|gr@ ` gk:VRʬ߆'߽YV4 Db*Uu ??|Nz30m^E:CfeA{Ⱦp8a1_Oo5Ɵsݳ^SUNeR|/Nυ>&U>9;LHrxluUbc3ݸszY`}`anՇBTX7m Sٝ/_^,c3˜I$yQRct:ҁl _#d}u,p_̾b1f cWtg7tLZ)Pco4.,xll}к=5dk6ad{n;8ZJ>qk4anui)$'0慯z26N^3k\_(UE)ەPB}f >`F~%E ,r6nXWp3{x3>ʀ7LH.:z%׊izŇ}<~[Xg<<|F6RiF`֡JGX99b@Jj]ѡtyp4l%پX#VOy8{5><)pzl]Or1<>!z@ԃ3@ rs? P>8 ?/Qr&96n[1|ͯ1!$KrZ8~J{Q#r뀎sz`#0^u@ZnW^}.]W Qj5!x{s9`ž0Թ|l-~rYH[Fkgkk,f9 r.u쨴Dz|$0p\~|:0@> }-+estY1} R7RB̏h &X9!;Y/2b`QaGwM&ʄ$# bvD>3+fke7X=:>Z&Lrb>00ϔ|97e8.c,DXf8Xx_^\u}ӝq,دjDAQb@m&O _w S4-zD¡xvS>w/R|5Bh Ov}C\c3tUz,}ygtb.ވDpߣmތozyx,<a,|ݩ%[vA̞q@y 1i){pgu|_E^yHʃe/[$wܕW =5Wt Y~II;Ba>gƹĀ|g aæY3PmJ+ךyK-4R}b_5 w/jZY}7xOMޖX^.ާ]>qh}@?~#1Ыօ_dylLuB5;ߓ7}Ȧ[oZ2ƫ>[lOek>i cGHMr<9:0KybXӅF:`R%H s& &dwyվ@~3"/ OÇ${!`S|]aMקF@[R$ĐPXK> GߨՄi 5~P2(omr<_WF{ *n?j8}lsƱw-zm_#]Ws=⟎ CS#+Uy8+rB;FJ;ɺ0G~IMkċ\'_k4'^CQlaTbr<_K'D韎hգ%\8<^̏y |.s/8]iƳNgqb])1>C]HGAy ,|g{W& O({~7=eb!ʯ؈~ûkdwټlAc8qg~9-?~ Oܑsd_'ھ#/bփ/倯?pj8m 1Pf[P~w,FShI`=~,q3iu?g>15S/}x=#yE5Ȗ:8]7j>@5`1b @ټ!vp:@nu'v'tùc͟ݡ!QSN'q?Y~uх9Oo5.1 !rtVe>,?ܒ%Lp@2n8`@#sfy逻aOy0=;0i,#ipFE{4o  -)!~^Ca6tt{xNsM{7?[mzIZւd_zSSYDx?in;r Qw95xfF"0ؿ^9'x^1h#?ress O [ b%zY\fo?{ ޗ"/ˋ!C[.B,èsP (ۢEALv6=hI.  =doK_էOg c 9#F~93p۳C͂ـ0A٠C|q} d|"];WR7[D/=;%1 z'sݫ~Xb??χ sq'&9iJ( qe1|5 8 ͯej)|ӿ =,p!iM_{Ntt W}9`?/~ zQ_g\yjU? G8BW PtWy}_ Ehu &Wa8yd9y|r/X,I:9gu\.H␻'yC3ܸ_h2k*T(|vRttͯnhDE:++eG`\bL:G~f =@la̸/z}]UʄPVtpC_c,~q=A2_g{/- d+oE8xKϒ|={0MG/K&{_b|'vN/f@GwWwksܓ En:aT}# /z:s8y::P<(*l 79V,VC;hp>5NDtf} >_uF>@= }=XwA. K_`< v[W= 7#m =b'~?yl}N{>@̧ kj>!;FoDKl؅»c?fYg E3 ϕ|αUكዧb=>x_@8L8To1G-_ٻ1rco˳A}t/콞(q(ttބF^3T^v=x= uA}]$,ϑz }K,0M"N/pkzg~~}_fPu:ZN†U8$`n?? 87Y.-OY7>WPZyƏh>}̯|b3nNkbFlFQgڙwDjcߔYv +gQ>H\pZ+l\\q8'̫/vov3e !HCiC,Ƚ\9Gq!~=U}epxoRZWK;0 j=A`qqit灲0ݫ$K=y"|Y?6H\Yfgx3>I%{vϰt+ؚNɻt%W~AL^W~ۋjF cU; t<1Yົ[y aP BN;]}:=F߿2sg]p~t>!6?:c!8Cev [8pD W&u #0>^w[ECqtG~Rm"`GWfK?c {/+}G`/~gz@VnݙH|c(+c·hOc[uḆw:(OX߄2 M݇lYu(_x&&P9wQ |z!'@wPtJ! ڲaɍȼgW)yE]uOW2w؀˙v3l4GQӀW_+w8e9{GR:Mʼn4/ܡi ٝ Q\Jؾo矾 OO2Y|q=c(E>o5-uyw,~&'W(=g(t`IV,20ԑϞP:.An(LKO8̺0j,FۏI7Q]T<1=NǶ#/ӽp֞*׏<|j8=qy̍yXd!U t57PmoQ[vmt\ .wu|ǜ~Z.WlWCny⻰ nwfA ",6f] P(9CZ_hrTAitP=/ԃّghy,1BI<d@ ]v[ P~ ˏ(֪ ?fzt ܏'/xA>p;,c᜴ v$^+<&?G8#5 G̍Hꏸ;zvpNŜ̫B̓Ot1'sÈ%o/פ7>w}>,&Y *Uesg9:`8-(YgL>el@*(PQė㗯Ex8'HGGvocpIمiC!f\[cujZp}z \/!n$"$"WR.fi 9N؟@='YH,ʴ9 ͻeCaό-1oz~=$^E>+v^+9(,2bۡws5+QR:fY3l/zEšj|~,<*{b5< vDV[^x_܋Cr9Wv":#3'$3k!!8B"8 _ú[W0:=raN%)zƁIOy7fͱG+0*pe/EY .>:]m;g{KRP|o(6識2(]h=w3{~- MATT>P<GT#)?d|/W4 B0qz ]?&fGοs8;gyz<+:; fSQ2mP~q9>@M{2JZ$@ut80(wAGG(=wW4gZ%cY׬ðj Go􋉀El FcTnELZGUjZɫVbrLf_&,׳އBvDf΅<̹2{~&P:ɇP{ (Ln>ǝ||?WNPUjePw&jP[Mx(ڽA0{",Auhn]ax.HJ:%*nN߂aF>q;'{Gw|9PgxρfSx5 >Pk+$--+p9߄5KdX.7r#03vf`y6M{#n/qg];ioAi:l~8Ԇ JnP-$ͭv=8;Io+=>MbH6OÔGl~꠭b;۩m,M!'R'웏"Gp4EݠTi5Z?1sY /Wlo^cpBxtc)2tAFw[Bn:̅t`à4PFZF&_w][.gև)_^`GbK"sgvʸP(W)+lk*Xߕao'x &}|՛l+ԪmQRsL:.Ŝyr^4J.U.H eqzemgk:*a +ZJ|Qhyץ \xxG=2<_{#ys~{Jy6LSݫP^bl.2:Uۣб ͻ.X: p^߽# {;Gg#L{^*s'_Avx^yFrFC3_+Pr}t3k }y~y,P~|>{o?@ Oٽt$j!ud5o7a/_/ (g:<ݦa uE1Av(S {uDݞk:^'{jdƓ'Q~ǰgu Pj@<+*j f|]Ms|}*qϱ2Jui> {oyn/!P*Ǿ+@f \mO>;^{KgqZ= p ۹+{:,W[ܞVg>a?8^QkuZ#*}Fb"n'Wݒ=L.ݟ|f<o|jP:C^^m;QQ[^%Y]G#;ZZtws}P[~0{^keMo'r{ľhNuڣtz$=lQގ^=|uyg矢xgsU^\O-'jzr'rq<rq|*ImI&YD14Y}^^Qٽ2.gqy~.gaثH& _E~;Pi+L2w6bn m3e'u}+SOu]pWX=c-g\o0c5=ۋnyyW =}Nn&_s\ﱜV,SX꺓Ϗ%^+}]/qxϓ8PoеOQ&]JG1{sSy} y~~T96PȅBU޿{8Z-׬r[Tn#M5:*Rnk]yAð#{9b.mٌu&Zg yS Tnmz`Xo*ibvj<f؟&Y}':b*(lVsNi68prkZ;y-ǂޝ)+ ^^_=>a;K>_bJ;x=W{n ެj|UKw^@XV{xw?{ {{0ݫ=a/빬7&ox^QӡX_j+c'oLeh`,ϟ'汘oV՛kL ,8fu{E=Ǟf3Ay-W=Qj[Ti jyoJ7*%Dg%:[Di(f-FD(xJo@3/8ffNzw̮J@#QL>g'JNjn*pFBB`@P@?-1OSM n 럆L<_їActivity GFʠN=1 }}8ffNzw̮Z`Ez]UO GFʠN= = }} Control Out2|=BynjZ`Ez]UOz@Ho 5@(ldz6ObjMatrixX Watch Dog Eventg#2|=Bynj`>#g#8ffNzw̮z@Hog#4W}@O{%J@#QL(XFҦVLE2Data, 1#-1OSM n" asvHhTG$2|=Bynj4W}@O{(XFҦV>g'JNjn*pFlCBX@E@? asvHhTGeSBgc8 kSG pR8ffNzw̮J@#QL>g'JNjn*pFBB`@P@?-1OSM n 럆L<_їActivity GFʠN=1 }}8ffNzw̮Z`Ez]UO GFʠN= = }} Control Out2|=BynjZ`Ez]UOz@Ho 5@(lz6ObjMatrixY Watch Dog Event!g#2|=Bynj`>#"g#8ffNzw̮z@Ho#g#4W}@O{%J@#QL(XFҦVLE2Data, 1#-1OSM n" asvHhTG$2|=Bynj4W}@O{(XFҦV>g'JNjn*pFlCACX@E@? asvHhTGeSBgc8 kSG pRJ@#QL>g'JNjn*pFBB`@P@?8ffNzw̮-1OSM n 럆L<_їActivity GFʠN=1 }}8ffNzw̮Z`Ez]UO GFʠN= = }} Control Out2|=BynjZ`Ez]UOz@Ho 5@(l$z6ObjMatrixZ Watch Dog Event%g#2|=Bynj`>#&g#8ffNzw̮z@Ho'g#4W}@O{%J@#QL(XFҦVLE2Data, 1#-1OSM n" asvHhTG$2|=Bynj4W}@O{(XFҦV>g'JNjn*pFlCCX@E@? asvHhTGeSBgc8 kSG pR8ffNzw̮J@#QL>g'JNjn*pFBB`@P@?-1OSM n 럆L<_їActivity GFʠN=1 }}8ffNzw̮Z`Ez]UO GFʠN= = }} Control Out2|=BynjZ`Ez]UOz@Ho 5@(lz8SliceRadial Watch Dog Event)g#2|=Bynj`>#*g#8ffNzw̮z@Ho+g#4W}@O{%J@#QL(XFҦVLE2Data, 1#-1OSM n" asvHhTG$2|=Bynj4W}@O{(XFҦV>g'JNjn*pFCCX@E@? asvHhTGeSBgc8 kSG pRJ@#QL>g'JNjn*pFBB`@P@?8ffNzw̮C-1OSM n 럆L<_їActivity GFʠN=1 }}8ffNzw̮Z`Ez]UO GFʠN= = }} Control Out2|=BynjZ`Ez]UOz@Ho 5@(ld {:RadiusBottom Watch Dog Event-g#2|=BynjCg#.g#8ffNzw̮z@Ho/g#4W}@O{%J@#QL(XFҦVLE2Data, 1#-1OSM n" asvHhTG$2|=Bynj4W}@O{(XFҦV>g'JNjn*pFC BX@E@? asvHhTGeSBgc8 kSG pR8ffNzw̮@J@#QL>g'JNjn*pFBB`@P@?-1OSM n 럆L<_їActivity GFʠN=1 }}8ffNzw̮Z`Ez]UO GFʠN= = }} Control Out2|=BynjZ`Ez]UOz@Ho 5@(lI{@Radial Segments Watch Dog Event1g#2|=Bynj`>#2g#8ffNzw̮z@Ho3g#4W}@O{%J@#QL(XFҦVLE2Data, 1#-1OSM n" asvHhTG$2|=Bynj4W}@O{(XFҦV>g'JNjn*pFCBX@L@? asvHhTGeSBgc8 kSG pRJ@#QL>g'JNjn*pFBB`@P@?8ffNzw̮-1OSM n 럆L<_їActivity GFʠN=1 }}8ffNzw̮Z`Ez]UO GFʠN= = }} Control Out2|=BynjZ`Ez]UOz@Ho܂dKu= {Center 5g#.;]kI 忞@"`#`##6g#4W}@O{$ G?ŋ7g#tveDCE`"IWJZ de 7g#׊;Jf|ڢZ`# fc 8g#偢jD%~`8Z8g#WAG#9g#<ĠF姁J]\`#$1&KߊPV$`#-V?XM%d(XFҦV" -V?XM%偢jD%~`8(XFҦV>g'JNjn*pF CDb@ b@?׊;Jf|ڢWAG G?ŋg'JNjn*pFB BX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї0܂dKu=zMaterial List#.;]kI 忞@"#`#`#4W}@O{$#-V?XM%`#(XFҦV"-V?XM%(XFҦV>g'JNjn*pFBBX@1@?) 6G%l{,Material List Manager#-V?XM%P#`#&zB}J?p##4W}@O{$`#zqLxs^tzqLxs^Mat Chunk 0BDynamic material input connector |E8y#-V?XM%&zB}J?zqLxs^܂dKu= {Material 0#.;]kI 忞@"# #`#4W}@O{$#gYأC۲+?`#gYأC۲+?b=h0CRf {0Material Flavor Manager`#gYأC۲+?P##!EJGWMp`#`#6~qK;2t&p`##4W}@O{$` #?.9>DGl{?p`#!EJGWM?.9>DGl{?6~qK;2t&NOI/)[&2/ChˢjCgYأC۲+?~wC쇀D { Solid #.F_P#T.F_P#Material Output material __W8E#(` #` #n%⟀A}aJp # #>]zJ4 p #` #J.HE /*gp # #8VnZN:W pp #` #ll-#Ez k^p # #K#uiL$p #` #,L?D}p # #4W}@O{$J.HE /*g?>]zJ4 n%⟀A}aJ-n,Njlpg????.F_P#,L?D}ll-#Ez k^K#uiL$:KrbSxbDisabledEnabledAs OpaqueDisabled8VnZN:W p?n':hF% I {Editable shape`#VIQGіF͡Tp##tveDCE`"IWJPB7g#`#/nkUCEHLjp##4W}@O{$(XFҦV"/nkUCEHLj(XFҦV>g'JNjn*pFBCX@1@?VIQGіF͡T>W5f@(䐈6ٸ*ćIC7 =>i=>i==>i>i=r>i=r>i=r>i=r>i?bN=>i=?r>i=?bN=>i?r>i=bN=>i==bN=>i㺛?>i==㺛?>i=㺛?>i=㺛?>ibN=>i=bN=>ir>i=bN=>i=r>ibN=>i=bN=?bN=?=r?r?bN==bN=r=r h* 6H?BJ <                  y'HN <LjUb)R <   !""""""#$%%&#'())*'+,--.+/0112/33333345667489::;8<=>>?<@ABBC@DDDDDDEFGGHEIJKKLIMNOOPMQRSSTQUUUUUUVWXXYVZ[\\]Z^_``a^bcddeb8{EE%D7[ <        ZpߘHXO f???????????????????????????????????????????????????89Ig"@?>?>@?*??*??>@?>?*?@?*?>>?>>*??*?>>>*?>*??>>>?>>*??*?>???tveDCE`"IWJ48@J #`#z@Ho 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand// recenter // moves the center mesh to the center of the radial array template // December 4 2010 // Clinton Reese clintons3d.com // // Execute // Called to execute the command function Execute(params) { var axischoice = params.ConValue('axischoice'); owner = System.ThisOwner(); if(axischoice ==0) { conename = "/ConeX"; } if(axischoice ==1) { conename = "/ConeY"; } if(axischoice ==2) { conename = "/ConeZ"; } //position centered on selected axis mat = System.CreateDO("Math Package/Matrix Float Data"); mat = Node.Value(owner + conename,"ObjMatrix"); //position only mat.SetPitch(0); mat.SetRoll(0); mat.SetPitch(0); Node.Value(owner + "/Center","Matrix") = mat; } NScript Object Package/jScript language~൱D@ j#^cintaxischoicepa:B U4W}@O{(XFҦV>g'JNjn*pnCCb@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?pa:B U-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@ N'NewCommandf&// calculate center // determine and implement the center of the array based on the center control mesh // December 4 2010 // Clinton Reese clintons3d.com // // Execute // Called to execute the command function Execute(params) { var axischoice = params.ConValue('axischoice'); owner = System.ThisOwner(); //return if the template, not the actual array object in the scene snowner = Node.ShortName(owner); if(snowner == "radialArrayTemplate") return; //pivot before and after rotate pivotmat1 = System.CreateDO("Math Package/Matrix Float Data"); pivotmat2 = System.CreateDO("Math Package/Matrix Float Data"); if(axischoice ==0) { conename = "/ConeX"; } if(axischoice ==1) { conename = "/ConeY"; } if(axischoice ==2) { conename = "/ConeZ"; } //cone points source matrix conemat = System.CreateDO("Math Package/Matrix Float Data"); conemat = Node.Value(owner + conename,"WldMatrix"); //original mesh matrix originmat = System.CreateDO("Math Package/Matrix Float Data"); originmat = Node.Value(owner + "/meshObj","WldMatrix"); //current center location centergoalmat = System.CreateDO("Math Package/Matrix Float Data"); centergoalmat = Node.Value(owner + "/Center","WldMatrix"); //vectors for atan angle measurement constvec = System.CreateDO("Math Package/Point Data"); centvec = System.CreateDO("Math Package/Point Data"); //from original mesh to the center of the selected cone axis - constant constvec.x = conemat.GetTransX() - originmat.GetTransX(); constvec.y = conemat.GetTransY() - originmat.GetTransY(); constvec.z = conemat.GetTransZ() - originmat.GetTransZ(); //from original mesh to the goal set by the center mesh centvec.x = centergoalmat.GetTransX() - originmat.GetTransX(); centvec.y = centergoalmat .GetTransY() - originmat.GetTransY(); centvec.z = centergoalmat .GetTransZ() - originmat.GetTransZ(); //find the angle and radius if(axischoice ==0) { constvec.x = 0; centvec.x = 0; } if(axischoice ==1) { constvec.y = 0; centvec.y = 0; } if(axischoice ==2) { constvec.z = 0; centvec.z = 0; } //new radius is the center vector magnitude centvecmag = Math.sqrt(centvec.x*centvec.x + centvec.y*centvec.y + centvec.z*centvec.z); constvecmag = Math.sqrt(constvec.x*constvec.x + constvec.y*constvec.y + constvec.z*constvec.z); small = 0.00001; if(centvecmag < small || constvecmag < small) { //set new radius Node.Value(owner,"RadiusBottom") = centvecmag; return;//no difference between goal and current direction } //convert to unit vectors centvec.x = centvec.x / centvecmag; centvec.y = centvec.y / centvecmag; centvec.z = centvec.z / centvecmag; constvec.x = constvec.x / constvecmag; constvec.y = constvec.y / constvecmag; constvec.z = constvec.z / constvecmag; //dot product //dotprod = constvec.x*centvec.x + constvec.y*centvec.y + constvec.z*centvec.z; //angle = Math.acos(dotprod);only gives 0 to PI, need -PI to +PI //atan2 to get -PI to +PI angle difference if(axischoice ==0) { x1 = constvec.y; y1 = constvec.z; x2 = centvec.y; y2 = centvec.z; } if(axischoice ==1) { x2 = constvec.x; y2 = constvec.z; x1 = centvec.x; y1 = centvec.z; } if(axischoice ==2) { x1 = constvec.x; y1 = constvec.y; x2 = centvec.x; y2 = centvec.y; } //get the angle in degrees, normalized to + or - 180 degress angle = Math.atan2(y1,x1) - Math.atan2(y2,x2); angledeg = angle * 180/ 3.14159; if(angledeg>180) angledeg = angledeg - 360; if(angledeg<-180) angledeg = angledeg + 360; //read control mesh pivot pivotmat1 = Node.Value(owner + conename + "/Pivot","WldMatrix"); //rotate the control mesh - by adding to the existing rotation xrot = conemat.GetRoll(); yrot = conemat.GetPitch(); zrot = conemat.GetYaw(); if(axischoice ==0) { xrot = xrot + angledeg; } if(axischoice ==1) { zrot = zrot + angledeg; } if(axischoice ==2) { zrot = zrot + angledeg; } RsTool.Rotate(owner + conename, xrot, yrot, zrot);//in degrees local coord //read new control mesh pivot pivotmat2 = Node.Value(owner + conename + "/Pivot","WldMatrix"); //move mesh oldpivot -> new pivot //cones local matrix conematloc = System.CreateDO("Math Package/Matrix Float Data"); conematloc = Node.Value(owner + conename,"Matrix"); dx = pivotmat2.GetTransX() - pivotmat1.GetTransX(); dy = pivotmat2.GetTransY() - pivotmat1.GetTransY(); dz = pivotmat2.GetTransZ() - pivotmat1.GetTransZ(); xv = conematloc.GetTransX() - dx; yv = conematloc.GetTransY() - dy; zv = conematloc.GetTransZ() - dz; conematloc.SetTransX(xv); conematloc.SetTransY(yv); conematloc.SetTransZ(zv); Node.Value(owner + conename,"Matrix") = conematloc; //set new radius Node.Value(owner,"RadiusBottom") = centvecmag; } NScript Object Package/jScript language8d)intaxischoicepa:B U4W}@O{(XFҦV>g'JNjn*pn@ DDb@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?pa:B U-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 5@(lM>Center Control Watch Dog Event#2|=Bynj`#`#8ffNzw̮z@Ho,#4W}@O{%J@#QL(XFҦVLE2Data, 1#-1OSM n" asvHhTG$2|=Bynj4W}@O{(XFҦV>g'JNjn*pFC+Db@S@? asvHhTGeSBgc8 kSG pRJ@#QL>g'JNjn*pFBB`@P@?8ffNzw̮-1OSM n 럆L<_їActivity GFʠN=1 }}8ffNzw̮Z`Ez]UO GFʠN= = }} Control Out2|=BynjZ`Ez]UOz@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ v NewCommand // cleanIt // empty the array object converting it to an ordinary group node // Dec 2 2010 // Clinton Reese - clintons3d.com // // Execute // Called to execute the command function Execute(params) { owner = System.ThisOwner(); snowner = Node.ShortName(owner); if(snowner == "radialArrayTemplate") return;//protect templated version of the encapsulator // //delete all the array nodes, scripts and watchdogs // Node.Delete(owner + "/update copies"); Node.Delete(owner + "/size update"); Node.Delete(owner + "/ConeX"); Node.Delete(owner + "/ConeY"); Node.Delete(owner + "/ConeZ"); Node.Delete(owner + "/ObjMatrixX Watch Dog Event"); Node.Delete(owner + "/ObjMatrixY Watch Dog Event"); Node.Delete(owner + "/ObjMatrixZ Watch Dog Event"); Node.Delete(owner + "/Axis Watch Dog Event"); Node.Delete(owner + "/SliceRadial Watch Dog Event"); Node.Delete(owner + "/RadiusBottom Watch Dog Event"); Node.Delete(owner + "/Radial Segments Watch Dog Event"); Node.Delete(owner + "/Center Control Watch Dog Event"); Node.Delete(owner + "/Height Watch Dog Event"); Node.Delete(owner + "/Center"); Node.Delete(owner + "/recenter"); Node.Delete(owner + "/calculate center"); // //remove all the exported connections // Node.ConRemove(owner, 'axischoice'); Node.ConRemove(owner, 'Radial segments'); Node.ConRemove(owner, 'RadiusBottom'); Node.ConRemove(owner, 'SliceRadial'); Node.Delete(owner + "/cleanIt");//can i delete myself? yes i can } NScript Object Package/jScript languageĨ)4W}@O{(XFҦV>g'JNjn*pn@nDgC`@@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@Ho 5@(lP.Height Watch Dog Event3#2|=Bynj`>#`4#8ffNzw̮z@Ho`5#4W}@O{%J@#QL(XFҦVLE2Data, 1#-1OSM n" asvHhTG$2|=Bynj4W}@O{(XFҦV>g'JNjn*pF8Cb@S@? asvHhTGeSBgc8 kSG pR8ffNzw̮J@#QL>g'JNjn*pFBB`@P@?-1OSM n 럆L<_їActivity GFʠN=1 }}8ffNzw̮Z`Ez]UO GFʠN= = }} Control Out2|=BynjZ`Ez]UOz@Ho48@J W5f@(䐈D;# <@@:D`<#CֹiCpq?rCֹiCpq?rDpointmeshY >W5f@(䐈D<#?@zIwW%%9?@zIwW%%9DpointmeshZ >W5f@(䐈D`=#nsS#eKE=w1nsS#eKE=w1DHeightD2|=Bynj`>#z@Ho2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ ?NewCommand =// update copies // refresh the array based on input values and preexisting array elements // Dec 2 2010 // Dec 29 2010 - add spiral height option, bug in copy orientation // Clinton Reese - clintons3d.com // // Execute // Called to execute the command function Execute(params) { //the point mesh contains the points used as copy locations for the grid array elements var pointmeshX = params.ConValue('pointmeshX'); var pointmeshY = params.ConValue('pointmeshY'); var pointmeshZ = params.ConValue('pointmeshZ'); var axischoice = params.ConValue('axischoice'); var Height = params.ConValue('Height'); axis = axischoice ;//0=x, 1=y, 2=z pointmesh = System.CreateDO("Space 3D Package/Mesh Data"); if(axis==0) { pointmesh = pointmeshX; conename = "/ConeX"; } if(axis==1) { pointmesh = pointmeshY; conename = "/ConeY"; } if(axis==2) { pointmesh = pointmeshZ; conename = "/ConeZ"; } objectName = "meshObj";//original object for the array myVector = System.CreateDO('Math Package/Point Data'); transVect = System.CreateDO('Math Package/Point Data'); points = System.CreateDO("Space 3D Package/Vertex Stream Data"); rawpoints = System.CreateDO("Space 3D Package/Vertex Stream Data"); rawpoints = pointmesh.GetVertices(); points = pointmesh.GetVertices(); pivotMatrix = System.CreateDO("Math Package/Matrix Float Data");//pivot of the point source objMatrix = System.CreateDO("Math Package/Matrix Float Data"); finalMatrix = System.CreateDO("Math Package/Matrix Float Data"); origMatrix = System.CreateDO("Math Package/Matrix Float Data"); newmat = System.CreateDO("Math Package/Matrix Float Data"); idmat = System.CreateDO("Math Package/Matrix Float Data"); idmat.LoadIdentity(); owner = System.ThisOwner(); //return if the template, not the actual array object in the scene snowner = Node.ShortName(owner); if(snowner == "radialArrayTemplate") return; pivotMatrix = Node.Value(owner + conename +"/Pivot","Matrix");//get the pivot of the point source object objMatrix = Node.Value(owner + conename,"ObjMatrix"); //local transform of the point source //get rotation values of the point source finalMatrix.LoadIdentity(); finalMatrix.SetPitch(objMatrix.GetPitch()); finalMatrix.SetYaw(objMatrix.GetYaw()); finalMatrix.SetRoll(objMatrix.GetRoll()); numcopies = pointmesh.GetNumVertices();//object will be copied to each point location numcopies = numcopies - 2;//dont copy to last two points(center and tip) //dangle = 360/numcopies; dangle = Node.Value(owner,"SliceRadial"); if(dangle >= 360) dangle = dangle/numcopies; else dangle = dangle/(numcopies-1); //height = Node.Value(owner,"Height"); //transform the point values based on the point source local rotation for(m=0;m<numcopies;m++) { //base point positions are offset by the pivot so that the point at index 0 is at the location of the source object myVector.x = rawpoints.x(m)-pivotMatrix.GetTransX(); myVector.y = rawpoints.y(m)-pivotMatrix.GetTransY(); myVector.z = rawpoints.z(m)-pivotMatrix.GetTransZ(); //if(Height>0) if(Math.abs(Height)>0) myVector.z = myVector.z + Height*m/numcopies; transVect = finalMatrix.TransformPoint(myVector); points.x(m) = transVect.x ; points.y(m) = transVect.y ; points.z(m) = transVect.z ; } //if any zero value sizes in the array definition then a new list for points needed //the array will have repeating point locations, so process to remove the repeats myVec = System.CreateDO('Math Package/Point Data'); myVec2 = System.CreateDO('Math Package/Point Data'); goodbad = new Array(numcopies); uncleannumcopies = numcopies;//original unmodified number of copies //pre-existing node count after only original object copied into the array encapsulator numNotCopy = 4+1+2+7+1+1+1+1+1+1;//transform, point template, original, script,size update script //2 more templates so have x y and z, 7 watchdogs, center mesh, center script //calculate center script, center control watchdog, cleanUp //height watchdog //how many nodes now numsub = Node.SubObjectCount(owner); //the original object to be copied orig = owner + "/" + objectName; //indicates the original object count - always one numorig = 1; //how many copies of the original are needed? //gives the change in the number of copies deltacopy = (numcopies + numNotCopy - numorig) - numsub ; //delete extra copies - number of array elements has been reduced if(deltacopy < 0) { //get range of postfix values to remove from the array encapsulator end = numsub-numNotCopy; start = end + deltacopy + numorig;//note negative delta added //original has no postfix, copies are "objMesh, 1" "objMesh, 2" etc. for(k=start;k<=end;k++) { nodeName = owner + "/" + objectName + ", " + k; Node.Delete(nodeName); } } //get fresh count after any deletion of nodes above numsub = Node.SubObjectCount(owner); //recalculate the change in the number of copies deltacopy = (numcopies + numNotCopy - numorig) - numsub ; //if no change or positive change in number of copies need to update existing node positions if(deltacopy >= 0) { origMatrix = Node.Value(orig,"ObjMatrix");//for world matrix calculations if array in world mode //move old nodes into new positions for(j=0;j<=(numsub-numNotCopy);j++) { //create a new matrix based on transformed point locations newmat.LoadIdentity(); newmat.SetTransX(points.x(j)); newmat.SetTransY(points.y(j)); newmat.SetTransZ(points.z(j)); newmat.SetPitch(origMatrix.GetPitch()); newmat.SetRoll(origMatrix.GetRoll()); newmat.SetYaw(origMatrix.GetYaw()); if(axis==0) { newmat.SetRoll(origMatrix.GetRoll() - j*dangle); } if(axis==1) { newmat.SetPitch(origMatrix.GetPitch() - j*dangle); } if(axis==2) { newmat.SetYaw(origMatrix.GetYaw() - j*dangle); } //preserve original object scale values newmat.SetScaleX(origMatrix.GetScaleX()); newmat.SetScaleY(origMatrix.GetScaleY()); newmat.SetScaleZ(origMatrix.GetScaleZ()); //get the node name based on the index and apply the new matrix to it if(j==0) nodeName = owner + "/" + objectName ; else nodeName = owner + "/" + objectName + ", " + j; Node.Value(nodeName,"Matrix") = newmat; } } //if positive change in number need to add in the new copies if(deltacopy > 0) { //calculate the first index of the new copies start = numsub - numNotCopy + numorig; for(i=start;i<numcopies;i++) { //copy the original mesh node - copy will automatically name to the first free postfix numerical value cpy = Node.Copy(orig,owner); //create a new matrix based on transformed point locations newmat.LoadIdentity(); newmat.SetTransX(points.x(i)); newmat.SetTransY(points.y(i)); newmat.SetTransZ(points.z(i)); newmat.SetPitch(origMatrix.GetPitch()); newmat.SetRoll(origMatrix.GetRoll()); newmat.SetYaw(origMatrix.GetYaw()); if(axis==0) { newmat.SetRoll(origMatrix.GetRoll() - i*dangle); } if(axis==1) { newmat.SetPitch(origMatrix.GetPitch() - i*dangle); } if(axis==2) { newmat.SetYaw(origMatrix.GetYaw() - i*dangle); } //preserve original scale values newmat.SetScaleX(origMatrix.GetScaleX()); newmat.SetScaleY(origMatrix.GetScaleY()); newmat.SetScaleZ(origMatrix.GetScaleZ()); //apply the matrix and connect to the group transform node Node.Value(cpy,"Matrix") = newmat; Node.ConnectTo(owner + "/Transform", "WldMatrix", cpy, "OwnerMatrix"); } } } NScript Object Package/jScript languageH-^#LKK6Space 3D Package/Mesh DatapointmeshX >W5f@(䐈bLx$մ߁intaxischoice <@@:6Space 3D Package/Mesh DatapointmeshY >W5f@(䐈CֹiCpq?r6Space 3D Package/Mesh DatapointmeshZ >W5f@(䐈?@zIwW%%9numberHeightnsS#eKE=w1bLx$մ߁CֹiCpq?rnsS#eKE=w14W}@O{?@zIwW%%9(XFҦV>g'JNjn*pn#DCb@ `@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]kDwPP`d8pM*#ͺO~/tfѭ8Lwb"q&\