gH]kDwP$Rosetta Beta 7.61[VS_O93YJClinton Reese, Clintons 3D Creations`d8pM*#ͺOPNG  IHDR`ZmIDATxQKAsgט@ ھJa1&; $ 439? > ))))))))))))Y`ѯ<`Q;|q4;lX*ⶶ/XtuT1%v 9Vw;0GڱosVXd @d @X`(̬e ( m-g6<}ya  '!:LL,Cg2M_^v?2ݴ}NKre{,03`Z;fB+6|ģ# 2МZ ؞GmJhNOF'v:pWV}13Lv,W_[˵޿cqwAt|o SD[7CfisG`@0GiMi= _o./o*w>/= !yޞ&u^LLLLLLLLLLLLLLL^fء IENDB`/tfѭ8Lwb"q4^܂dKu=&NURBSpatchAutoload`g.;]kI 忞@.;]kI 忞@"SubObject*Encapsulated objects" (}xԠB08(!P ()i4W}@O{4W}@O{$ Owner4Owner of the Encapsulator$(XFҦV(XFҦV"LE2Data$LE2 Data for node >g'JNjn*p"-1OSM n-1OSM n"LayoutLayout 럆L<_ї"(XFҦV>g'JNjn*pFCBg@@P@AC?-1OSM n 럆L<_ї˯Default GFʠN= xP /}}January 7 2012Z`Ez]UO}}$mlou8DMhbEOwnerNamex6Vg'JNjn*pFCb@@@?48@J g'JNjn*pceZU@䑧rceZU@䑧r$_scriptData*Internal Script data [җJs@ %xԠ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, 2 n|\mJD~n|\mJD~DPanelNameD@'$@DYB ''$@DYB 'BToggleB›2|=Bynj2|=Bynj Control OutTransitionOut4z@Hoz@Ho Control InTransitionIn 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?n|\mJD~J/Project/Space 3D/NURBSpatchAutoloadceZU@䑧r[җJs@ NewCommand Toggle = 0 function Execute(params) { Toggle = 1 - Toggle; if ((Toggle == 1)) { var PanelName = params.ConValue('PanelName') Activity.Run(System.ThisOwner() + "/AutoRunMe"); } params.ConValue("Toggle") = Toggle }NScript Object Package/jScript language\stringPanelNamen|\mJD~intToggle'$@DYB '4W}@O{(XFҦV>g'JNjn*pnDb@@T@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?'$@DYB '-1OSM n 럆L<_ї< GFʠN=PXd1 }}z@HoZ`Ez]UO1釥GP>aPXd0 }}z@HoZ`Ez]UO GFʠN=F Xd1 }}n|\mJD~Z`Ez]UO1釥GP>aF Xd0 }}n|\mJD~Z`Ez]UO GFʠN= P0Xd1 }}2|=BynjZ`Ez]UO1釥GP>aP 0Xd0 }}2|=BynjZ`Ez]UO GFʠN=0P@Xd1 }}'$@DYB 'Z`Ez]UO1釥GP>aP0@Xd0 }}'$@DYB 'Z`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Hoͤ*EgbĬ:$Toggle2AEHM'ceZU@䑧r%B4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n#›mnJeRHdtmnJeRHdDinValueNo descriptionDG;DBZTG;DBZBActiveNo description B2AEHM'>g'JNjn*pFBC`@0@?G;DBZ ceZU@䑧r[җJs@ .Toggle var OFF = false; var ON = false; function OnComputeOutputs(params) { var inValue = params.ConValue('inValue') if (inValue == 0) {OFF = true} if (inValue == 1) {ON = true} Active = true; if (OFF && ON) {Active = false} params.ConValue('Active') = Active } function OnPostLoad(params) { params.ConValue('Active') = true; } NScript Object Package/jScript languageintinValueNo descriptionmnJeRHdbooleanActiveNo description G;DBZ4W}@O{(XFҦV>g'JNjn*pF@DAb@H@?mnJeRHd-1OSM n 럆L<_ї0.;]kI 忞@}O΍d($Timer Event 2|=Bynj4TK?JFܟ5TK?JFܟ5ActiveActive flag uW}Mzq>uW}Mzq>Period&Timer period in msE;c_J8@E;c_J8@ FrameTime frame:.J NT):.J NT) Time$Time of the framez@Ho04W}@O{$(XFҦV"-1OSM n"-ɭNaė?-ɭNaė?SessionId>Shared Space session Client ID v MFfw v MFfw NamebName of the participant that controls this timer[ʖ:LU77[ʖ:LU77$Privileges&Network privileges$ asvHhTG asvHhTG$NodeIconNodeIcon eSBgc$ 2|=Bynj-ɭNaė?:.J NT)V-/N@(XFҦV>g'JNjn*pFcCc@ a@? asvHhTGeSBgcd  TO 1BÕrCWsdxX6n vX  *HJww#- ݭbwΨtse=F~s6q'YZmmm{Ů]{0slL>3f&.> W޽`dl_ p^i)So߾ӧO>|x_̄8=~՚|mk쇍{?6gghӄfN0`; #F AddlWptro+%VcԘnC`QX+- c x7*R͞~O}}u7$?`XnuuX:AVVBBB>o`݇pX`}؀!}1p>tD6xX|DCO6A{W.'#Mܻb|җ0G6`*$Fİ1fƎC D6b`|<|FF`P %a@f3ۃH"&>8#O6;;go¨Qzr7<# 8DF`Q/>ä˜2WbC|dϟٓ B?4mfC#kO4%e_SS|7#&X?U0.,6 ӈOMI_1sWa9^R Pr>Ka"1L'ߘ:|f !L% PLs FP^0rt }?q|[Mo }q?\lHLi!J}AL{,a3nLi'S&ƌiC1cH_> Kg`զE*5+ !$gaJQI6whL>S@ Oq@9k FQ}0bŊEٻ@ZFÆ sZޗ| cɣ0IC1}`L(a+Bu٤Q}!L5a,գ~|1 #`@0e0,X1bتUV`b,ZGAbf-Ys1s8OI@e z- Xcb 1`LaYXb8^b oX??ӦBq;e,f&̇c1b}ڸA&<SɦcEք!:'eAߏ`sY>Yx2$` خ r;%~b^7KO%b?w2͚;bӆSN(qI0qPL=^&ݯ{TUI_}1?hpL yFcX4k,Mu4?S)D)ާP܉S,' c*]EgS(&EFxI68t]1Uh8=^x0/-Co TubH˯Z酐ıt$,X(1´#0v8GHb0((l4֯]j%ד&ü p53R #?&>9#A~E~1ڟB_z=#`b.(Ci$dBzHիgb  &` !F\aXM@*Bu2%eÇsCs~ ł!L뉓^4NJ99+zJbعK2뮤 }f+a-`# s=iXKF5,Hg6ŅXh Ҏ}34!?F6}6/3UYc:f2!T'`aHZ7w$%!Oΰ^ Kݵp0:Xƚ`)4\K@fGfg(d|z mg, 2!& #CM4+fbA:>mP%E NzV+E|͛93cL"0lQ฼302(l&7|(9 űa(dBjba(KCCe h Lfú`u` ,VZg \Me1(MAyjr\/4yu>rFQ5 w e29xY*x3vH`1Ls`_gB6QRT! 5NUƦMK +7,HIJ)X<R3mfTҩ⣡+McE^-+M q&dD!NJkšJ 2P *3aw,JW VZ/ {}٩ S F(Ow@C4e6h#=QhO:uy8^U8Ӎ!8^ZzLv=\[W,O p!FΟ3w 67s TByb5ӱb9E1wh,3 fe3iƦ':z?rplX KqdK~.$EtqPk COu7bċũ(ϲEK7 ݐC3h.w绡6B"V <9=RWBJ>NbS8*=d_=% QC0`h0g $#lmCmػO{Au*lYE f8V/!Hrs{Qq.Go^ ʫ.P}v'S]cҔ46υʼn뭁jܻ_H? %[ 6TEJQA*ύ[ @ aYS剔x#I!hGqUDkytnF'qV{/U g8Y|Lc$YkCg)X|S7Ǡj*6NcVDy<骩WR/!WK9[Yf!lMTDϜrѪ VlWX-8VXx‰j2^C AA .Fz2|\h҈!}y=>c!)7atӆ [m `p|@U;$,P.5H/57L.4ۨi` B v·龕p1Ͱ!f ɡT׉6ćH%R,h(uDgS_M<~qIH6'JV[p%U±¿'VFpRu5{/6ESS'/RK.Zz Wqd2LXvH $+WO>J#/=pk㝤m6%u%|ƆuX'!{~p\]۴IY0w?Ee0/'#%E*ŰZ wsy} 2<IV-"D1S0\lGē&=UJ\_Jv_O ND^=a@=~<u [_'Y>m5؟F!FĺES?\i##q5 Ɛ?е%J[qL;b7r~|`ؾC>HG!:ka/h;LHW](.$Cq6́2K+{2g`_v)`6blua+W4!Zq9K\Ev&4wS] sUT+=ԍ q䦺`h*G~-׊cpފ2ӐzI˷S?A~g<<0\jKEqX.(Mh,.Uk͓)ԐۧrbO?} D|`.iBS(MF|;#CnE;R=4Ғ]k)8HACcbsfsfM>ElawM[D| EQ;::³2׍ {Dw ,{ȯ oW TP=/u7sKUFR1r;zR}ɣ8|(S>I1w;UE ;\3ފq}x=8^n'*:('XH1`10>HC!K=y퇏^-ۨl6-RP!"'; >8ν}k{|Rp#7;Rp~w:b?7!WNYS8~(6_ #1xjM<=/8!>؜¼u|X֮PSZKSe>({̛# +-t؇k` MI[+Ff 9Dޙԇڅb LȠ\LeY8+T. 2E wL띬z)8M(Nܞ]}\&nj<3Y9sng=#RE+m Q$„pg Éi]S sHaֈ4C>w: g3pT['RF>b#0Sl8&]JBQW o⚮ȊsBZ- OKUX(BG] V?L N=5]5 n q^:8UV6:Eh* W3eZD☭U%;p _1ތ`]g:#5y<'ϩ/mݺd j3mUqPc fsOnG*qAnb6^*"+x|!By%FWo |V,AaKd.? ޤ}<#H7A'⫦: zūkCև54({b?aHդnFS}\Kyn&[:^j;a~*c{Ag<<K9@n>gsq8ֶU8W` ̜*cL2vhjHAKu"@jez \5^vjp4Fu@ 7`禥03237mS}EےPa3m7QA9V#1T](t\9~1}NeVFY[aS?Jzgs~p?4 P8 х,v<}tH!QJB#Z3g<ε%}B.i 'Q&cP?M:j*ښq5|3q6ehGf-"|GCؿs5-M?V*4; V맋eq%/eo"uE:?^jw +en-` *sIgi"9s}4xu=Vs?x w>cvX4.6׎'r{/;GO ;똎:|?O.G2 E&Xk+8{%J>r@:Z)]nO cb2đ}q`zWGR\9NGk2.6&di*S!ă4*lg ~ؗDz>ճqyHGAyYx9(#4x}Ή1"-E ᬶ}>չ㻡 5re|GMeWթoƞ9泜?5^AzM~Xg30}z%O7jz>I?PM8)i즆T۫})O +ۖR ց|N"K$O粙=tQ|ݾ>S=^7ܢplm1sBkz|J?P&:nvq-/]o㛻xuO.tTFFf9 |+gGcCjv$21?.xzv%[xȮ,U os{u_|~辗7_w$!>Q1j8VCp?|~q;p" nH'nHSLDM}]oۛ3c?QPS/_c?\K1Md &.egs}v2Eÿťb@ERB, g Zhptt{{nj+ӭH5tcn@l:¼Tc#} =kãBtFi MF;ag~f3㡠ڨt/.hFv;(#Uru rGyX$؟k\gJ:Ͻ3=8o 8_:s~|C 53OxE bY{}{$}|/{o7c͸c 7W+_7;Si a0ȮF\'_ܮOy>#{J^ŚXfz!=؊6lwv@RckyF8^kD - rȌ0ƙ0ruس~~I2<) G yq(nU+;gy߳;sٺ>۟U}=G!'@j?_Ͻu8Nk̪sڬ3^Çhc z|u8OµIXP fΩt8|jߑڽ6os>va '#E8n:oEzM6+傽 \w3Ȱƨ:ΏH"pQuxOxh=;{k ?=ʝji+`aX4}dLs,~|FpS<_sѨLDj%,z9 +﬉d7 5rT~8c+p1H%?BG kf0u]8g}^},g{;ohmN>Pz< j3Z.-9zg*.-ΤyWwa]IuT矑hS8;q/T BX:k,e?=m'ݯ$\7WCu7ì!̙>o}Ɔ])?AZ6F䧘Ot?Ԕzأjhbhb+=lT'Lod|?ȮKA}vlцJ$%b:1 9~5z>Ǒ޽oku-]}~s]Cn' \? X6g<spL!~b_?僟nwp)~u}@_~8;O8[ٳKap _.a}~6qi+P]BݏteSoσV4Vg y: :CĪ$hc`k :#HEʉxyŠ_UqYزfnw!wgygo1W/o5:\iM4+VRz?w:+cnI!-^gw?Ik1'N6x "q*|2j"y+QMR&~3n a!e"-Tٚ@cg hbk}xG+L7 ]^9GLa/Bk4붷T$zkx$twq9U?yxzf3<R | s=Ʊg~6,ٜÜM\|=VQ~ aHߟ$ކ'Wʰr8|4“z'cXHU ~s0~{3{+i7}ki f_xXFNTh\dqz|- Ug-ƭ%ބ^ `sT3^a{B, AQ2M::gzzզ<mkkxZ99GnW}6 b%i6/|}^Ͽ 2u]vwO=(|6qc/l\3KEf0RW|_ |j Wq؍po=65?-4WB>ϲ:UY!_ N;Q#_~[A-rH/ءZHg^Hng;w+ku0Gd7luC( ۣ{> s|b&I'pIVsp)9Y!|ϫ;TX/NN1VGP5d|O6;͙d9+>3Y1?Tl '$$$ sJ+qs,wY~Ѹt,:hzw\;,w.ۄ?[a\H'~'tm8_|}DmNr>/[{:|n9}X_7Ϛx{_/ǏOcuK&c lsmMSќ SLb=0oj~Td0_J%ഃu $nsG߉oI@v9ң yOὢ(e9ËDn5ʳ}Z/~c v0nA <%N01[<^@yX^քeϧVw=Q'FK 8SKMh?{_=(>]o 02z_QxuFz$a{x7Fc3c/G3xoٺ&M3vه472܉N_ibE<ϗ8 ue:tVL:4$4ݙ >Z#qpVEJ=h(~NY?$Bs,.X,_45oY[WZ+iK|>ޅ$j 9 ~L=_ ϵcsp!j}w}P9~xTq`4Q'm(yc4/Z _$2_L0,mu?Mhi%[!_؞nXͧ_O4@l.P(>p6'_Ey (/EFǙoL(\{t4w}gwȧ0ũqˍT_ z?++GI9>i5o،OÛ*~"Q-. +Bf4lX> Q_ ?W+q&n1#`f?#9p4ZOMpP<p?-KPt#dKgء6$qPwvN&}["n@i#p=g3]a=^n>4Đ~^5GAbp󫅂?7^.O]% AqՃx|Jkz)C!FrűQj5߳5BNG8 g;c\.{flP ^֛mz2v.Sό5kPQM=>e&:vvՁU!mJ$?;$ ][}J xI^`}N㳫<]:==o?Fͅ1VҽmTy`| qnfUF'Cqvns"]}ю98YHko`O?F_x1M}xyOf,׏/BPyzwjܪGC7"}{şLYU>8p2,6h#>69/U;(Xs$F!/jB;oy"3M%h.2`S]Nn ?/p+OD<"^8Nͥ{1|_$^=\|Y q Hl ǵ3)8IDg=/7z4p {;Du8~lwW:%7A:*jZ{Ɵ́!LԂ)2 -KzΗ!/5iȬ U`d ~y^ŧm8SH[ψ#, 7?.8 /5;i yXnBKi {gIƟ!vakEwd=d+h) B{gYp{G'T?6ytgKf/SNx|qnߟ]ϡ.KҀfܯGo^RҍŤ !Rҫ&"+%}9_7~c2f ~ 3ZL{w׀:mҖ"FI(w3~j3d1N8|gl|y?q=-=z_} :?{Oou_l\ev{OO//rxҞȏB>xsOw#6VjpTi\ Um aH$M ñ,ɴ:s_>g:ϓ ~γ^|>P#Y? sAkB:} kO3h,{|3_ҹӑ"c/"}臽qt{ >gGº]B+;QM/ 9how[tF6~U+}7}l8emrKi{jBKfp2ݮb؅vfw_@9@B.ʳN{f|E '/Mf_K̥{%RFPpV/aOWv8ӑb IH4k{G Qgϱ<ue \ v#l{Ne!;ӓ;<8YM0빶hoIB{Mh?]1/ )ijE|NRYǪ~(.EEI$\-%Yۜwׯ|Owq% 9 4nx3̬1lذ^|/\-n 2TU0Yŵ~fJ|}/aO>.=* 4 fBY2_؞V \i!司1LY~2Ւlv#j=pjslz^3q|S˩zmo,b@A/(ׁ͎.ٹedGkKwJ=:R]xP~/;}۹9>l. 4Qi!߹y{og ufs™Tz6 gw#}K|7'7ypeMz/[5z=Ia{~|Ҁ{hBe+b\lg}j3s4G@,*AsLVQ_ h^M=("m,weEi<@rڍ`_Cą6LqA4-@?^7:P{9-\<ۻgzO^υa9j><<Ұ{,7K CQz3H7R]πW'ŅR\BCr,gsll0|^_z9³CaƦ*R_};\ L7@mBQ|8͜?p.g~j%'c񜉘2q,gxuD_ y Ltue{n{{ݍ%`oBF>o9H y/Rb_l>w cOXrtw1vI8Dڎqg3U؞ L?!%n9\8Gs=sG#dc۩^܊Ko`{mV { @ L<$ي<4 iG[߶KR\=ou- س+Rмxz=?it F()IBZ?2qGy`%oWw d5} Lu;(XZ9lv7JiMf8^OY>MX{vY>th =(w3!8Y?Я?GopwBP=Uȩ(JbIq("`ۚqloqXg5;?9)OY7 \X¸u5!sxvsOφOl;Zwk˹ßn8[;!G0;x u6<ܟ0B\dz9ooƗ7$too>ş_=Տ7Tc[{R_5? ggg_)VXEr %IKsѨDA+R&;A1-pzA@lo#Фz1=߯T uao˞ M\?96/Wba$5su3-7qaؙq7o/n&p-bGO ݎ,Pψwz6cG{1(%u~!mPGzV0]`3JhR!9\@&.'0WBܶq{@l co7yPrˑVf0|j7*Ր'J!Funlإ>g^\|0j BebR܏ tFanM[>rNɭm^U7G3;9 >\x4/şF.;>l G/_mMuϺtTŠ՛[U::K[PֲQHMElYrgԔa~VXњk纸?lo3]O\VDŞfrs(|۹_ì?UB3G>]q~SLj[?Q>A9lemƇ[P-7 qg}F|EZnoSb'>Bd<,[C1i~xe_o_~ NoC+0i1t) ' 00id77"j9!sFh2)^f_Wݸtrrt͜:!hO\πi9\`Y@uMpbg_-V4mpy3g6>f;ѭ6|<<+_Qևo)gAŁˤCl x1/J@|<ݏ=?|> ~q xr=lCxks-v*D/)X4O|Ϗ ɥXYX.)F@Yꊃ OSuݤ4#G4 Vrs<>\=V;8rU Ӝ>( # {65R(Ղw.*{>?t ~mMP%Ƀ}n|tmvƔHP n<ۅ?MpA$Ԇф|TbmK:^GHG|l| _\އIl_Y>Ltyf0j&|y`X0ħ(DlY#/P/ޝLީ#m8_~o.)6n=Q3@Y2̸ww#bNYyNuzb~G;ppk 6z8g970a"|Js7mكdV 8wԅ"3cc;s=m"Ô`޷ غ"=rCM*JL9/N uHHDrf8b@5`L# S 8# F_VvVlSgF=+Tc?AOg>D&9!&fB%c`{ RAcn^۹FMY2<85!B,@fVǡ qh>8_^هGgcoP]L9х-58k)q_n #ȮEZAҤ̇p>Jy0ٮ6FSM*.!F>QL۳;k39iٵhoۃOS?(Hljށz "w_܏G؀nE~j= A:?n$ℓPB_2mCE vw/0v|= mçw ;69ًჭ8U`IA{q*jrñ S v#@bn DWj@ .*afL'^[3)tν?S-@v2/ʉJ(: Ǧ5y󻹾FFjVẄ́?7Ί|xc'v/ھSm ޾|ؑ;!p%oda%ظv6jӍu.i=xwW3ٷ͙XY4D k7S@.NDdVOPk O#$ŋQYE~Xd{(fݿO9SOt'ur#.ێKT8މtƣI:q*8A>zF93ckBcdGUbxoÅS}(Ϗ|.-)X`<T]p|RO<ǡ8Jqy&.N2y&]\艌`47k/wwG' AHp1}PB)bH>nkHvhjU8J>ub//ՐNq{@osg::NSpb#]Ղ>N9a+zV+g K[M vЀ@ ~sF)rCг,d; Ap]M8{1W7zܑ9kaqasQ!E:PJ K~?6롣B6`am8yqaddBEbA1#]PYuQ(CR%%!M0iۨ.U}UX7[GqZ!g4Jܠ8|rw1vqnP|f{GlƝ[qdξj6V:Ն@2ΎP}wϱ 7U*_}Tb tQo-E]N8*P䉼HWDG8bq1"3-=-^Ya 01dB9[65\<єc V.;pٌ76b ;{ 4:Lq`H97ES}e ҌڲDDS}*ׅ*38@_K6as[{L(4"Sd/%z0A0"d}mL46. 6d!L^~/7)dR 6%]K1&/˓"++kIukGEZK#QL /ٍ;2)vKĈͫŢE044^6+;#(TokH, q1Xd;]Zjp|=(Ay\:Ox'E.ٍ $ `g Y;V4=q.ІH=l{39Sd(]LZ?XZB]hzP, DuFY-XWdR~O'  ~0BQasc\QM6m9sm/4L5\ @hG!vjBf05`n k WV|6ʹac9Vֳ0FdG<-'ƽ>E&& iM!}Q*âa"k jQ ^I H C# 2sy#S7}'Ceӡc >>N#x8S\; ҝZ ߏ#Pz=d'0x >(KEi7J(91,s>Dgc8o3Đѿ!č)d8*{V0{ _B'ӊr9\L(W;:@(Є5#:BzvqyDDׁ|ߞ4Go1B-'@\ CH !5bxYóc$ȌAL\b\x JjHsDg v1P2ztrz5MHڬ/@}L̆ {+]Xۑvg9o ;la%Smkx6L fxpu0b.62G8Bz?Ff8;sa=G yH cNp3DX2.|:tԃiI1'wF:tx=̘> j3A]m4ơ> ZsA?g:4Uau&(G8Ígw~ěђPAq"!&!݂5瞃& &*6BȐ86 ›4n[ɉSwΌ6*l ?xMC}-L9\u5Vdf,ZB`DT8kj/'j/<Ӄ\XiÓAd1TO8M[Ad:3 6=hT~eqC8X ayE֠UUڄLDqѦofwŋ31c2IIX2Cj-׼OېW##q^~=rBτ#R棩sTW+< ww/:qTUU)Y`ffii 5*I v֤1bb- 8ak;BFF.q6֤cduW}Mzq>E;c_J8@TK?JFܟ5 [ʖ:LU77{LF-dEw v MFfw-1OSM n 럆L<_їDefault GFʠN=|1 }}TK?JFܟ5Z`Ez]UOͽ>fdN*5Ւh|, }}TK?JFܟ5Z`Ez]UO GFʠN=((7 }}PerioduW}Mzq>Z`Ez]UO1釥GP>ap(0 }}uW}Mzq>Z`Ez]UO GFʠN=hx= }} Control Out2|=BynjZ`Ez]UO GFʠN=(H81 }}E;c_J8@Z`Ez]UO1釥GP>aH(80 }}E;c_J8@Z`Ez]UO GFʠN=8HH1 }}:.J NT)Z`Ez]UO1釥GP>aH8H0 }}:.J NT)Z`Ez]UON\q+nN-K^(p(A\VV.@p@uW}Mzq>Z`Ez]UOY@1釥GP>aHHX0 }} v MFfwZ`Ez]UO GFʠN=HHX< }} Control own v MFfwZ`Ez]UOOˁ CRih[XHhNode.Value('%THIS_NAME%', 'SessionId') = Net.GetNodeSessionId('%THIS_NAME%', 0);Take controlZ`Ez]UOOˁ CRih[HXh̓ZNode.Value('%THIS_NAME%', 'SessionId') = '';Leave controlZ`Ez]UOz@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand< // Execute // Called to execute the command function Execute(params) { owner = System.ThisOwner(); button1 = "loadNURBSPatchButton"; theScript = "loadNURBSPatchScript"; // if(Node.Exists("/Project/Windows Manager Space/NURBSFrame/Toolbar/" + button1)) Node.Delete("/Project/Windows Manager Space/NURBSFrame/Toolbar/" + button1); //check for and create customframe if(!Node.Exists("/Project/Windows Manager Space/NURBSFrame")) Node.Copy(owner + "/NURBSFrame","/Project/Windows Manager Space"); //copy buttons to custom frame oldButt = Node.Copy(owner + "/" + button1,"/Project/Windows Manager Space/NURBSFrame/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)) Node.Delete("/Scripts/CustomCommands/" + theScript); Node.Copy(owner + "/" + theScript,"/Scripts/CustomCommands"); //activate it WindowsManager.Activate(); WindowsManager.UpdateWindowsStructure(); //reset the toolbar //1D Aspect WindowsManager.SetWindowAspect('/Project/Windows Manager Space/NURBSFrame', 1); //2D Aspect WindowsManager.SetWindowAspect('/Project/Windows Manager Space/NURBSFrame', 2); System.Trace("NURBS patch loader installed."); } NScript Object Package/jScript language~൱D(#^c4W}@O{(XFҦV>g'JNjn*pnCBb@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= #*loadNURBSPatchScript 8.;]kI 忞@"IS b`Ϝ:HvP` @rS 5 (R84W}@O{$(XFҦV"-1OSM n"X pAFKO8+PpAFKO8+PDfilenameTB 08P KnA.KnA.D LODinTPr8P >!$2Hb(<(>!$2Hb(<(DcopyCP Th[&HP ?zqSM[ۂ:H?zqSM[ۂ:HDdoubleIn Tgx'S &eM M &eM M DcpOnlyIn T KnA.&eM M >!$2Hb(<( (XFҦV>g'JNjn*pF Dk@ n@4??zqSM[ۂ:H pAFKO8+PTC:\Users\Clint\Desktop\nurbscurvetest.scn-1OSM n 럆L<_їR  Notes GFʠN=X@@nvSave NURBS patches in truespace6.6 ascii format. 7.6 format can take a while to read and binary won't read in at all.ƄvR^I҂{iks GFʠN=(XY}}8Loads NURBS patches from ascii format cob and scn files.Z`Ez]UO GFʠN=0PXM}},double sided mesh makes the geometry 2 sidedZ`Ez]UO GFʠN=XX}}ucopy cp mesh - a mesh representing the control handles that would exist if the mesh was editable as a nurbs surface.Z`Ez]UO GFʠN=F(@1 }}pAFKO8+PZ`Ez]UO1釥GP>a@0 }}pAFKO8+PZ`Ez]UO#nKSM2F(@$}}pAFKO8+PZ`Ez]UOOˁ CRih[Ph@}}\Activity.Run('%THIS_NAME%' + "/loadPatches");Load Patch(es)Z`Ez]UO GFʠN=h@@@nvSave NURBS patches in truespace6.6 ascii format. 7.6 format can take a while to read and binary won't read in at all.ƄvR^I҂{iks GFʠN=(`8@= }} detail levelKnA.Z`Ez]UO1釥GP>a`(8@0 }}KnA.Z`Ez]UON\q+nN-K^8P@A}}@4@KnA.ٱZ`Ez]UOB@ GFʠN=@= }} copy cp mesh>!$2Hb(<(Z`Ez]UOͽ>fdN*5Ւh@, }}>!$2Hb(<(Z`Ez]UO GFʠN=@B }}double sided mesh?zqSM[ۂ:HZ`Ez]UOͽ>fdN*5Ւh@, }}?zqSM[ۂ:HZ`Ez]UO GFʠN=@S }}"only import the control point mesh&eM M Z`Ez]UOͽ>fdN*5Ւh@, }}&eM M Z`Ez]UO}}}}܂dKu= $controlPointPlane H.;]kI 忞@"0XE@5IS 4W}@O{$ G?ŋ G?ŋ tSObjLtrueSpace object synchronization data W5f@(䐈ZG'Җ2  ׊;Jf|ڢ׊;Jf|ڢBWldMatrixWorld matrix `^02eE{|@ZҖ&2 ( 偢jD%~`8偢jD%~`8BObjMatrix Object's matrix `^02eE{|@Z WAGWAGOwnerMatrixOwner's matrix `^02eE{|@Ȅ x <ĠF姁J]<ĠF姁J]DMatrix,Object's input matrix `^02eE{|@\` $1&KߊPV$1&KߊPV$AutoShowPanelAutoShowPanel$(XFҦV"@S -V?XM%-V?XM%Material ListMaterial List +N⩊S S $hKnPSVmS $hKnPSVm"RenderAttributes"RenderAttributes HEoq5vpr/-1OSM n" -V?XM%S $hKnPSVm偢jD%~`8(XFҦV>g'JNjn*pFCCb@ d@?׊;Jf|ڢWAG`^02eE{|@B???? G?ŋ~0iV@KU>x%g'JNjn*pFB BX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї0h{G:ΐT Plane primitive ؏tveDCE`"IWJPBh h ,cLAp/t,cLAp/ WidthMesh Width؏$찣>F.TFt찣>F.TFHeightMesh Height؏h/Ɩ^?2ObHtƖ^?2ObHWidth segments0Count of width segments؏d_x15~HSe(sGt_x15~HSe(sG Height segments2Count of height segments؏HdhʑNm,1FXthʑNm,1FXDouble sided<if true plane id double sided ؏XE4W}@O{$(XFҦV"-1OSM n"찣>F.TF@,cLAp/@hʑNm,1FX (XFҦV>g'JNjn*pFDGCb@@\@?_x15~HSe(sGƖ^?2ObH-1OSM n 럆L<_ї:Default GFʠN=p 07 }}Height_x15~HSe(sGZ`Ez]UO1釥GP>ap0@0 }}_x15~HSe(sGZ`Ez]UO GFʠN=8 p06 }}WidthƖ^?2ObHZ`Ez]UO1釥GP>a80`@0 }}Ɩ^?2ObHZ`Ez]UOPN AnqH0@>_x15~HSe(sG?K?Z`Ez]UOPN AnqH`0p@>Ɩ^?2ObH?K?Z`Ez]UO GFʠN= 8@)}}SegmentsZ`Ez]UO GFʠN=p 1 }}찣>F.TFZ`Ez]UO1釥GP>ap 0 }}찣>F.TFZ`Ez]UOPN AnqH >찣>F.TFK>Z`Ez]UO GFʠN=p1 }},cLAp/Z`Ez]UO1釥GP>ap0 }},cLAp/Z`Ez]UOPN AnqH>,cLAp/K>Z`Ez]UO GFʠN= @= }} Double sidedhʑNm,1FXZ`Ez]UOͽ>fdN*5Ւh @, }}hʑNm,1FXZ`Ez]UOtveDCE`"IWJ܂dKu=> Material ListB.;]kI 忞@" !@4W}@O{$H>-V?XM%@S (XFҦV"-V?XM%(XFҦV>g'JNjn*pFBBX@1@?) 6G%D,Material List Manager -V?XM%PH> &zB}J?t&zB}J?&Active material ID2Active material class ID  4W}@O{$ k<tI;E*:tk<tI;E*:Mat Chunk 0BDynamic material input connector |E8y (XFҦV"-V?XM%&zB}J?(XFҦV>g'JNjn*pFB CX@>@?k<tI;E*:܂dKu=GMaterial 0!.;]kI 忞@"4!4W}@O{$gYأC۲+?gYأC۲+?Material ChunkMaterial Chunk |E8y (XFҦV"(XFҦV>g'JNjn*pFBDCX@1@?gYأC۲+?܂dKu=ĂD3D material .;]kI 忞@"`X A4W}@O{$.F_P#.F_P#Material Output material __W8E#(1U@Ra.U@Ra.LE2Data$LE2 Data for node >g'JNjn*p՞'fA5-_՞'fA5-_D3DEYED3DEYE =xNT{-1OSM n"(XFҦVLE2Data, 1"J@#QLLE2Data, 24W}@O{(XFҦV>g'JNjn*pFB Cd@@@?.F_P#՞'fA5-_J@#QL>g'JNjn*pF4CtCd@@@?-1OSM n 럆L<_їˣ Main GFʠN= 1 }}.F_P#Z`Ez]UO.;]kI 忞@U@Ra.>g'JNjn*pFjCCd@T@?Pc|B;]2MaterialH .F_P#T.F_P#Material Output material __W8E#(S^M~b tS^M~b Alpha_shaderAlpha shader RnчINNH 5OD.GWf5t5OD.GWf5Color_shaderColor shader zdU@AUʂ*H qΤIGGItqΤIGGIModel_shaderModel shader @SrE8㲻tH 8,S@vTVt,S@vTVNormal_shaderNormal shader Xb"ٲN+4H зVJiltзVJil Texcoord_shader Texcoord shader lrMH;eH 4W}@O{$U@Ra.U@Ra.LE2Data, 7$LE2 Data for node >g'JNjn*p-1OSM n"(XFҦVLE2Data, 1"kF_dkF_Vertex_shaderVertex shader k|eKwj9CqVertexShaderH ޣt@*Ntt@*N Constant_shader Constant shader QVO Pk@H 8(<;vHwt<;vHwAlphaTest Alpha Test type :KrbSxH а( 0S̤@+Rt 0S̤@+RAlphaTestValue"Alpha Test ValueH ,S@vTV5OD.GWf5 0S̤@+RзVJil4W}@O{(XFҦV>g'JNjn*pFDnCb@{@?S^M~b <;vHw:KrbSxbDisabledEnabledAs OpaqueDisabled.F_P#kF_t@*N-1OSM n 럆L<_ї0U@Ra.>g'JNjn*pFDnC`@\@?qΤIGGI܂dKu=t,DefaultTexCoordShader((gD9f<(gD9f<TCMoveYTCMoveY0R:>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@XyTCScaleXTCScaleXX,4W}@O{$@y݀J}Ny݀J}N FloatInput floatTCMoveXx`ĦBZĦBZTCScaleYTCScaleYt)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#h.;]kI 忞@" l9xq(J0zu зVJil(gD9f<R:>a[EH*M\>g'JNjn*pFBC`@d@?7wCH>g'JNjn*pFCC`@0@?wkd@Xy?%%u5E b>g'JNjn*pF`CCb@\@KAC?y݀J}NĦBZ?зVJil4W}@O{)rޙG >g'JNjn*pFBC`@d@?(XFҦV>g'JNjn*pFBCb@ `@KAC?QA@y:l1>g'JNjn*pFg'JNjn*pFCCC`@d@?-1OSM n 럆L<_ї0.;]kI 忞@N5 JVE>:iShaderTexcoordhзVJilP)#,OrRt)#,OrRTexcoord*Input texcoord brick F 1+5?N>/h 4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1pr!"I = 8tr!"I = 8Texcoord2,Input texcoord2 brick F 1+5?N>/h%%u5E b>g'JNjn*pFEDA`@P@?зVJil4W}@O{(XFҦV>g'JNjn*pFEDA`@P@?)#,OrRr!"I = 8-1OSM n 럆L<_ї0L{0nBg)`! 4 AddP)\Fvq3P)\Fvq3$PrivateShaderData$PrivateShaderData wk0.DX?_:JF>*Ut:JF>*UInputXInputX : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/mn#2 |L?¢Fht#2 |L?¢FhInputYInputY : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/mm,8A fKھT,8A fKھResultResult : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/l4W}@O{%%%u5E b-1OSM n"(XFҦVLE2Data, 1,8A fKھ:JF>*U%%u5E b>g'JNjn*pFD`B`@P@?4W}@O{#2 |L?¢Fh(XFҦV>g'JNjn*pFD`B`@P@?P)\Fvq3wk0.DX?_Gp.HOV-1OSM n 럆L<_ї0L{0nBg)`! T4 ModulateP)\Fvq3h2x2֣K!dE5t2x2֣K!dE5InputXInputX : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/hߡ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>/94W}@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(rHHTXGy5֣  dE9@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>/0h} LDs(et LDs(eYTY : RtFloat - Scalar floating point value F 1+5?N>/0>?8[GVTIt?8[GVTIZTZ : RtFloat - Scalar floating point value F 1+5?N>/0V"PZKLьt"PZKLьWTW : RtFloat - Scalar floating point value F 1+5?N>/00JN۪BP TJN۪BP ResultnResult : RtFloat4 - The four component vector or color F 1+5?N>/h4W}@O{%%%u5E b(XFҦVLE2Data, 1-1OSM n" "PZKLь?8[GVTI%%u5E b>g'JNjn*pFC`@\@? LDs(e4W}@O{Gx:G<l5(XFҦV>g'JNjn*pFC`@\@?P)\Fvq3wk0.DX?_JEG0JN۪BP -1OSM n 럆L<_ї0L{0nBg)`! d 0VectorFromComponents, 1 P)\Fvq3 Gx:G<l5tGx:G<l5 Row1jRow1 : RtFloat4 - The four component vector or color F 1+5?N>/ j  LDs(et LDs(eYTY : RtFloat - Scalar floating point value F 1+5?N>/ jhS ?8[GVTIt?8[GVTIZTZ : RtFloat - Scalar floating point value F 1+5?N>/ jHd "PZKLьt"PZKLьWTW : RtFloat - Scalar floating point value F 1+5?N>/ j jJN۪BP TJN۪BP ResultnResult : RtFloat4 - The four component vector or color F 1+5?N>/nxq4W}@O{%%%u5E b(XFҦVLE2Data, 1-1OSM n" "PZKLь?8[GVTI%%u5E b>g'JNjn*pFCB`@\@? LDs(e4W}@O{Gx:G<l5(XFҦV>g'JNjn*pFCB`@\@?P)\Fvq3wk0.DX?_JEG0JN۪BP -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>/Pp1M@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>/hߡ}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>/(J4W}@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^@A툷ڳVܯ]FՃ尲+%tsxi_GetInputPositionRtFloat4p1M@o=ڳVܯ]FՃ尲,&tsxi_GetInputTexCoordsRtFloat3 qQ@RjڳVܯ]FՃ尲'!tsxi_GetInputAlphaRtFloatHRSEpFCڳVܯ]FՃ尲-'tsxi_GetInputLightColorRtFloat4%%u5E b>g'JNjn*pF CA`@0@?)5FYPٻzEuSڳVܯ]FՃ尲2,tsxi_GetInputWorldToObject RtFloat4x4~__um1CR¬5ڳVܯ]FՃ尲3-tsxi_GetInputTangentToWorld RtFloat3x3SaI7֏bڳVܯ]FՃ尲2,tsxi_GetInputObjectToWorld RtFloat4x44W}@O{(XFҦV>g'JNjn*pF CA`@0@?x*yI?ڵfA'7(ڳVܯ]FՃ尲)#tsxi_GetInputEyePosRtFloat4`MOWIB"ѥڳVܯ]FՃ尲)#tsxi_GetInputNormalRtFloat3ҥY@e&ڳVܯ]FՃ尲+%tsxi_GetInputLightDirRtFloat3#h"mO('%dLrQn0ڳVܯ]FՃ尲)#tsxi_GetInputEyeDirRtFloat3y"WMB]}E[2CV)ڳVܯ]FՃ尲("tsxi_GetInputColorRtFloat4HtO{/(ڳVܯ]FՃ尲*$tsxi_GetInputTangentRtFloat3-1OSM n 럆L<_ї0piDM7ڳVܯ]FՃ尲)#tsxi_GetInputEyeDistRtFloatz€ L& ;i InputFloatx+kCY5]BtOt+kCY5]BtO FloatInput floatXXuM@n;LATuM@n;LAFloatBrickFloat brick F 1+5?N>/ \/3Kf͈,t\/3Kf͈,oFloatOutput float`خGqiFE0IN tGqiFE0IN Input usageVThe usage specification for this parameterX04W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCMOVEX%%u5E b>g'JNjn*pFtBb@X@?+kCY5]BtO4W}@O{(XFҦV>g'JNjn*pFtBb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0z€ L& T5i InputFloat, 10+kCY5]BtOpP6uM@n;LAP P6\/3Kf͈,pGqiFE0IN pz4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCMOVEY%%u5E b>g'JNjn*pF8Cb@X@?+kCY5]BtO4W}@O{(XFҦV>g'JNjn*pF8Cb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0z€ L& 4$ InputFloat, 2X,+kCY5]BtOpH S XŰXŰuM@n;LAPڑH S \/3Kf͈,p(S GqiFE0IN pXŰu4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCSCALEX%%u5E b>g'JNjn*pF'b@X@?+kCY5]BtO?4W}@O{(XFҦV>g'JNjn*pF'b@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0z€ L& O InputFloat, 3t+kCY5]BtOpppPqPquM@n;LAPh}pp\/3Kf͈,pnGqiFE0IN pPq 4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCSCALEY%%u5E b>g'JNjn*pFXb@X@?+kCY5]BtO?4W}@O{(XFҦV>g'JNjn*pFXb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0܂dKu= W &DefaultModelShader R:>a[EH*M\7wCHky݀J}NShininess`X4W}@O{$)rޙG (XFҦVLE2Data, 3"%%u5E bLE2Data, 6QA@y:l1xX 4 Hm9E4 Hm9E ColorInput color -n,NjlpgSpecularColor$Q/G|]8-1OSM n#@X .;]kI 忞@"H `ؐ0 uX 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?y݀J}NA4W}@O{)rޙG >g'JNjn*pFCA`@T@?(XFҦV>g'JNjn*p^XB-Cb@@X@y݀J}N Ԡ>KC~B?QA@y:l1>g'JNjn*pFAC`@@@?4 Hm9E-n,Njlpg>>>?$Q/G|]8>g'JNjn*pFC`B`@T@?-1OSM n 럆L<_ї0.;]kI 忞@qΤIGGIL{0nBg)`! YS Phong Lighting P)\Fvq3X :6~KAMt:6~KAMDiffuseColorzDiffuseColor : RtFloat4 - The four component vector or color F 1+5?N>/p xX R]JĀ7tR]JĀ7SpecularColor|SpecularColor : RtFloat4 - The four component vector or color F 1+5?N>/p PX vJ ~~tvJ ~~ShininessdShininess : RtFloat - Scalar floating point value F 1+5?N>/p  $&*2HӁdńt$&*2HӁdńNormalVectorjNormalVector : RtFloat3 - The three component vector F 1+5?N>/p h Z[G {/,tZ[G {/,EyeDirectionjEyeDirection : RtFloat3 - The three component vector F 1+5?N>/p h  zE%Sft zE%SfLightDirectionnLightDirection : RtFloat3 - The three component vector F 1+5?N>/p  w!XCLtw!XCLLightColorvLightColor : RtFloat4 - The four component vector or color F 1+5?N>/p p  B#A)[(dT B#A)[(dResultColorxResultColor : RtFloat4 - The four component vector or color F 1+5?N>/@0H 4W}@O{%%%u5E b-1OSM n"(XFҦVLE2Data, 1 %%u5E b>g'JNjn*pFCLb@d@?4W}@O{:6~KAMZ[G {/,(XFҦV>g'JNjn*pFCLb@d@?P)\Fvq3wk0.DX?_|X?dK;, B#A)[(dw!XCL$&*2HӁdńvJ ~~-1OSM n 럆L<_ї0R]JĀ7 zE%Sf/|V FK|T ShaderInput?ڵfA'7( %dLrQn0h piDM7^@A툷p1M@o=}E[2CV)X h`MOWIB"ѥ HtO{/( qQ@RjP ҥY@e&h B_;OKFJ*rאHRSEpFC ~__um1CR¬5ٻzEuSSaI7֏b`4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1y"WMB])5FYPx*yI#h"mO('B_;OKFJ*rڳVܯ]FՃ尲+%tsxi_GetInputLightDistRtFloat^@A툷ڳVܯ]FՃ尲+%tsxi_GetInputPositionRtFloat4p1M@o=ڳVܯ]FՃ尲,&tsxi_GetInputTexCoordsRtFloat3 qQ@RjڳVܯ]FՃ尲'!tsxi_GetInputAlphaRtFloatHRSEpFCڳVܯ]FՃ尲-'tsxi_GetInputLightColorRtFloat4%%u5E b>g'JNjn*pFC`@0@?)5FYPٻzEuSڳVܯ]FՃ尲2,tsxi_GetInputWorldToObject RtFloat4x4~__um1CR¬5ڳVܯ]FՃ尲3-tsxi_GetInputTangentToWorld RtFloat3x3SaI7֏bڳVܯ]FՃ尲2,tsxi_GetInputObjectToWorld RtFloat4x44W}@O{(XFҦV>g'JNjn*pFC`@0@?x*yI?ڵfA'7(ڳVܯ]FՃ尲)#tsxi_GetInputEyePosRtFloat4`MOWIB"ѥڳVܯ]FՃ尲)#tsxi_GetInputNormalRtFloat3ҥY@e&ڳVܯ]FՃ尲+%tsxi_GetInputLightDirRtFloat3#h"mO('%dLrQn0ڳVܯ]FՃ尲)#tsxi_GetInputEyeDirRtFloat3y"WMB]}E[2CV)ڳVܯ]FՃ尲("tsxi_GetInputColorRtFloat4HtO{/(ڳVܯ]FՃ尲*$tsxi_GetInputTangentRtFloat3-1OSM n 럆L<_ї0piDM7ڳVܯ]FՃ尲)#tsxi_GetInputEyeDistRtFloat]IDjdcL InputColor"uI̎4)]t"uI̎4)] ColorInput color -n,Njlpgܐܐܐ\PtIL;I1T\PtIL;I1ColorBrickColor brick F 1+5?N>/xX ܐq\W D ɭtq\W D ɭoColorOutput color -n,Njlpg ېGqiFE0IN pܐؐ4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1GqiFE0IN SPECULARCOLOR"uI̎4)]\PtIL;I1%%u5E b>g'JNjn*pFX@@b@X@?4W}@O{(XFҦV>g'JNjn*pFX@@b@X@?q\W D ɭ-1OSM n 럆L<_ї0z€ L& l InputFloat+kCY5]BtOpHuM@n;LAPPX H\/3Kf͈,pGqiFE0IN p04W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1GqiFE0IN SHININESS%%u5E b>g'JNjn*pFPb@X@?+kCY5]BtOA4W}@O{(XFҦV>g'JNjn*pFPb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0fC{o ShaderModelqΤIGGIPX @0C/-~CxrEtC/-~CxrE Color$Input color brick F 1+5?N>/ u4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1%%u5E b>g'JNjn*pF DA`@P@?4W}@O{C/-~CxrE(XFҦV>g'JNjn*pF DA`@P@?-1OSM n 럆L<_ї0qΤIGGI܂dKu= "SolidColorShader8O.;]kI 忞@" A4W}@O{$%%u5E b-1OSM n" "uI̎4)]HҺ5OD.GWf5(XFҦVLE2Data, 1""uI̎4)]-n,Njlpg????%%u5E b>g'JNjn*pFDC`@0@?5OD.GWf54W}@O{(XFҦV>g'JNjn*pFBxBb@@T@?-1OSM n 럆L<_ї0.;]kI 忞@"YMڿ$Zߦ<ShaderColor5OD.GWf5PXC/-~CxrEp4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1%%u5E b>g'JNjn*pFChB`@P@?5OD.GWf54W}@O{C/-~CxrE(XFҦV>g'JNjn*pFChB`@P@?-1OSM n 럆L<_ї0]IDjdc4InputColorHҺ"uI̎4)]pкpѺpѺ\PtIL;I1PXкq\W D ɭp κGqiFE0IN ppѺ4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1GqiFE0IN DIFFUSECOLOR"uI̎4)]\PtIL;I1%%u5E b>g'JNjn*pFBdBb@X@?4W}@O{(XFҦV>g'JNjn*pFBdBb@X@?q\W D ɭ-1OSM n 럆L<_ї0b=h0CRf 0Material Flavor ManagerlgYأC۲+?P!EJGWMt!EJGWMMaterial IndexMaterial Indexl`6~qK;2t&t6~qK;2t&Active Info4Active and validity flags NOI/)[&l44W}@O{$1gń0HYtgń0HYMat Item 0BDynamic material input connectorl(XFҦV"!EJGWMgń0HY(XFҦV>g'JNjn*pFBTCX@>@?6~qK;2t&NOI/)[&2/ChˢjCgYأC۲+?u8DMhbEd OwnerName$6Vg'JNjn*pFBBX@1@?qU F3fT2Object Render Attributes S $hKnPSVmPS 8Ns2]t8Ns2] Surface Opacity Surface Opacity X^mګA~Ksi[t^mګA~Ksi[Points opacityPoints opacity $(lrsGrt(lrsGrPoints Size>Point Size in Point rendering.  \Eh{5t\Eh{5Points ColorLColor of points during the rendering. -n,Njlpg @"PbEGDߗrt"PbEGDߗr0Ignore mesh point color0Ignore mesh point color  F?N dtF?N d.Ignore mesh point size.Ignore mesh point size  ]*qBCxt]*qBCxEdges opacityEdges opacity \J:I%7ut\J:I%7uEdges ColorEdges Color -n,Njlpg شiA޲1rIK>XtiA޲1rIK>X0Ignore mesh edges color0Ignore mesh edges color  Pȴ,ot"AaYt,ot"AaY$Show hidden lines`Do not use ZBuffer in point and wireframe modes  pǴ^RI8ÿRt^RI8ÿRShow backfaceslEnable two-sided rendering when Color mode is enabled  4çwH5#VtçwH5#V0Ignore layer attributesvDo not combine render attributes with layer defined values  54W}@O{ Owner%J@#QLLE2Data-1OSM n-1OSM n#LayoutLayout 럆L<_їLayout#(XFҦVLE2Data, 1"Wo[nfFto[nfF Overlay opacity Overlay opacity HkzgGFohN)tzgGFohN)Overlay ColorOverlay Color. -n,Njlpg ЏvhD zʔtvhD zʔ4Ignore mesh overlay color6Ignore mesh overlay color.  W0@zdW0@zd$VersionVersion$ȅ8vDCxZtȅ8vDCxZInvisibleInvisible flag  @5F+2MGtF+2MGCast shadows$Cast shadows flag  P I2GWM:).$tI2GWM:).$ Receive shadows Receive shadows  &S mBޖw ptmBޖw pLayer index(Modeler layer index h fB #^tfB #^$Transparency Mode@Quality of transparency solving :KrbSx hh |$}mK;)t|$}mK;) OverlayEnable*Enable color overlay   Vrg@*oHtrg@*oH OverlayColor*Color of the overlay -n,Njlpg  8=!eLZE^Nt!eLZE^N OverlayStrengthJStrength (visibility) of the overlay  طpSLDMF:ɅpSLDMF:ɅDObject_NameObject_NameDzgGFohN)I2GWM:).$ ]*qBCx?S $hKnPSVmvhD zʔçwH5#V rg@*oH4W}@O{\J:I%7u-n,NjlpgJ?>M??\Eh{5-n,Njlpg>>>?fB #^:KrbSxv No Hidden FacesNo SortTriangle SortNo Sort(XFҦV>g'JNjn*pFC(Bk@@\@?pSLDMF:Ʌh/Project/Space 3D/loadPatchScript/controlPointPlaneF?N d 8Ns2]`?ȅ8vDCxZ "PbEGDߗr F+2MG J@#QL>g'JNjn*pFzCCb@q@?(lrsGr@^mګA~Ksi[@z?o[nfFW0@zdmBޖw p-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,ot"AaY ^RI8ÿR |$}mK;)!eLZE^NiA޲1rIK>X ܂dKu= LODPlane۴.;]kI 忞@"H˷`qH^b4W}@O{$ G?ŋXtveDCE`"IWJZxÏ2 W׊;Jf|ڢZE 82 hc偢jD%~`8Z@QWAG۸ ><ĠF姁J]\ܸ$1&KߊPV$(XFҦV"0-V?XM%-S $hKnPSVmXvO-1OSM n"p_x15~HSe(sG׷Ɩ^?2ObHh. -V?XM%S $hKnPSVm偢jD%~`8(XFҦV>g'JNjn*pFDACb@ h@?׊;Jf|ڢƖ^?2ObH_x15~HSe(sGWAG`^02eE{|@B???? G?ŋ~0iV@KU>x%g'JNjn*pFB BX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї0h{G:ΐį Plane primitive ޷tveDCE`"IWJPBXPݷ,cLAp/p޷۷찣>F.TFp޷h.Ɩ^?2ObHp޷׷_x15~HSe(sGp޷XзhʑNm,1FXp޷˷4W}@O{$(XFҦV"-1OSM n",cLAp/@찣>F.TF@hʑNm,1FX (XFҦV>g'JNjn*pFCbCb@@\@?Ɩ^?2ObH_x15~HSe(sGtveDCE`"IWJ-1OSM n 럆L<_ї:Default GFʠN=p 07 }}Height_x15~HSe(sGZ`Ez]UO1釥GP>ap0@0 }}_x15~HSe(sGZ`Ez]UO GFʠN=8 p06 }}WidthƖ^?2ObHZ`Ez]UO1釥GP>a80`@0 }}Ɩ^?2ObHZ`Ez]UOPN AnqH0@>_x15~HSe(sG?K?Z`Ez]UOPN AnqH`0p@>Ɩ^?2ObH?K?Z`Ez]UO GFʠN= 8@)}}SegmentsZ`Ez]UO GFʠN=p 1 }}찣>F.TFZ`Ez]UO1釥GP>ap 0 }}찣>F.TFZ`Ez]UOPN AnqH >찣>F.TFK>Z`Ez]UO GFʠN=p1 }},cLAp/Z`Ez]UO1釥GP>ap0 }},cLAp/Z`Ez]UOPN AnqH>,cLAp/K>Z`Ez]UO GFʠN= @= }} Double sidedhʑNm,1FXZ`Ez]UOͽ>fdN*5Ւh @, }}hʑNm,1FXZ`Ez]UO܂dKu=]Material Listߐ.;]kI 忞@"`q8ݳ`4W}@O{$U-V?XM%0(XFҦV"-V?XM%(XFҦV>g'JNjn*pFBBX@1@?) 6G%<,Material List Manager`ܴ-V?XM%PUڴ&zB}J?p`ܴ`q4W}@O{$0ok<tI;E*:p`ܴ(XFҦV"-V?XM%&zB}J?(XFҦV>g'JNjn*pFB CX@>@?k<tI;E*:܂dKu=mMaterial 0߳.;]kI 忞@"P ؜8ݳ4W}@O{$@DS gYأC۲+?0o(XFҦV"(XFҦV>g'JNjn*pFBDCX@1@?gYأC۲+?܂dKu=D3D material .;]kI 忞@"x۳aV qP 4W}@O{$.F_P#.F_P#Material Output material __W8E#( U@Ra.՞'fA5-_՞'fA5-_D3DEYED3DEYE =xNT{-1OSM n"(XFҦVLE2Data, 1"J@#QLLE2Data, 24W}@O{(XFҦV>g'JNjn*pFB Cd@@@?՞'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#(F S^M~b p M 5OD.GWf5p k qΤIGGIp 8г,S@vTVp ˳зVJilp x۳4W}@O{$U@Ra.-1OSM n"(XFҦVLE2Data, 1"kF_`VertexShader Pt@*Ntt@*N Constant_shader Constant shader QVO Pk@ (<;vHwp ( 0S̤@+Rp ,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=|D,DefaultTexCoordShaderH(gD9f<HX R:>a[EH*M\LE2Data, 27wCHxbwkd@Xyh`a4W}@O{$hy݀J}NTCMoveX hĦBZ )rޙG LE2Data, 4(XFҦVLE2Data, 3"%%u5E bLE2Data, 6QA@y:l1$Q/G|]8-1OSM n##.;]kI 忞@" PPNװHܕX Hh{Xf'з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@ `@KAC?)rޙG >g'JNjn*pFBC`@d@?$Q/G|]8>g'JNjn*pFCCC`@d@?QA@y:l1>g'JNjn*pF:iZShaderTexcoordзVJilP'0)#,OrRpP4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1r!"I = 8p%%u5E b>g'JNjn*pFEDA`@P@?4W}@O{зVJil(XFҦV>g'JNjn*pFEDA`@P@?)#,OrRr!"I = 8-1OSM n 럆L<_ї0L{0nBg)`!  AddP)\Fvq3Ⱥ:JF>*UpX#2 |L?¢Fhp,8A fKھP0PN4W}@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)\Fvq3BX 2x2֣K!dE5pf  TXGy5֣ tTXGy5֣ FullLightColorInputY : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/f f  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)`! w*VectorFromComponents P)\Fvq3qGx:G<l5ph ` LDs(eph ?8[GVTIph ௖"PZKLьph h JN۪BP PBX H4W}@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)\Fvq3Gx:G<l5tGx:G<l5 Row1jRow1 : RtFloat4 - The four component vector or color F 1+5?N>/H1Xa LDs(et LDs(eYTY : RtFloat - Scalar floating point value F 1+5?N>/H1[?8[GVTIt?8[GVTIZTZ : RtFloat - Scalar floating point value F 1+5?N>/H1` "PZKLьt"PZKLьWTW : RtFloat - Scalar floating point value F 1+5?N>/H1H1JN۪BP TJN۪BP ResultnResult : RtFloat4 - The four component vector or color F 1+5?N>/Xܕ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(%dLrQn0piDM7^@A툷@p1M@o= }E[2CV)`MOWIB"ѥHtO{/( qQ@RjҥY@e&B_;OKFJ*rHRSEpFC~__um1CR¬5ٻzEuSSaI7֏bX4W}@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*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]BtOpDDuM@n;LAP\/3Kf͈,p8S GqiFE0IN pD 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, 1HX +kCY5]BtOp8X   uM@n;LAPXa8X \/3Kf͈,p@GqiFE0IN p H4W}@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& lBInputFloat, 2h`+kCY5]BtOp4VVuM@n;LAPq4\/3Kf͈,pƕGqiFE0IN pVh{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]BtOpxppuM@n;LAP`x\/3Kf͈,pX"GqiFE0IN ppXf4W}@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=A&DefaultModelShader R:>a[EH*M\7wCH0qy݀J}NShininess@ V 4W}@O{$)rޙG (XFҦVLE2Data, 3"%%u5E bLE2Data, 6QA@y:l1hH 4 Hm9ESpecularColorp $Q/G|]8-1OSM n#a.;]kI 忞@"dS  @ qΤIGGIk  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@@X@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)\Fvq30:6~KAMpR]JĀ7px vJ ~~pX$&*2HӁdńp˴Z[G {/,pӧ zE%SfpXw!XCLp B#A)[(dP4W}@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|BShaderInput?ڵfA'7((v%dLrQn0˴piDM7^@A툷p1M@o=/}E[2CV)0p`MOWIB"ѥXHtO{/( qQ@RjPɗҥY@e&ӧB_;OKFJ*r8HRSEpFCX~__um1CR¬5ٻzEuSSaI7֏bdS 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]IDjdcIInputColorp "uI̎4)]pp1R   \PtIL;I1Pp1R q\W D ɭpP GqiFE0IN p 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& InputFloat@ +kCY5]BtOp ffuM@n;LAPx  \/3Kf͈,pGqiFE0IN pf 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{oShaderModel qΤIGGIP C/-~CxrEp @ 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=l/"SolidColorShader < .;]kI 忞@"`LXq4W}@O{$%%u5E b-1OSM n"l"uI̎4)]N55OD.GWf5M (XFҦVLE2Data, 1""uI̎4)]-n,Njlpg????%%u5E b>g'JNjn*pFDC`@0@?5OD.GWf54W}@O{(XFҦV>g'JNjn*pFBxBb@@T@?.;]kI 忞@-1OSM n 럆L<_ї0"YMڿ$ZߦTShaderColor5OD.GWf5P5[C/-~CxrEp`L4W}@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]IDjdcInputColorN"uI̎4)]pi  \PtIL;I1P[iq\W D ɭppgGqiFE0IN p X4W}@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=h0CRfT0Material Flavor Manager8gYأC۲+?P@DS !EJGWMp8ٳ6~qK;2t&p8؜4W}@O{$ gń0HYp8(XFҦV"!EJGWMgń0HY6~qK;2t&NOI/)[&2/ChˢjC(XFҦV>g'JNjn*pFBTCX@>@?gYأC۲+?u8DMhbEOwnerName=6Vg'JNjn*pFBBX@1@?qU F3f<#2Object Render AttributesN)S $hKnPSVmP-` 8Ns2]pN)^mګA~Ksi[pN)X (lrsGrpN)\Eh{5pN) &"PbEGDߗrpN)#F?N dpN)s]*qBCxpN)S)\J:I%7upN)؂iA޲1rIK>XpN)  ,ot"AaYpN)L^RI8ÿRpN)\çwH5#VpN)H^4W}@O{ Owner%J@#QLLE2Data-1OSM n-1OSM n#LayoutLayout 럆L<_їLayout#(XFҦVLE2Data, 1" eo[nfFpN)zgGFohN)pN)8U vhD zʔpN)W0@zdW0@zd$VersionVersion$ȅ8vDCxZpN)H F+2MGpN)HI2GWM:).$pN)W mBޖw ppN) >fB #^pN)x|$}mK;)p N)pcrg@*oHp N)U !eLZE^Np N)P&pSLDMF:ɅDzgGFohN)I2GWM:).$ ]*qBCx?S $hKnPSVmvhD zʔçwH5#V rg@*oH4W}@O{\J:I%7u-n,Njlpg???\Eh{5-n,NjlpgX>X>X>?fB #^:KrbSxv No Hidden FacesNo SortTriangle SortNo Sort(XFҦV>g'JNjn*pFC(Bk@@\@?pSLDMF:ɅV/Project/Space 3D/loadPatchScript/LODPlaneF?N d 8Ns2]?ȅ8vDCxZ "PbEGDߗr F+2MG J@#QL>g'JNjn*pFzCCb@q@?(lrsGr@33@^mګA~Ksi[@ ?o[nfFW0@zdmBޖw p-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,ot"AaY ^RI8ÿR |$}mK;)!eLZE^NiA޲1rIK>X ܂dKu=LLODMeshH&.;]kI 忞@"X&H 賖`Ϝ4W}@O{$ G?ŋtveDCE`"IWJZ 82 (&׊;Jf|ڢZpu'2 h偢jD%~`8ZX'WAG&xh <ĠF姁J]\輸$1&KߊPV$(XFҦV"X#'-V?XM%%!'S $hKnPSVm%('L[> IkF:ǭJL[> IkF:ǭJB Pivot0Local coordinate system `^02eE{|@R-1OSM n" -V?XM%S $hKnPSVmL[> IkF:ǭJ偢jD%~`8(XFҦV>g'JNjn*pF=DCb@ f@?׊;Jf|ڢWAG`^02eE{|@B???? G?ŋ~0iV@KU>x%g'JNjn*pFB BX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї0܂dKu=Material Listx.;]kI 忞@"ÐH4W}@O{$-V?XM%X#'(XFҦV"-V?XM%(XFҦV>g'JNjn*pFBBX@1@?) 6G%ʟ,Material List Managern-V?XM%P U &zB}J?pnÐ4W}@O{$@qk<tI;E*:pn(XFҦV"-V?XM%&zB}J?(XFҦV>g'JNjn*pFB CX@>@?k<tI;E*:܂dKu=$Material 08m.;]kI 忞@"*x4W}@O{$w gYأC۲+?@q(XFҦV"(XFҦV>g'JNjn*pFBDCX@1@?gYأC۲+?܂dKu=D3D material&i .;]kI 忞@"]HȢ*4W}@O{$.F_P#.F_P#Material Output material __W8E#(p U@Ra.՞'fA5-_-1OSM n"(XFҦVLE2Data, 1"J@#QLLE2Data, 24W}@O{(XFҦV>g'JNjn*pFB Cd@@@?.F_P#՞'fA5-_J@#QL>g'JNjn*pF4CtCd@@@?-1OSM n 럆L<_їˣ Main GFʠN= 1 }}.F_P#Z`Ez]UO.;]kI 忞@U@Ra.>g'JNjn*pFjCCd@T@?Pc|B;]2$Material-.F_P#T.F_P#Material Output material __W8E#(S^M~b p-xF%5OD.GWf5p- qΤIGGIp-e(,S@vTVp-?зVJilp-]4W}@O{$U@Ra.-1OSM n"(XFҦVLE2Data, 1"( kF_`VertexShader-( t@*Ntt@*N Constant_shader Constant shader QVO Pk@- <;vHwp-> 0S̤@+Rp-,S@vTV5OD.GWf5 0S̤@+RзVJil4W}@O{(XFҦV>g'JNjn*pFDnCb@{@?S^M~b <;vHw:KrbSxbDisabledEnabledAs OpaqueDisabled.F_P#kF_t@*N-1OSM n 럆L<_ї0U@Ra.>g'JNjn*pFDnC`@\@?qΤIGGI܂dKu=,DefaultTexCoordShader7(gD9f<` R:>a[EH*M\LE2Data, 27wCHxxwkd@Xy`H4W}@O{$X^y݀J}NTCMoveX0nHĦBZ()rޙG LE2Data, 4(XFҦVLE2Data, 3"%%u5E bLE2Data, 6QA@y:l1$Q/G|]8-1OSM n# .;]kI 忞@" yXfhPS @ 踗 XзVJil?(gD9f<R:>a[EH*M\>g'JNjn*pFBC`@d@?7wCH>g'JNjn*pFCC`@0@?wkd@Xy?%%u5E b>g'JNjn*pF`CCb@\@KAC?y݀J}NĦBZ?зVJil4W}@O{)rޙG >g'JNjn*pFBC`@d@?(XFҦV>g'JNjn*pFBCb@ `@KAC?QA@y:l1>g'JNjn*pFg'JNjn*pFCCC`@d@?-1OSM n 럆L<_ї0.;]kI 忞@N5 JVE>:iIShaderTexcoordi зVJilP6 )#,OrRpi y4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1Or!"I = 8pi %%u5E b>g'JNjn*pFEDA`@P@?зVJil4W}@O{(XFҦV>g'JNjn*pFEDA`@P@?)#,OrRr!"I = 8-1OSM n 럆L<_ї0L{0nBg)`! XAddP)\Fvq3x.:JF>*Up'` #2 |L?¢Fhp'',8A fKھP6 Xf4W}@O{%%%u5E b-1OSM n"(XFҦVLE2Data, 1,8A fKھ:JF>*U%%u5E b>g'JNjn*pFD`B`@P@?4W}@O{#2 |L?¢Fh(XFҦV>g'JNjn*pFD`B`@P@?P)\Fvq3wk0.DX?_Gp.HOV-1OSM n 럆L<_ї0L{0nBg)`! ModulateP)\Fvq3ps2x2֣K!dE5pS ؂TXGy5֣ tTXGy5֣ FullLightColorInputY : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/S S  dE9@T dE9@ AttenuatedColorResult : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/x.hPS 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(rHHTXGy5֣  dE9@2x2֣K!dE5-1OSM n 럆L<_ї0L{0nBg)`! *VectorFromComponents P)\Fvq3Gx:G<l5p آ LDs(ep ؊?8[GVTIp ޭ"PZKLьp  JN۪BP Pps@ 4W}@O{%%%u5E b(XFҦVLE2Data, 1-1OSM n" "PZKLь?8[GVTI%%u5E b>g'JNjn*pFC`@\@? LDs(e4W}@O{Gx:G<l5(XFҦV>g'JNjn*pFC`@\@?P)\Fvq3wk0.DX?_JEG0JN۪BP -1OSM n 럆L<_ї0L{0nBg)`! 0VectorFromComponents, 1 P)\Fvq30 Gx:G<l5tGx:G<l5 Row1jRow1 : RtFloat4 - The four component vector or color F 1+5?N>/U  LDs(et LDs(eYTY : RtFloat - Scalar floating point value F 1+5?N>/U e?8[GVTIt?8[GVTIZTZ : RtFloat - Scalar floating point value F 1+5?N>/U X""PZKLьt"PZKLьWTW : RtFloat - Scalar floating point value F 1+5?N>/U U 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ь?8[GVTI%%u5E b>g'JNjn*pFCB`@\@? LDs(e4W}@O{Gx:G<l5(XFҦV>g'JNjn*pFCB`@\@?P)\Fvq3wk0.DX?_JEG0JN۪BP -1OSM n 럆L<_ї0/|V FK|ShaderInput?ڵfA'7(%dLrQn0piDM7^@A툷p1M@o=؂}E[2CV)`MOWIB"ѥHtO{/( qQ@RjҥY@e&B_;OKFJ*rHRSEpFC~__um1CR¬5ٻzEuSSaI7֏b4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1y"WMB])5FYPx*yI#h"mO('B_;OKFJ*rڳVܯ]FՃ尲+%tsxi_GetInputLightDistRtFloat^@A툷ڳVܯ]FՃ尲+%tsxi_GetInputPositionRtFloat4p1M@o=ڳVܯ]FՃ尲,&tsxi_GetInputTexCoordsRtFloat3 qQ@RjڳVܯ]FՃ尲'!tsxi_GetInputAlphaRtFloatHRSEpFCڳVܯ]FՃ尲-'tsxi_GetInputLightColorRtFloat4%%u5E b>g'JNjn*pF CA`@0@?)5FYPٻzEuSڳVܯ]FՃ尲2,tsxi_GetInputWorldToObject RtFloat4x4~__um1CR¬5ڳVܯ]FՃ尲3-tsxi_GetInputTangentToWorld RtFloat3x3SaI7֏bڳVܯ]FՃ尲2,tsxi_GetInputObjectToWorld RtFloat4x44W}@O{(XFҦV>g'JNjn*pF CA`@0@?x*yI?ڵfA'7(ڳVܯ]FՃ尲)#tsxi_GetInputEyePosRtFloat4`MOWIB"ѥڳVܯ]FՃ尲)#tsxi_GetInputNormalRtFloat3ҥY@e&ڳVܯ]FՃ尲+%tsxi_GetInputLightDirRtFloat3#h"mO('%dLrQn0ڳVܯ]FՃ尲)#tsxi_GetInputEyeDirRtFloat3y"WMB]}E[2CV)ڳVܯ]FՃ尲("tsxi_GetInputColorRtFloat4HtO{/(ڳVܯ]FՃ尲*$tsxi_GetInputTangentRtFloat3-1OSM n 럆L<_ї0piDM7ڳVܯ]FՃ尲)#tsxi_GetInputEyeDistRtFloatz€ L& \ݕInputFloat0n+kCY5]BtOpHВ В uM@n;LAP0 H\/3Kf͈,pGqiFE0IN pВ 4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCMOVEX%%u5E b>g'JNjn*pFtBb@X@?+kCY5]BtO4W}@O{(XFҦV>g'JNjn*pFtBb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0z€ L& ,hR InputFloat, 1` +kCY5]BtOpNffuM@n;LAPN\/3Kf͈,p0GqiFE0IN pf踗4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCMOVEY%%u5E b>g'JNjn*pF8Cb@X@?+kCY5]BtO4W}@O{(XFҦV>g'JNjn*pF8Cb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0z€ L& TInputFloat, 2`+kCY5]BtOp* HHuM@n;LAP* \/3Kf͈,p౗GqiFE0IN pH 4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCSCALEX%%u5E b>g'JNjn*pF'b@X@?+kCY5]BtO?4W}@O{(XFҦV>g'JNjn*pF'b@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0z€ L& \sInputFloat, 3(+kCY5]BtOppuM@n;LAPآp\/3Kf͈,pʷGqiFE0IN pX4W}@O{$%%u5E b(XFҦVLE2Data, 1-1OSM n"GqiFE0IN C_TCSCALEY%%u5E b>g'JNjn*pFXb@X@?+kCY5]BtO?4W}@O{(XFҦV>g'JNjn*pFXb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0܂dKu=&DefaultModelShader R:>a[EH*M\7wCH Zy݀J}NShininessԧ4W}@O{$)rޙG (XFҦVLE2Data, 3"%%u5E bLE2Data, 6QA@y:l1#4 Hm9ESpecularColor$Q/G|]8-1OSM n#).;]kI 忞@"Pۮxv<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?y݀J}NA4W}@O{)rޙG >g'JNjn*pFCA`@T@?(XFҦV>g'JNjn*p^XB-Cb@@X@y݀J}N Ԡ>KC~B?QA@y:l1>g'JNjn*pFAC`@@@?4 Hm9E-n,Njlpg>>>?$Q/G|]8>g'JNjn*pFC`B`@T@?-1OSM n 럆L<_ї0.;]kI 忞@qΤIGGIL{0nBg)`! dPhong Lighting P)\Fvq3(]:6~KAMpo -R]JĀ7po QvJ ~~poC$&*2HӁdńpoxDZ[G {/,poH zE%SfpoQ w!XCLpoo B#A)[(dPЃP4W}@O{%%%u5E b-1OSM n"(XFҦVLE2Data, 1 %%u5E b>g'JNjn*pFCLb@d@?4W}@O{:6~KAMZ[G {/,(XFҦV>g'JNjn*pFCLb@d@?P)\Fvq3wk0.DX?_|X?dK;, B#A)[(dw!XCL$&*2HӁdńvJ ~~-1OSM n 럆L<_ї0R]JĀ7 zE%Sf/|V FK|ShaderInput?ڵfA'7(%dLrQn0xDpiDM7^@A툷p1M@o=f}E[2CV)(]Y`MOWIB"ѥCHtO{/( qQ@Rj`<ҥY@e&HB_;OKFJ*r&HRSEpFCQ ~__um1CR¬5ٻzEuSSaI7֏b4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1y"WMB])5FYPx*yI#h"mO('B_;OKFJ*rڳVܯ]FՃ尲+%tsxi_GetInputLightDistRtFloat^@A툷ڳVܯ]FՃ尲+%tsxi_GetInputPositionRtFloat4p1M@o=ڳVܯ]FՃ尲,&tsxi_GetInputTexCoordsRtFloat3 qQ@RjڳVܯ]FՃ尲'!tsxi_GetInputAlphaRtFloatHRSEpFCڳVܯ]FՃ尲-'tsxi_GetInputLightColorRtFloat4%%u5E b>g'JNjn*pFC`@0@?)5FYPٻzEuSڳVܯ]FՃ尲2,tsxi_GetInputWorldToObject RtFloat4x4~__um1CR¬5ڳVܯ]FՃ尲3-tsxi_GetInputTangentToWorld RtFloat3x3SaI7֏bڳVܯ]FՃ尲2,tsxi_GetInputObjectToWorld RtFloat4x44W}@O{(XFҦV>g'JNjn*pFC`@0@?x*yI?ڵfA'7(ڳVܯ]FՃ尲)#tsxi_GetInputEyePosRtFloat4`MOWIB"ѥڳVܯ]FՃ尲)#tsxi_GetInputNormalRtFloat3ҥY@e&ڳVܯ]FՃ尲+%tsxi_GetInputLightDirRtFloat3#h"mO('%dLrQn0ڳVܯ]FՃ尲)#tsxi_GetInputEyeDirRtFloat3y"WMB]}E[2CV)ڳVܯ]FՃ尲("tsxi_GetInputColorRtFloat4HtO{/(ڳVܯ]FՃ尲*$tsxi_GetInputTangentRtFloat3-1OSM n 럆L<_ї0piDM7ڳVܯ]FՃ尲)#tsxi_GetInputEyeDistRtFloat]IDjdc InputColor"uI̎4)]p0 ɯ ɯ\PtIL;I1P -0q\W D ɭpphGqiFE0IN p ɯۮ4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1GqiFE0IN SPECULARCOLOR"uI̎4)]\PtIL;I1%%u5E b>g'JNjn*pFX@@b@X@?4W}@O{(XFҦV>g'JNjn*pFX@@b@X@?q\W D ɭ-1OSM n 럆L<_ї0z€ L& |InputFloatԧ+kCY5]BtOpXܳuM@n;LAP QXܳ\/3Kf͈,pPDGqiFE0IN pxv4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1GqiFE0IN SHININESS%%u5E b>g'JNjn*pFPb@X@?+kCY5]BtOA4W}@O{(XFҦV>g'JNjn*pFPb@X@?uM@n;LA\/3Kf͈,?-1OSM n 럆L<_ї0fC{oShaderModelڳqΤIGGIP<ЃC/-~CxrEpڳ4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1%%u5E b>g'JNjn*pF DA`@P@?4W}@O{C/-~CxrE(XFҦV>g'JNjn*pF DA`@P@?-1OSM n 럆L<_ї0qΤIGGI܂dKu=&"SolidColorShaderP.;]kI 忞@"hȢ4W}@O{$%%u5E b-1OSM n":"uI̎4)]65OD.GWf5xF%(XFҦVLE2Data, 1""uI̎4)]-n,Njlpg????%%u5E b>g'JNjn*pFDC`@0@?5OD.GWf54W}@O{(XFҦV>g'JNjn*pFBxBb@@T@?-1OSM n 럆L<_ї0.;]kI 忞@"YMڿ$ZߦؠShaderColorٚ5OD.GWf5P6XzC/-~CxrEpٚh4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1%%u5E b>g'JNjn*pFChB`@P@?5OD.GWf54W}@O{C/-~CxrE(XFҦV>g'JNjn*pFChB`@P@?-1OSM n 럆L<_ї0]IDjdcޠInputColor"uI̎4)]p(w\PtIL;I1PXz(wq\W D ɭp ԑGqiFE0IN p4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1GqiFE0IN DIFFUSECOLOR"uI̎4)]\PtIL;I1%%u5E b>g'JNjn*pFBdBb@X@?4W}@O{(XFҦV>g'JNjn*pFBdBb@X@?q\W D ɭ-1OSM n 럆L<_ї0b=h0CRfS0Material Flavor Manager{ gYأC۲+?Pw 8w!EJGWMp{ 0Ւ6~qK;2t&p{ x4W}@O{$p gń0HYp{ (XFҦV"!EJGWMgń0HY(XFҦV>g'JNjn*pFBTCX@>@?6~qK;2t&NOI/)[&2/ChˢjCgYأC۲+?u8DMhbE OwnerNameڗ6Vg'JNjn*pFBBX@1@?qU F3f2Object Render Attributes@:S $hKnPSVmP!'P{8Ns2]p@:0"^mګA~Ksi[p@:X(lrsGrp@:\Eh{5p@:!"PbEGDߗrp@:8F?N dp@:hU]*qBCxp@:\J:I%7up@:՝iA޲1rIK>Xp@:P,ot"AaYp@:^RI8ÿRp@:ڧçwH5#Vp@:4W}@O{ Owner%J@#QLLE2Data-1OSM n-1OSM n#LayoutLayout 럆L<_їLayout#(XFҦVLE2Data, 1"o[nfFp@:zgGFohN)p@:vhD zʔp@:W0@zdW0@zd$VersionVersion$^ȅ8vDCxZp@: ҥF+2MGp@:`˦I2GWM:).$p@:XmBޖw pp@:fB #^p@:(|$}mK;)p @:xHrg@*oHp @:7!eLZE^Np @:HpSLDMF:ɅDI2GWM:).$ zgGFohN)vhD zʔS $hKnPSVm]*qBCxrg@*oHçwH5#V 4W}@O{fB #^:KrbSxv No Hidden FacesNo SortTriangle SortNo Sort\Eh{5-n,NjlpgX>X>X>?\J:I%7u-n,Njlpg???pSLDMF:ɅT/Project/newscene/loadPatchScript/LODMesh(XFҦV>g'JNjn*pFC(Bk@ `@?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 "L2OƲ@5Nt PivotƴL[> IkF:ǭJPB('xϷ<ĠF姁J]pDƴHc̷WAGpƴHcHc׊;Jf|ڢpB賖4W}@O{$(XFҦV"L[> IkF:ǭJ(XFҦV>g'JNjn*pFBCX@1@?׊;Jf|ڢWAG<ĠF姁J]`^02eE{|@B???²?n':hF% Itg Editable shapepVIQGіF͡TtVIQGіF͡TInput Mesh*Input Mesh for Shape >W5f@(䐈  tveDCE`"IWJPBx%/nkUCEHLjt/nkUCEHLjSelection.Mesh selected elements >`g4RJLUD 4W}@O{$(XFҦV"/nkUCEHLj(XFҦV>g'JNjn*pFBRCb@@P@?VIQGіF͡T>W5f@(䐈ɒPٸ*ćIC7];L=L>>>?;?]??]]]];]]]]L]]=]L>]>]>]?];?]]?]?;;];;;;;;L;;=;L>;>;>;?;;?;]?;?];L=L>>>?;?]??];L=L>>>?;?]??];L=L>>>?;?]??LL]L;LLLLLLL=LL>L>L>L?L;?L]?L?];L=L>>>?;?]??==]=;====L====L>=>=>=?=;?=]?=?L>L>]L>;L>L>L>L>LL>L>=L>L>L>>L>>L>?L>;?L>]?L>?>>]>;>>>>L>>=>L>>>>>>?>;?>]?>?>>]>;>>>>L>>=>L>>>>>>?>;?>]?>???]?;????L??=?L>?>?>???;??]???;?;?];?;;?;?;?;?L;?;?=;?L>;?>;?>;??;?;?;?]?;??]?]?]]?;]?]?]?]?L]?]?=]?L>]?>]?>]??]?;?]?]?]????]?;????L??=?L>?>?>???;??]??? h* 6H?BJ            !!!"""###$$$%%%&&&'''((()))***+++,,,---.../ 0!01!!1"12""2#23##3$34$$4%45%%5&56&&6'67''7(78((8)89))9*9:**:+:;++;,;<,,<-<=--=.=>..>/>?/0@1@A11A2AB22B3BC33C4CD44D5DE55E6EF66F7FG77G8GH88H9HI99I:IJ::J;JK;;K<KL<<L=LM==M>MN>>N?NO?@PAPQAAQBQRBBRCRSCCSDSTDDTETUEEUFUVFFVGVWGGWHWXHHXIXYIIYJYZJJZKZ[KK[L[\LL\M\]MM]N]^NN^O^_OP`Q`aQQaRabRRbSbcSScTcdTTdUdeUUeVefVVfWfgWWgXghXXhYhiYYiZijZZj[jk[[k\kl\\l]lm]]m^mn^^n_no_`papqaaqbqrbbrcrsccsdstddtetueeufuvffvgvwggwhwxhhxixyiiyjyzjjzkz{kk{l{|ll|m|}mm}n}~nn~o~opqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~8{EE%D7[y'HNLjUb)R  !!!!!!""""""######$$$$$$%%%%%%&&&&&&''''''(((((())))))******++++++,,,,,,------......//////000000111111222222333333444444555555666666777777888888999999::::::;;;;;;<<<<<<======>>>>>>??????@@@@@@AAAAAABBBBBBCCCCCCDDDDDDEEEEEEFFFFFFGGGGGGHHHHHHIIIIIIJJJJJJKKKKKKLLLLLLMMMMMMNNNNNNOOOOOOPPPPPPQQQQQQRRRRRRSSSSSSTTTTTTUUUUUUVVVVVVWWWWWWXXXXXXYYYYYYZZZZZZ[[[[[[\\\\\\]]]]]]^^^^^^______``````aaaaaabbbbbbccccccddddddeeeeeeffffffgggggghhhhhhiiiiiijjjjjjkkkkkkllllllmmmmmmnnnnnnooooooppppppqqqqqqrrrrrrssssssttttttuuuuuuvvvvvvwwwwwwxxxxxxyyyyyyzzzzzz{{{{{{||||||}}}}}}~~~~~~89Ig"???n??]??L??;??*??????>?>?>?>?L>?>?=?n??n?n?n?]?n?L?n?;?n?*?n??n??n?>n?>n?>n?>n?L>n?>n?=n?]??]?n?]?]?]?L?]?;?]?*?]??]??]?>]?>]?>]?>]?L>]?>]?=]?L??L?n?L?]?L?L?L?;?L?*?L??L??L?>L?>L?>L?>L?L>L?>L?=L?;??;?n?;?]?;?L?;?;?;?*?;??;??;?>;?>;?>;?>;?L>;?>;?=;?*??*?n?*?]?*?L?*?;?*?*?*??*??*?>*?>*?>*?>*?L>*?>*?=*????n??]??L??;??*??????>?>?>?>?L>?>?=????n??]??L??;??*??????>?>?>?>?L>?>?=?>?>n?>]?>L?>;?>*?>?>?>>>>>>>>>L>>>>=>>?>n?>]?>L?>;?>*?>?>?>>>>>>>>>L>>>>=>>?>n?>]?>L?>;?>*?>?>?>>>>>>>>>L>>>>=>>?>n?>]?>L?>;?>*?>?>?>>>>>>>>>L>>>>=>L>?L>n?L>]?L>L?L>;?L>*?L>?L>?L>>L>>L>>L>>L>L>L>>L>=L>>?>n?>]?>L?>;?>*?>?>?>>>>>>>>>L>>>>=>=?=n?=]?=L?=;?=*?=?=?=>=>=>=>=L>=>===?n?]?L?;?*???>>>>L>>=ZpߘHXO?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????tveDCE`"IWJ܂dKu="controlPointMeshX .;]kI 忞@" 80ə@ h:4W}@O{$ G?ŋ0tveDCE`"IWJZ8 2 /׊;Jf|ڢZ X2 偢jD%~`8Z WAG/<ĠF姁J]\$1&KߊPV$(XFҦV"XP -V?XM% S $hKnPSVm~i 'XoL[> IkF:ǭJR-1OSM n" -V?XM%S $hKnPSVmL[> IkF:ǭJ偢jD%~`8(XFҦV>g'JNjn*pFBYCb@ f@?׊;Jf|ڢWAG`^02eE{|@B???? G?ŋ~0iV@KU>x%g'JNjn*pFB BX@1@?׊;Jf|ڢWAG<ĠF姁J]-1OSM n 럆L<_ї0܂dKu=Material Listp.;]kI 忞@"P 84W}@O{$-V?XM%XP (XFҦV"-V?XM%(XFҦV>g'JNjn*pFBBX@1@?) 6G%,Material List Manager-V?XM%PH &zB}J?pP 4W}@O{$xk<tI;E*:p(XFҦV"-V?XM%&zB}J?(XFҦV>g'JNjn*pFB CX@>@?k<tI;E*:܂dKu=\%Material 0(Z&.;]kI 忞@"h~4W}@O{$h6V gYأC۲+?x(XFҦV"(XFҦV>g'JNjn*pFBDCX@1@?gYأC۲+?܂dKu=T D3D material.;]kI 忞@"804W}@O{$.F_P#.F_P#Material Output material __W8E#(T U@Ra.՞'fA5-_-1OSM n"(XFҦVLE2Data, 1"J@#QLLE2Data, 24W}@O{(XFҦV>g'JNjn*pFB Cd@@@?՞'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;]2Material.F_P#T.F_P#Material Output material __W8E#(S^M~b p`5OD.GWf5p@3qΤIGGIpha,S@vTVpW зVJilp4W}@O{$U@Ra.-1OSM n"(XFҦVLE2Data, 1"kF_`VertexShader@t@*Ntt@*N Constant_shader Constant shader QVO Pk@, <;vHwpD  0S̤@+Rp,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=DF,DefaultTexCoordShader(gD9f<h R:>a[EH*M\LE2Data, 27wCHSwkd@XyG84W}@O{$py݀J}NTCMoveXPh+ĦBZ)rޙG LE2Data, 4(XFҦVLE2Data, 3"%%u5E bLE2Data, 6QA@y:l1$Q/G|]8-1OSM n#.;]kI 忞@" XxF KxҾ]0'зVJilW 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@ `@KAC?)rޙG >g'JNjn*pFBC`@d@?$Q/G|]8>g'JNjn*pFCCC`@d@?QA@y:l1>g'JNjn*pF:iShaderTexcoordyзVJilP0')#,OrRpy 4W}@O{$%%u5E b-1OSM n"(XFҦVLE2Data, 1 r!"I = 8py%%u5E b>g'JNjn*pFEDA`@P@?4W}@O{зVJil(XFҦV>g'JNjn*pFEDA`@P@?)#,OrRr!"I = 8-1OSM n 럆L<_ї0L{0nBg)`! qAddP)\Fvq3 :JF>*Up z#2 |L?¢Fhp  ,8A fKھPX4W}@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)\Fvq32x2֣K!dE5pXkU TXGy5֣ tTXGy5֣ FullLightColorInputY : RtNumeric - Any numerical value (scalar, vector or matrix) F 1+5?N>/XkXk 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)\Fvq3XuGx:G<l5p`Vt  LDs(ep`VW*?8[GVTIp`VhRi "PZKLьp`V`VJN۪BP PxF 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>/4"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>/zK4W}@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(%dLrQn0piDM7^@A툷X p1M@o=U }E[2CV)`MOWIB"ѥHtO{/( qQ@RjҥY@e&B_;OKFJ*rHRSEpFC~__um1CR¬5ٻzEuSSaI7֏bxҾ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*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& -InputFloatP+kCY5]BtOpėuM@n;LAP ė\/3Kf͈,p(GqiFE0IN p4W}@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& DInputFloat, 1h +kCY5]BtOpK8 8 uM@n;LAP؞K\/3Kf͈,pHpGqiFE0IN p8 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, 2G+kCY5]BtOpuM@n;LAPXu\/3Kf͈,p rGqiFE0IN 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;LAPt \/3Kf͈,pGqiFE0IN 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=D &DefaultModelShader R:>a[EH*M\7wCHvy݀J}NShininesshh 04W}@O{$)rޙG (XFҦVLE2Data, 3"%%u5E bLE2Data, 6QA@y:l1X4 Hm9ESpecularColorl$Q/G|]8-1OSM n#ȏ.;]kI 忞@"(P }f`HqΤIGGI@3 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@@X@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)\Fvq3X:6~KAMp.`ӏR]JĀ7p.`vJ ~~p.Xi$&*2HӁdńp.Z[G {/,p. zE%Sfp.w!XCLp.. B#A)[(dP+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|h ShaderInput?ڵfA'7(`ծ%dLrQn0piDM7^@A툷p1M@o=b}E[2CV)X`MOWIB"ѥXiHtO{/( qQ@Rj RҥY@e&B_;OKFJ*rL HRSEpFC~__um1CR¬5ٻzEuSSaI7֏b(P 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]IDjdcInputColorl"uI̎4)]pe\PtIL;I1P`ӏeq\W D ɭpbGqiFE0IN p}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& ̈InputFloathh +kCY5]BtOpI HA HA uM@n;LAP`I \/3Kf͈,p` GqiFE0IN pHA f4W}@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{oTShaderModelHPqΤIGGIPH+C/-~CxrEpHP`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=+"SolidColorShaderģ.;]kI 忞@"/4W}@O{$%%u5E b-1OSM n"x! "uI̎4)]5 5OD.GWf5`(XFҦVLE2Data, 1""uI̎4)]-n,Njlpg????%%u5E b>g'JNjn*pFDC`@0@?5OD.GWf54W}@O{(XFҦV>g'JNjn*pFBxBb@@T@?.;]kI 忞@-1OSM n 럆L<_ї0"YMڿ$Zߦ ShaderColorpW 5OD.GWf5P xC/-~CxrEppW 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]IDjdcΤInputColor5"uI̎4)]p-HH\PtIL;I1Px-q\W D ɭp GqiFE0IN pH/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=h0CRf,90Material Flavor Manager&gYأC۲+?Ph6V U!EJGWMp&6~qK;2t&p&h~4W}@O{$T gń0HYp&(XFҦV"!EJGWMgń0HY6~qK;2t&NOI/)[&2/ChˢjC(XFҦV>g'JNjn*pFBTCX@>@?gYأC۲+?u8DMhbEOwnerName0y6Vg'JNjn*pFBBX@1@?qU F3fhS 2Object Render Attributes( S $hKnPSVmP8Ns2]p( ^mګA~Ksi[p( `(lrsGrp( \Eh{5p( Ȫ"PbEGDߗrp( h[F?N dp( ]*qBCxp( +\J:I%7up( כiA޲1rIK>Xp( x,ot"AaYp( (E^RI8ÿRp( إ çwH5#Vp( @4W}@O{ Owner%J@#QLLE2Data-1OSM n-1OSM n#LayoutLayout 럆L<_їLayout#(XFҦVLE2Data, 1"pלo[nfFp( 8_zgGFohN)p( _vhD zʔp( W0@zdW0@zd$VersionVersion$Gȅ8vDCxZp( rF+2MGp( 1I2GWM:).$p( mBޖw pp( fB #^p( |$}mK;)p ( Grg@*oHp ( pb!eLZE^Np ( 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`??X>?pSLDMF:Ʌf/Project/Space 3D/loadPatchScript/controlPointMesh(XFҦV>g'JNjn*pFC(Bk@ `@?F?N d ȅ8vDCxZ 8Ns2]F+2MG "PbEGDߗr ^mګA~Ksi[@z?(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 "L2OƲ@5Nl  Pivot[L[> IkF:ǭJPBXo1S <ĠF姁J]pD[KS X)S WAGp[KS KS ׊;Jf|ڢpB 4W}@O{$(XFҦV"L[> IkF:ǭJ(XFҦV>g'JNjn*pFBCX@1@?׊;Jf|ڢWAG<ĠF姁J]`^02eE{|@B???²?n':hF% IEditable shapeOVIQGіF͡TptveDCE`"IWJPB0(/nkUCEHLjph4W}@O{$(XFҦV"/nkUCEHLj(XFҦV>g'JNjn*pFBQCX@1@?VIQGіF͡T>W5f@(䐈"ٸ*ćIC7Q@>?@??@@@@@@@>@?@@?@?@>?@??@>?@??@>?@??>>@>>>>>>?>@?>???@????>???@???@?@?@@?@?@?@?>@??@?@?@????@????>???@??? h* 6H?BJ                      !!!"""#$$%%%&&&'''(( () )!)*!!*"*+""+#+,#$-%-.%%.&./&&/'/0''0(01((1)12))2*23**3+34++4,45,-6.67..7/78//808900919:11:2:;22;3;<33<4<=44=5=>56?7?@77@8@A88A9AB99B:BC::C;CD;;D<DE<<E=EF==F>FG>?H@HI@@IAIJAAJBJKBBKCKLCCLDLMDDMEMNEENFNOFFOGOPG8{EE%D7[y'HN LjUb)R   !!!!!!""""""######$$$$$$%%%%%%&&&&&&''''''(((((())))))******++++++,,,,,,------......//////000000111111222222333333444444555555666666777777888888999999::::::;;;;;;<<<<<<======>>>>>>??????89Ig" Q???`??@?? ????>?>?>?`??`?`?`?@?`? ?`??`?>`?>`?>`?@??@?`?@?@?@? ?@??@?>@?>@?>@? ?? ?`? ?@? ? ? ?? ?> ?> ?> ????`??@?? ????>?>?>?>?>`?>@?> ?>?>>>>>>>>?>`?>@?> ?>?>>>>>>>>?>`?>@?> ?>?>>>>>>>?`?@? ??>>>ZpߘHXO @????????????????????????????????????????????????????????????????tveDCE`"IWJddKtN4 ActvLoop h2|=BynjH4W}@O{$(XFҦV"p (t|Iet|Ie Iteration count Iteration counth#nFO&h#nFO&LE2Data$LE2 Data for node >g'JNjn*p; `A$%}; `A$%}LoopBodyLoopBody((,hML,hML$Current iteration$Current iteration`l(v -1OSM n# z@HouB!#~}uB!#~}LE2Data, 2$LE2 Data for node >g'JNjn*p asvHhTG$ 2|=Bynj4W}@O{(XFҦV>g'JNjn*pnDDAb@@T@; `A$%}ߒ$)?? asvHhTGeSBgc$  TO 1BÕrCWx]y\q׼]B@Z]sIB7@d$F>bl8N!8PIS1!(qHlvm\B"m{Ǽ7켙7ZVu_w~FmFmFmFmv텵kÊ1|0aYs ÿ߰П`cmpW9L3< DQAt2e*Ys`˖ sQo杇j0l0D$P_&1lh|h=.F K,g{B6ܹAQT@nA,EAͼΓ>f s>RPOC2I0ck!kL8̞=f~߳RWU hZ03%sSdϥ;JP,(D@"{8q>^ÖL66mwqw}㦛S )C,,Sؼ$2 ׉FO%,XRطп; /_i$ͅh1^?~qܯ7])kw}^&(ŒB@v ?I>Ӡ ź^ЇrWs[$fѯNvׅ+Vȷ=z Tz2g'֐e3Y,bڂ^NuPܥ*~1G#y]φm YPK k˙-H$p㍷ OU\}&x~xO1{[b;/J}-ZH.xQT%,r.c:fͶ@;-}&=ojz.Vl:=uʠ{q 3F={*n:uOoz^jj,Wp ;Y dvl&{.ؽ-pW0{/|}39Z]3xq4ދ|8%6C<}?d3YzZm%/cj :::Q[ ˖t"2 ԓIM3[sWBdq(hr~%d0HTvN+/gG<Hdu+D/X<"0iW"żG˂,ޅ}7 UdŲ/2{cفZ޽A̕E@_Z}UqG00gS?#߱C{ptD9 02@{-bR=y~قq!E_Ws==!&D 烑>_{_'Uص9O= Xۍ>ݛ{ 8c$_{nnY$e|G4hg}G>hC9]^w)afcۙyAucǞ6'N²vx>F@O<,=ܷ`MEus,/#4m_ed_^i)_@ݶtɒp%\,Z30t}[pς$`tB/UG\:kbϗ.]Q]}Ff /Z+2TZ#x}Gچk1h̙| IgAS@悪]1:ԟ=˟lG>a.hl y@TO F% ڸBW#$ނhh;Xg5T[CuއCY6oMem dW6o!ڭ>9??ʄ~t]AoyWc} !KwQm 0;(yO1JN|qg1O7$x .~ԗ5=>oVRC|c˖#і/xڟZڈ׉ܧTM<= 5P˿˪E-_0öm;BǟUoj?[oꪫ]yc./`⢭OOcVa] \pqH df 9pc?|H 2ɀ}\x9>$/A]8V?şkr-w~_nwu-gV?"*~j +b`T}3ߔ͍3[rgsϩdo]mh'[]gZ迾Xӱ_ĽAO~^EcQs1b 9; F{<-?q_r= #'osV_fz-}-ÿ zo\Xjo sezs-~>}g5wAloΖ=7Lx~dSezO5gy'r.7nH'q?}ݯi.{yr}1~^W}D1s]?>O}7,\zkcqWZz_W{']>l)$~3cVcQEe^wF[{PH{s?ڼjNZfX/p;Coܵ^[zU "´r`ػ5c7ԫi).䧯rQ&/!W;xݶks/ۧ DN5pٟrϮMF=U`Yn=@D˾hiqa ֞J6c0X^{0Ǻbr:~xc=Y?q<3i~[K<_M{N^ϲ{ /$i[sl+ (S5\ ϠQQ>jwq}Um+//ul+b̼TTlީĉ#\'sǐY@\F0_!g@Rݏm4aݺ lΣ$WW3 좆e=Giln-S }и^ϽwU ޚAܧfQ,Q5gzqf~<~e=@P˟Ÿ`k$vT͉hL=bvz(oeefVkH~ ہW}ͮ$OzODksl d<~ެ]o=M1گK}N{ gp E\%?؜Fٹ,Zso`F]:_n.{ҳhcGVw[`q JR4[0uӓbI+\aS 5՗,ɂ3R]mur~'#$^bۻ{wӠYU(G{ 2O|mQ;5S5lOο9p%HZאa=1sIM{AWIYKs$[oW~o2i @|<˅w={ kko`FSQ= }P6Ϛo}w hO?n~# j@5wf=zn8 נWyWȗ~d+ bRmYdo9a vޭ%cѢMbߑ%쟰9ȿU(߀`ϜdWwܾ Z>_S6HN1?{cy`d63ۛKk]w?vLvßmY%=/^=΁z }+Kg5P>n1vqR Z8H|S.?l̿:?(xl 0TdǏ=^GRDǝ^'~majs.(?V5Ȕe '[Mdq0F]??ʣ H+4f1lnk^X:zr{E:STȀx@(ʫ{yF.gn8,Ni@$> K7[yDι7VǑÐ~2OA,00ߎuTUGX!|O9Q:Olx_.DKڳQsǓ|t&yě`_d ?-] ~0b="`*G9ӜDj ɓGB ,$oB=,{F'Eg}YޛwD*˻84Xǿ|ޘ7 Oym>O={Sj̿'gUἧjiF]ЙT[hNff?'EOZڻX/16{ &5|V}ol~ :b,ߖ{eSBuƌYcuW0Tԗjhi 9hIL}Z6t>^s ۨw=\w9`d_qah~%繦O}ɓ;صwAf12}'g~ WfΜݐw3xܸMqeՕ>$zۊ'.?/i5_=O:O+;X*SEwdOt+\oxJN]u`Oވrd9~rFPrV5g&͎S ʃQ\c,D;;S+eI"` 7uy+:g<^4, `B穑1b@M<xkXQP=>ojY<6/L@T;cBY'6O7H,^^,)aqR NlN,kQlpqilK5h{!f џCU,EFXk\B͝V_h^|P[DK?S?/}ejO>Gjg.+P{9mom豝hgɟEc-rsTja%KmlF5\.ݏr&{ p*Ǚ8䱎@ַ-P^Ǡ9>x}]o܆Wt`+ժ :37P jxcgu +06娇@%u7/6'}}KOC{as6kw7rFks+s{σ}k _)4Ļ^c|4jƤVߪ< y t~wmU+jBlZ1\`P4罙;g{EٗsgE`Ӧ-sP>z 6 l m5Jo堟)ٻ̾|M:Ur>@P-\w-ec-F{ F~_>T5_-b?f/M_dnUhePmye@5ںfe~Ơ Ƣ%+I]';Y:@5 B|^OªU}kpDzFl|k{ d 6 n(`ٲ|Pg>1ǧAO~ݏ[P+pӒBz}Y#qԌjol@6Gvg7>TO4~8Y {zھ`@vλexìyNN'*qYPn'{w\|BP\Gs4sc'as*3Lp 5Py>Q>Sf~2Xd@C*\˩ғnnjǝ魓zh'8`WnCiSAm</*堧h5cXHd&aZhyg|mי<Ϲű"|h _&WtfC֏t7 t^XjJ}Hv;\,׉A^RbhjD:jeAB_q$ &[3^mrrՠ^oߚ0u!Y{*ɨ/`Bh|=$2}:џ?KPREANbcAd:C(C3f~3ICvn{zC(@' OB[R1F: .f_g4t~ 3~ofDCa=g=CTsJܭ^ڣt}l>œTGgĶyz< ͩ%̚5ƌ&LfygY#FmFmFm ?Yڏt|Ieh#nFO&>g'JNjn*pFCC@f@X@?; `A$%}-1OSM n 럆L<_ї.Activity GFʠN= H0< }} Control Inz@HoZ`Ez]UO GFʠN=P@ }}Iteration countt|IeZ`Ez]UO1釥GP>aP0 }}t|IeZ`Ez]UO GFʠN=H 0= }} Control Out2|=BynjZ`Ez]UO GFʠN=` B }}Current iteration,hMLZ`Ez]UO1釥GP>a` 0 }},hMLZ`Ez]UO GFʠN=0@9 }}LoopBody; `A$%}Z`Ez]UO,hMLuB!#~}>g'JNjn*pnC:Cb@T@; `A$%}ߒ$)??z@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ 6NewCommand// Execute // Called to execute the command function Execute(params) { // needed because if file is ts7 format it will be oversized and take a while to read System.Alert("done processing"); } NScript Object Package/jScript language4W}@O{(XFҦV>g'JNjn*pntDBb@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@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand@// Execute // Called to execute the command function Execute(params) { //System.Trace("initializeMesh"); //initialize the control points by copy owner = System.ThisOwner() Node.Value(owner + "/controlPointMesh/Editable shape","Input Mesh") = Node.Value(owner + "/controlPointPlane","Mesh"); Node.Value(owner + "/LODMesh/Editable shape","Input Mesh") = Node.Value(owner + "/LODPlane","Mesh"); } NScript Object Package/jScript language4W}@O{(XFҦV>g'JNjn*pn DP`@@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ͤ*EgbĬ$\LODcontrol 2AEHM'ceZU@䑧r%v4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n#xS˘~ҦF˚~t˘~ҦF˚~DuLODinD x  {I*S/T{I*S/BuLODoutBp_x 8pC#I"!T8pC#I"!BvLODoutBqj-NxE m.6tj-NxE m.6DvLODinD x PrKnA.pD x  KnA.2AEHM'>g'JNjn*pFBC`@0@?ceZU@䑧r[җJs@ NewObject// OnComputeOutputs // Called to compute values of all output connectors function OnComputeOutputs(params) { var uLODin = params.ConValue('uLODin'); var vLODin = params.ConValue('vLODin'); var LODin = params.ConValue('LODin'); // TODO: put your computation here params.ConValue('uLODout') = uLODin; params.ConValue('vLODout') = vLODin; } NScript Object Package/jScript language~൱D *#^cintuLODin˘~ҦF˚~intuLODout{I*S/intvLODout8pC#I"!intvLODinj-NxE m.6int LODinKnA.j-NxE m.6{I*S/4W}@O{(XFҦV>g'JNjn*pFCdCb@@X@?8pC#I"!˘~ҦF˚~.;]kI 忞@-1OSM n 럆L<_їCDefault GFʠN=P|1 }}{MwzM/P]%Z`Ez]UO1釥GP>aP|0 }}{MwzM/P]%Z`Ez]UO GFʠN=P |1 }}izDFUZ`Ez]UO1釥GP>aP |0 }}izDFUZ`Ez]UON\q+nN-K^ 8|A}}@y@{MwzM/P]%Z`Ez]UOh@}}48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?#GlE $ΉHA +ceZU@䑧r[җJs@ NewCommand//loadCurves //October 2011 //read the selected scn/cob file to get a patch count //patches will be read in via a loop of command nodes // // Execute // Called to execute the command function Execute(params) { var filename = params.ConValue('filename'); var doubleSided = params.ConValue('doubleSided'); owner = System.ThisOwner(); if(doubleSided) Node.Value(owner + "/LODPlane/Plane primitive","Double sided") = -1; else Node.Value(owner + "/LODPlane/Plane primitive","Double sided") = 0; myucount = System.CreateDO("Common Data Package/Int Array Data"); myvcount = System.CreateDO("Common Data Package/Int Array Data"); myucount.Clear(); myvcount.Clear(); owner = System.ThisOwner(); Node.ConReset(owner + "/ActvLoop","Current iteration"); var forReading = 1, forWriting = 2, forAppending = 8; var TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0; fs = new ActiveXObject("Scripting.FileSystemObject"); f = fs.GetFile(filename); connToFile = f.OpenAsTextStream( forReading, TristateUseDefault); //read lines of var rline = ""; numpatches= 0; while( !connToFile.AtEndOfStream ) { rline = connToFile.ReadLine(); msgtag = rline.split(" "); if(msgtag[0] == "NPat") { //System.Trace("count the curve"); rline = connToFile.ReadLine(); msgtag = rline.split(" "); thename=""; for(i=1;i < msgtag.length; i++) thename = thename + msgtag[i]; System.Trace(thename); numpatches++; } if(msgtag[0] == "nu,nv") { uc = parseInt(msgtag[1]); vc = parseInt(msgtag[2]); myucount.Add(uc); myvcount.Add(vc); System.Trace("num u,v = " + uc + ", " + vc); } } connToFile.Close(); params.ConValue("numpatches") = numpatches; params.ConValue("filenameout") = filename; params.ConValue("ucountArray") = myucount; params.ConValue("vcountArray") = myvcount; } NScript Object Package/jScript language@?>stringfilenamepAFKO8+Pintnumpatches1IR{H;a@6stringfilenameout?4kn]JTgFCommon Data Package/Int Array DataucountArray ΉHA +#GlE $FCommon Data Package/Int Array DatavcountArray ΉHA +r hCV6 SO`booleandoubleSided hIڢQ4W}@O{ hIڢQ r hCV6 SO`ΉHA +?4kn]JTgTC:\Users\Clint\Desktop\nurbscurvetest.scn(XFҦV>g'JNjn*pnCAb@ b@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?pAFKO8+PTC:\Users\Clint\Desktop\nurbscurvetest.scn-1OSM n 럆L<_їControl Oˁ CRih[ e}}8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0e}}:Activity.Stop('%THIS_NAME%') StopZ`Ez]UO GFʠN=00@1 }}pAFKO8+PZ`Ez]UO1釥GP>a00@0 }}pAFKO8+PZ`Ez]UO#nKSM20$}}pAFKO8+PZ`Ez]UO GFʠN=@`P1 }}6ѝÍM#gz Z`Ez]UO1釥GP>a`@P0 }}6ѝÍM#gz Z`Ez]UO GFʠN=P``1 }}?4kn]JTgZ`Ez]UO1釥GP>ahP`0 }}?4kn]JTgZ`Ez]UO}}MT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Hoͤ*EgbĬĖdouble pass2AEHM'ceZU@䑧r%4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n#g?zqSM[ۂ:HpDgg.1)!H?p;T.1)!H?p;BdoubleOut B2AEHM'>g'JNjn*pFBC`@0@?ceZU@䑧r[җJs@ 2NewObject// OnComputeOutputs // Called to compute values of all output connectors function OnComputeOutputs(params) { var doubleIn = params.ConValue('doubleIn'); // TODO: put your computation here params.ConValue('doubleOut') = doubleIn; } NScript Object Package/jScript language\BbooleandoubleIn ?zqSM[ۂ:HbooleandoubleOut .1)!H?p;4W}@O{(XFҦV>g'JNjn*pFB Cb@H@??zqSM[ۂ:H .1)!H?p; -1OSM n 럆L<_ї0.;]kI 忞@48@J VJ0#>BjiO>VJ0#>BjDcurvenameDS~N$v)֒S~N$v)֒Dmatrix `^02eE{|@D_,A~:G}_,A~:G}BcpnodeBh[&>!$2Hb(<(D[&شMNEFhشMNEFhDcopyCPonly D`2|=Bynj paz@Ho2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ lNewCommand// Execute // Called to execute the command function Execute(params) { var curvename = params.ConValue('curvename'); var matrix = params.ConValue('matrix'); var copyCP = params.ConValue('copyCP'); var copyCPonly = params.ConValue('copyCPonly'); if(!copyCP && !copyCPonly) return; owner = System.ThisOwner(); scene = Space.CurrentScene(); newnode = Node.Copy(owner + "/controlPointMesh",scene); Node.Value(newnode,"Matrix") = matrix; matrix.LoadIdentity(); Node.Value(newnode,"OwnerMatrix") = matrix; if(copyCPonly) { Node.Value(newnode + "/Object Render Attributes","Ignore layer attributes") = 0; MeshModifiers.SmoothNormals(newnode); } params.ConValue("cpnode") = Node.SafeRename(newnode,"CPM_" + curvename); } NScript Object Package/jScript languageHstringcurvenameiO>VJ0#>Bj>Math Package/Matrix Float Datamatrix `^02eE{|@S~N$v)֒stringcpnode_,A~:G}booleancopyCP >!$2Hb(<(booleancopyCPonly شMNEFhشMNEFh >!$2Hb(<( 4W}@O{(XFҦV>g'JNjn*pnDCb@ `@2|=Bynj|?z@Hoۙ>?S~N$v)֒J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?_,A~:G}L/Project/nurbscurvetest/CPM_NoName, 1-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOiO>VJ0#>BjNoNameMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho48@J VJ0#>BjD8S~N$v)֒DwsJ.pwsJ.pBlodnodeB4L>KM+Kaކ4L>KM+KaކDdoubleSided D6YC#\-6YC#\-DcopyCPonly D`2|=Bynjpa(/z@Ho2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand // Execute // Called to execute the command function Execute(params) { var curvename = params.ConValue('curvename'); var matrix = params.ConValue('matrix'); var doubleSided = params.ConValue('doubleSided'); var copyCPonly = params.ConValue('copyCPonly'); if(copyCPonly) return; owner = System.ThisOwner(); scene = Space.CurrentScene(); newnode = Node.Copy(owner + "/LODMesh",scene); Node.Value(newnode,"Matrix") = matrix; matrix.LoadIdentity(); Node.Value(newnode,"OwnerMatrix") = matrix; //double sided planes look really bad with absolute smooth normals if(doubleSided) MeshModifiers.AutofacetNormals(newnode,80.0); else MeshModifiers.SmoothNormals(newnode); params.ConValue("lodnode") = Node.SafeRename(newnode,curvename); } NScript Object Package/jScript languagestringcurvenameiO>VJ0#>Bj>Math Package/Matrix Float Datamatrix `^02eE{|@S~N$v)֒stringlodnodewsJ.pbooleandoubleSided 4L>KM+KaކbooleancopyCPonly 6YC#\-4W}@O{(XFҦV>g'JNjn*pnDCb@ `@2|=Bynj|?z@Hoۙ>?6YC#\- S~N$v)֒4L>KM+Kaކ J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?wsJ.p8/Project/Space 3D/NoName, 1-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOiO>VJ0#>BjNoNameMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ <NewCommand7//dofilenurbs //October 2011 // calculate the nurbs patch points from the file data // creates cp patch and the nurbs patch meshes // /// \original author Rob Bateman //http://nccastaff.bournemouth.ac.uk/jmacey/RobTheBloke/www/opengl_programming.html /// \date 9-feb-2005 // adapted for truespace // Clinton Reese // Oct 5 2011 // var g_uKnots = new Array(); var g_vKnots = new Array(); //------------------------------------------------------------ CoxDeBoor() // function CoxDeBoor(u,i,k,Knots) { if(k==1) { if( Knots[i] <= u && u <= Knots[i+1] ) { return 1.0; } return 0.0; } var Den1 = Knots[i+k-1] - Knots[i]; var Den2 = Knots[i+k] - Knots[i+1]; var Eq1=0,Eq2=0; if(Den1>0) { Eq1 = ((u-Knots[i]) / Den1) * CoxDeBoor(u,i,k-1,Knots); } if(Den2>0) { Eq2 = (Knots[i+k]-u) / Den2 * CoxDeBoor(u,i+1,k-1,Knots); } return Eq1+Eq2; } //------------------------------------------------------------ GetOutpoint() // function GetOutpoint(tu, tv) { var temppoint = new Array(); var tempPoints = System.CreateDO("Space 3D Package/Point Array Data"); tempPoints.SetSize(vcount); //for each row(v) calc mesh point at tu for(var i=0;i<vcount;i++) { temppoint = CalculateU(tu,i); tempPoints.x(i) = temppoint[0]; tempPoints.y(i) = temppoint[1]; tempPoints.z(i) = temppoint[2]; } //use the collection of v values to get the nurbs mesh point temppoint = CalculateV(tv,tempPoints); return temppoint; } //calculate the mesh point at tu for v == row, calculate the point in u direction function CalculateU(tu, row) { //System.Trace("u row " + tu + " " + row); var p = new Array(0,0,0); for(var i=0;i<ucount;i++) { var Val = CoxDeBoor(tu,i,g_order,g_uKnots); if(Val>0.001) { // sum effect of CV on this part of the curve //OutPoint[0] += Val * g_Points[i][0]; //OutPoint[1] += Val * g_Points[i][1]; //OutPoint[2] += Val * g_Points[i][2]; p[0] += Val * g_Points.x(i+row*ucount); p[1] += Val * g_Points.y(i+row*ucount); p[2] += Val * g_Points.z(i+row*ucount); } } return p; } //use the v values calculated for the current u value to get the final point along v //after this the point u and v has been calculated function CalculateV(tv, tempPoints) { var p = new Array(0,0,0); for(var i=0;i<vcount;i++) { var Val = CoxDeBoor(tv,i,g_order,g_vKnots); if(Val>0.001) { // sum effect of CV on this part of the curve p[0] += Val * tempPoints.x(i); p[1] += Val * tempPoints.y(i); p[2] += Val * tempPoints.z(i); } } return p; } // Execute // Called to execute the command function Execute(params) { var ulLOD = params.ConValue('ulLOD'); var vlLOD = params.ConValue('vlLOD'); var fileuknots = params.ConValue('fileuknots'); var filevknots = params.ConValue('filevknots'); var filepoints = params.ConValue('filepoints'); var curPatch = params.ConValue('curPatch'); var ucountArray = params.ConValue('ucountArray'); var vcountArray = params.ConValue('vcountArray'); var numPatches = params.ConValue('numPatches'); var copyCPonly = params.ConValue('copyCPonly'); curPatch= numPatches - curPatch + 1; ucount = ucountArray.GetAt(curPatch-1); vcount = vcountArray.GetAt(curPatch-1); System.Trace("dofilenurbs"); System.Trace("ucount, vcount " + ucount + ", " + vcount); uLOD = ulLOD + 1;//convert segments to vertex counts vLOD = vlLOD + 1; for(i=0;i<fileuknots.GetSize();i++) { g_uKnots[i] = fileuknots.GetAt(i); //System.Trace("u knot " + g_uKnots[i]); } for(i=0;i<filevknots.GetSize();i++) { g_vKnots[i] = filevknots.GetAt(i); //System.Trace("v knot " + g_vKnots[i]); } g_Points = System.CreateDO("Space 3D Package/Point Array Data"); g_Points.SetSize(filepoints.GetSize()); for(i=0;i<filepoints.GetSize();i++) { g_Points.x(i) = -filepoints.x(i);//adjust to mirror g_Points.y(i) = filepoints.y(i); g_Points.z(i) = filepoints.z(i); } g_num_cvs=filepoints.GetSize(); g_degree=3; g_order=g_degree+1; //g_num_knots=g_num_cvs+g_order; g_num_uknots = ucount + g_order; g_num_vknots = vcount + g_order; owner = System.ThisOwner(); // //display the control points patch // cpMesh = System.CreateDO("Space 3D Package/Mesh Data"); cpMesh = Node.Value(owner + "/controlPointMesh","Mesh"); cpVert = System.CreateDO("Space 3D Package/Vertex Stream Data"); cpVert = cpMesh.GetVertices(); System.Trace(cpVert.GetNumVertices()); for(i=0;i<g_num_cvs;i++) { cpVert.x(i) = g_Points.x(i); cpVert.y(i) = g_Points.y(i); cpVert.z(i) = g_Points.z(i); } cpMesh.AttachVerticesStream(cpVert); //if only loading cp mesh don't change triangle edges if(!copyCPonly) { faceEdgesCP = System.CreateDO('Space 3D Package/Face Edges Stream Data'); faceEdgesCP = cpMesh.GetTrianglesStreamByName("Face Edges Stream Data"); numtri = faceEdgesCP.GetNumTriangleEdges(); //patterns of triangle egde visibilities row1 = new Array(5,0,0,0,4,2); row2 = new Array(0,0,0,0,0,0); row3 = new Array(1,1,0,0,0,3); numtriperrow = 2 * (ucount-1); for(i=0;i<numtri;i++) { curRow = Math.floor(i/numtriperrow); curRow = curRow % 3; rowtri = i % numtriperrow; matchtri = rowtri % 6; if(curRow==0) { faceEdgesCP.edges(i) = row1[matchtri]; //System.Trace("row1 pattern"); } if(curRow==1) { faceEdgesCP.edges(i) = row2[matchtri]; //System.Trace("row2 pattern"); } if(curRow==2) { faceEdgesCP.edges(i) = row3[matchtri]; //System.Trace("row3 pattern"); } } //cpMesh.AttachTrianglesStream(faceEdgesCP);//ABOVE WRITES DIRECTLY TO THE MESH STREAM - DIDN'T KNOW THAT } Node.Value(owner + "/controlPointMesh/Editable shape","Input Mesh") = cpMesh; if(copyCPonly) return; // // do the nurbs patch // npMesh = System.CreateDO("Space 3D Package/Mesh Data"); npMesh = Node.Value(owner + "/LODMesh","Mesh"); npVert = System.CreateDO("Space 3D Package/Vertex Stream Data"); npVert = npMesh.GetVertices(); var tu; var tv; var npindex; var Outpoint = new Array(); npindex = 0; for(var i=0;i<vLOD;i++) { tv = g_vKnots[g_num_vknots-1] * i / (vLOD-1); //if(i==vLOD-1 && i!=0) tv-=0.001;//???why??? - bring it back so it can be interpolated properly? for(var j=0;j<uLOD;j++) { tu = g_uKnots[g_num_uknots-1] * j / (uLOD-1); //if(j==uLOD-1 && j!=0) tu-=0.001;//???why??? - bring it back so it can be interpolated properly? Outpoint[0] = 0; Outpoint[1] = 0; Outpoint[2] = 0; //GetOutpoint(tu,tv, Outpoint); Outpoint = GetOutpoint(tu, tv); //glVertex3fv(Outpoint); npVert.x(npindex) = Outpoint[0]; npVert.y(npindex) = Outpoint[1]; npVert.z(npindex) = Outpoint[2]; npindex++; } } npMesh.AttachVerticesStream(npVert); Node.Value(owner + "/LODMesh/Editable shape","Input Mesh") = npMesh; } NScript Object Package/jScript language int ulLOD9YC#\׬LCommon Data Package/Number Array Datafileuknots GnKJO!i\tPBB՞8 cDSpace 3D Package/Point Array Datafilepoints (F)ݟ{HHKHa,LCommon Data Package/Number Array Datafilevknots GnKJO!i\tN+Ԉ~WBnjintcurPatch7=.L6-\ FCommon Data Package/Int Array DataucountArray ΉHA +/&HKܨwFCommon Data Package/Int Array DatavcountArray ΉHA +Eb7JcY ;int vlLODޤxC&u JintnumPatches{ކ@ ti?@sbooleancopyCPonly ʈx@g[q{ކ@ ti?@s4W}@O{(XFҦV>g'JNjn*pnD Cb@ j@2|=Bynj|?z@Hoۙ>?PBB՞8 cEb7JcY ;N+Ԉ~WBnjJ@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>? ʈx@g[q /&HKܨw9YC#\׬HHKHa,7=.L6-\ ޤxC&u J-1OSM n 럆L<_їaControlOˁ CRih[ e}}8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0 e}}:Activity.Stop('%THIS_NAME%') StopZ`Ez]UO GFʠN=00@ 4 }}LODtT1GCh*kZ`Ez]UO1釥GP>a00`@ 0 }}MN(K9/7Z`Ez]UO GFʠN=@`P 1 }} FWly~Z`Ez]UO GFʠN=P`` 1 }}HHKHa,Z`Ez]UO GFʠN=``p 1 }}z@HoZ`Ez]UO}}MT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Hoͤ*EgbĬ cp only pass2AEHM'ceZU@䑧r%5 4W}@O{$(XFҦV#.;]kI 忞@"-1OSM n# &eM M pD` ` Px.|LTPx.|LBcpOnlyOut BW[&/&eM M 2AEHM'>g'JNjn*pFBC`@0@?ceZU@䑧r[җJs@ 2NewObject// OnComputeOutputs // Called to compute values of all output connectors function OnComputeOutputs(params) { var cpOnlyIn = params.ConValue('cpOnlyIn'); // TODO: put your computation here params.ConValue('cpOnlyOut') = cpOnlyIn; } NScript Object Package/jScript language~൱D#^cbooleancpOnlyIn &eM M booleancpOnlyOut Px.|LPx.|L 4W}@O{(XFҦV>g'JNjn*pFBb@H@?.;]kI 忞@-1OSM n 럆L<_ї048@J OJ%3t>OJ%3DcurPatchIndDv K3UtI˘)K3UtI˘)Bcontpoints (F)ݟ{BKtKEKtKEBuknots GnKJO!i\tBh`E%@K&˜E%@K&˜BpatchnameB0W ьc @'K ьc @'K Bthematrix `^02eE{|@B8>NJ&lY@Ĕ:>NJ&lY@Ĕ:DucountArray ΉHA +DHas/mM,%s/mM,%DvcountArray ΉHA +DafkXGHD?fkXGHD?Bvknots GnKJO!i\tB`/ *¾)@7T *¾)@7TDnumPatchesD/ m]D|Д> m]D|Д>DcopyCPonly D~2|=Bynj8(z@HotFOHv+TC:\Users\Clint\Desktop\nurbscurvetest.scn2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ D@NewCommand://loadOnePatch //October 2011 //loads name, matrix, control points, u and v counts for control points and knot values for the current patch // // Execute // Called to execute the command function Execute(params) { var filename = params.ConValue('filename'); var curPatchInd = params.ConValue('curPatchInd');//loop activity starts count at 1? var ucountArray = params.ConValue('ucountArray'); var vcountArray = params.ConValue('vcountArray'); var numPatches = params.ConValue('numPatches'); var copyCPonly = params.ConValue('copyCPonly'); System.Trace("loadOnePatch"); owner = System.ThisOwner(); scene = Space.CurrentScene(); var forReading = 1, forWriting = 2, forAppending = 8; var TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0; fs = new ActiveXObject("Scripting.FileSystemObject"); f = fs.GetFile(filename); connToFile = f.OpenAsTextStream( forReading, TristateUseDefault); //read lines of var rline = ""; theorder = 4; var g_uKnots = new Array(); var g_vKnots = new Array(); g_Points = System.CreateDO("Space 3D Package/Point Array Data"); myuknots = System.CreateDO("Common Data Package/Number Array Data"); myvknots = System.CreateDO("Common Data Package/Number Array Data"); mymatrix = System.CreateDO("Math Package/Matrix Float Data"); searchIndex = 0; curPatchInd = numPatches - curPatchInd + 1; notfoundpatch = true; while( !connToFile.AtEndOfStream && notfoundpatch) { rline = connToFile.ReadLine(); msgtag = rline.split(" "); if(msgtag[0] == "NPat") { searchIndex++; //System.Trace("found a curve"); rline = connToFile.ReadLine(); msgtag = rline.split(" "); thename=""; for(i=1;i < msgtag.length; i++) thename = thename + msgtag[i]; //System.Trace(thename); } if(msgtag[0] == "Transform" && searchIndex==curPatchInd) { System.Trace("read patch transform " + searchIndex); mymatrix.LoadIdentity(); rline = connToFile.ReadLine(); msgtag = rline.split(" "); mymatrix.SetAt(0,0,parseFloat(msgtag[0])); mymatrix.SetAt(1,0,parseFloat(msgtag[1])); mymatrix.SetAt(2,0,parseFloat(msgtag[2])); mymatrix.SetAt(3,0,parseFloat(msgtag[3])); rline = connToFile.ReadLine(); msgtag = rline.split(" "); mymatrix.SetAt(0,1,parseFloat(msgtag[0])); mymatrix.SetAt(1,1,parseFloat(msgtag[1])); mymatrix.SetAt(2,1,parseFloat(msgtag[2])); mymatrix.SetAt(3,1,parseFloat(msgtag[3])); rline = connToFile.ReadLine(); msgtag = rline.split(" "); mymatrix.SetAt(0,2,parseFloat(msgtag[0])); mymatrix.SetAt(1,2,parseFloat(msgtag[1])); mymatrix.SetAt(2,2,parseFloat(msgtag[2])); mymatrix.SetAt(3,2,parseFloat(msgtag[3])); //mymatrix.SetRoll(-mymatrix.GetRoll()); mymatrix.SetTransX(-mymatrix.GetTransX()); mymatrix.SetYaw(-mymatrix.GetYaw());//test oct 2011 params.ConValue("thematrix") = mymatrix; } if(msgtag[0] == "u_order,v_order" && searchIndex==curPatchInd) { theorder = parseInt(msgtag[1]);//only read u order assume v always matches //System.Trace("the order is " + theorder); } if(msgtag[0]=="control" && msgtag[1]=="points" && searchIndex==curPatchInd) { numcontrol = parseInt(msgtag[2]); //Node.Value(owner + "/LODcontrol","LODin") = numcontrol * 3; g_Points.Clear(); params.ConValue('contpoints') = g_Points; if(!copyCPonly) g_Points.SetSize(numcontrol); else { numcontrol = ((ucountArray.GetAt(curPatchInd-1) + 2)/3) * ((vcountArray.GetAt(curPatchInd-1) + 2)/3); g_Points.SetSize(numcontrol); } //control points on curve only if(copyCPonly) { Node.Value(owner + "/controlPointPlane/Plane primitive","Height segments") = (ucountArray.GetAt(curPatchInd-1) - 1)/3; Node.Value(owner + "/controlPointPlane/Plane primitive","Width segments") = (vcountArray.GetAt(curPatchInd-1) - 1)/3; i = 0; iu = 0; iv = 0; for(iv=0;iv<vcountArray.GetAt(curPatchInd-1);iv++) { for(iu=0;iu<ucountArray.GetAt(curPatchInd-1);iu++) { rline = connToFile.ReadLine(); msgtag = rline.split(" "); //System.Trace("control point " + msgtag[0] + ", " + msgtag[1] + ", " + msgtag[2]); testu = iu % 3; testv = iv % 3; if(testu==0 && testv==0) { g_Points.x(i) = parseFloat(msgtag[0]); g_Points.y(i) = parseFloat(msgtag[1]); g_Points.z(i) = parseFloat(msgtag[2]); i++; } } } } else { Node.Value(owner + "/controlPointPlane/Plane primitive","Height segments") = ucountArray.GetAt(curPatchInd-1) - 1; Node.Value(owner + "/controlPointPlane/Plane primitive","Width segments") = vcountArray.GetAt(curPatchInd-1) - 1; for(i=0;i<numcontrol;i++) { rline = connToFile.ReadLine(); msgtag = rline.split(" "); //System.Trace("control point " + msgtag[0] + ", " + msgtag[1] + ", " + msgtag[2]); g_Points.x(i) = parseFloat(msgtag[0]); g_Points.y(i) = parseFloat(msgtag[1]); g_Points.z(i) = parseFloat(msgtag[2]); } } Node.Value(owner + "/controlPointMesh/Editable shape","Input Mesh") = Node.Value(owner + "/controlPointPlane","Mesh"); //tempmesh = System.CreateDO("Space 3D Package/Mesh Data"); //tempmesh = Node.Value(owner + "/LODPlane","Mesh"); //Node.Value(owner + "/LODMesh/Editable shape","Input Mesh") = tempmesh; Node.Value(owner + "/LODMesh/Editable shape","Input Mesh") = Node.Value(owner + "/LODPlane","Mesh"); //Node.Value(owner + "/LODMesh/Editable shape","Input Mesh") = Node.Value(owner + "/LODPlane/Plane primitive","Mesh"); params.ConValue('contpoints') = g_Points; } if(msgtag[0]=="u_knots" && searchIndex==curPatchInd ) { //System.Trace("found the curve"); myuknots.Clear(); params.ConValue('uknots') = myuknots; ucount = ucountArray.GetAt(curPatchInd-1); numknots = ucountArray.GetAt(curPatchInd-1) + theorder; for(i=1;i<=numknots;i++) { g_uKnots[i-1] = parseFloat(msgtag[i]); //System.Trace("load u knot " + g_uKnots[i-1]); myuknots.Add(g_uKnots[i-1]); } params.ConValue('uknots') = myuknots; params.ConValue("patchname") = thename; } if(msgtag[0]=="v_knots" && searchIndex==curPatchInd ) { //System.Trace("found the curve"); myvknots.Clear(); params.ConValue('vknots') = myvknots; vcount = vcountArray.GetAt(curPatchInd-1); numknots = vcountArray.GetAt(curPatchInd-1) + theorder; for(i=1;i<=numknots;i++) { g_vKnots[i-1] = parseFloat(msgtag[i]); //System.Trace("load v knot " + g_vKnots[i-1]); myvknots.Add(g_vKnots[i-1]); } params.ConValue('vknots') = myvknots; params.ConValue("patchname") = thename; notfoundpatch = false;//found it so can stop } } connToFile.Close(); Node.Value(owner + "/LODcontrol","uLODin") = ((ucount-1)/3) * Node.Value(owner + "/LODcontrol","LODin") - 1; Node.Value(owner + "/LODcontrol","vLODin") = ((vcount-1)/3) * Node.Value(owner + "/LODcontrol","LODin") - 1; //Node.Value(owner + "/LODcontrol","uLODin") = ((ucount-0)) * Node.Value(owner + "/LODcontrol","LODin"); //Node.Value(owner + "/LODcontrol","vLODin") = ((vcount-0)) * Node.Value(owner + "/LODcontrol","LODin"); Node.Value(owner + "/LODMesh/Editable shape","Input Mesh") = Node.Value(owner + "/LODPlane","Mesh"); // params.ConValue("contpoints") = ... // params.ConValue("knots") = ... } NScript Object Package/jScript language~൱Dm#^c stringfilenametFOHv+intcurPatchIndt>OJ%3DSpace 3D Package/Point Array Datacontpoints (F)ݟ{K3UtI˘)LCommon Data Package/Number Array Datauknots GnKJO!i\tKtKEstringpatchnameE%@K&˜>Math Package/Matrix Float Datathematrix `^02eE{|@ьc @'K FCommon Data Package/Int Array DataucountArray ΉHA +>NJ&lY@Ĕ:FCommon Data Package/Int Array DatavcountArray ΉHA +s/mM,%LCommon Data Package/Number Array Datavknots GnKJO!i\tfkXGHD?intnumPatches *¾)@7TbooleancopyCPonly m]D|Д>>NJ&lY@Ĕ:K3UtI˘)(F)ݟ{Q?>>?>>??5>j>jϾ5>5>jϾjϾ5>5>jϾj>5>?5>j>j>5>?5>@?>?>@>>@>?>@?>??>@?>BAm?5>'?'5>BAm5>''5>BAm5>''?5>BAm?5>'?'?5>BAm?5>?5?55555??5?5??BAm?5'?'5BAm5''5BAm5''?5BAm?5'?'?5BAm?5@??@@?@???@??5j>jϾ55jϾjϾ55jϾj>5?5j>j>5?5?>>?>>?4W}@O{t>OJ%3s/mM,%(XFҦV>g'JNjn*pn@ODACb@ l@2|=Bynj|?z@Hoۙ>? m]D|Д> J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?ьc @'K `^02eE{|@B???#s)?>?KtKEGnKJO!i\t?????????????????????????E%@K&˜NoNamefkXGHD?GnKJO!i\t7Oup?7Oup?7Oup????2#?2#?2#??????????VF?VF?VF?????-1OSM n 럆L<_їjControlOˁ CRih[ a8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0a:Activity.Stop('%THIS_NAME%') StopZ`Ez]UO *¾)@7TMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@HoR/$ķKniaWn*loadNURBSPatchButton'0#ԪC'X/9}'0#ԪC'X/9}$ IndexItem Index]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 Qn_<&KES Q NameItem nameo(K ]p do(K ]p dHelpTextHelp textQm6l3Ll/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*pFcDWb@v@p8B?8{Nm(!][D+Iv(ko6ˁw?Aυ D)7tUTl@fC.^&GZo(K ]p dPload NURBS patch from a cob or scn file]8teO?s.;]kI 忞@Sr)B8-1OSM n 럆L<_ї0DNOQsP'ѭeSBgc- hC:\Users\Clint\Pictures\nurbsPatchLoadIcon copy.bmp TO 1BÕrCW xSZWǙiڙt.t? IE$mR!D@PTPo(yutsAciHg.sv+,{MAV໻h<Ͽ3aE,~lgPɱ:tx{'$L g"k mp⺺vZu#xL}g9\{.[r۷KXzMJHB1IE`/f7}1b6=yyzD}?mG}86v`Ηaѓ*D,8|~~j_סou~)ϧ3/՘2zJ&g`2PLA5f9];$} DwA|a6?q?콀k) ,ny}#tNmG=q>3s!!VgoӀ|xX=z qg6(?=CLdŐ_MXN XFO! WoxO=hDOp16 {Qv̅.!d |B3nAx2y/Uw6^c_!/'MpՁX2hz|᝽p)(l@nMx U,4af*4(Q=]%E&SS(KlG9: q҈t+2vQx:)WɷԌɹ-^GVcw}npK+cCGmxy)ZO1׋ziF''QlC8 +`!Bi i]@ޘ,YqV%6]s!ܤZc-alFqԑ.w <ՅoI4d#mGP7 |.{%MsQuu6BLӁyruOye/b:pP2T'"*;&LmayC8qf樐@I'h5[([S"]j|D x`8;aHmoCZK |l!-z>NDrb}Gr$zbIp"D 4^Yުa*${-V^ &1d^yxrEY3>R(6JRgMD_utmtR V: C3;:OErV],iXuGl- G&'xF4wВO 촟8 {&b~ _1[.ݱX]6RPNe7Rj:.Rpu4[,?vUj [Vnx?3{>9'}YGg7h}9O%?5|<={ΉhP sH?DC48@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 owner = System.ThisOwner(); ownerOwner = Node.Owner(owner); if(ownerOwner == "/Scripts/AutoLoadTEMP") Node.Delete(owner); } NScript Object Package/jScript language4W}@O{(XFҦV>g'JNjn*pn@DCb@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`._E#ބ6ēNURBSFrame(.;]kI 忞@"F()4W}@O{$*O΢C}*O΢C} WinIDWindow ID@l-pϗO 0)t-pϗO 0)PositionShelf Position mz!OHwcll>-MD'zZt>-MD'zZRectangle"Screen Rectangle THj6F 2s*RÒGbDeC tRÒGbDeC  WidthWindow widthl8[FB%n*jt[FB%n*jHeightWindow heightl [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*pFCiX@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-, V Toolbar.;]kI 忞@"F4W}@O{$n_<&KES Qo(K ]p d8Cechg8Cechg 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}$_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\ 8ʯȥJH|o7 gH]kDwP`d8pM*#ͺOY/tfѭ8Lwb"ql4^a