gH]kDwP|trueSpace7.6[VS_O93Y*I Clinton Reese, RUR`d8pM*#ͺO2PNG  IHDR@@% IDATxُ]וÙ\YUdLjEInm +F$@$O~_txl$(DR*|V{ϸ@e5٦vq}ƍoo9MRv73 D՛oIuמyz㝋oO'Ӽ,VwwmnX\ʲ j%Y+4u}ww{[\\xm]`ƫHuJk`U43ñ$ϹQʟ5kz1`w߹x믽l֍Q`o_>3g\򲎣h?kڽ)-Fe$QGJ Dd "֫zt$*kEM#DXCv l{~)b)BV23 "" >`  d(iMxw?_\ZW2Y<㓢;k)jLΛ94T"bT(MUr+3!_w#"& &pi ~vБq!C+KDr`jE5Y@MS8 tDVK< >/ [ RHMtW.@, (msɬ+H2V9v!`$N fDF} qQL8q$PDD;@D`6^uU$T2GJG_RB/\JI0n4E,xSRRt,JӘ>P`]R $y v.kW9\{gBp"%@BJGQe R<瞹JHF D(E^8?}WWPR88NRj@`,|PHHL{(umۜNr"T"/K%4{DR@Iq8M=02GJGQ9 3 `:wܙف>$^zO@a_΃=ꏂ1Vˆy $gyk ᜣf;\aLU@k3;3K_t{_?bNt0;Gfgg]m+So?nGR3m:@$ieQ2@}&e_~koǕ+R򩲪"%Sb=>:\X]]}x</--f.nC+KQ# $0J@[|:yB"JڑcGD%U]*ғ;:~p8ŭ57FQܛQ~(jT_zg}͛e4nomn+936&uρYC!{}DB8MpX;rĝՏ[}+?~ݭvUk_uB!x2YX?ѧb| 0L0#37u (E&J*^J6@X?\COl^\Xw;OmÞ)>kPnzGRÇ;3yɫǏlo Xbzkuʓ++ `vнrh~ocgkwv0c}u烊Bؘ;8ËgduwYs#+)mmL:O85-&,`os?ï9wv{{s<>RJ""(jg{78888wtvov1,KQ o.MH%JHJ眎#"_WnɭQ1|`vowXZ;ٴq2>V&LQLO_:-8Ļy_t婫W=19w-G fB`ݾP$B*@@U] A'0{f@彃êtf?9mDvƵ{d09܁Ψv[[= o{e5\xpm%gdʘ"n۸uV+ŒNy{ʣyQĭ#I7HmM3\Ǻ*\~xgo:ћ1DuC:U_GC7WօVB`D9;8:ϧyయe1`SׯJǎt(kTii_޻~wMitـDN5;P^^MFyqh:98::" $(Sԭ}`po۬Yju9$J  NPP׾^yg7nLN&?lwEG+ '##o7M7WS'GSb|hǁA)e3ޝGU] 0 C(A+ٲ,bb N$wv_+5NWw_֍tBe<5M@ {o?)]v'qQz"&|4HƐT+_}t'2EɁ )BIa/KO]/XG)Yo_xwo^VWyzQt U;Q։N'-j{W.J/éj/.,[`eqGY(0 t$i4px`yy%Mu}l~.8gϟɫbt8/|s)88M$RJDcau\8:tfaqӗN.?۷N[o%#罐 Lc==`&vuŏR+ҝS`TUӬ>ޝ݋wa:g4NS -!0֢ےbjOW/_xB.|w*({&Fm|` Xqnn{F:ZS~X:[3+ F*˻"vgNi!ePG2(gVN_?__RD-^Zg(jLDJVi! ,JE{!0#Uu 3Ky x|4uNGRJm@SOç:y$NTlON uOά|G^UU>ZF)cj!&Ӊ*y"PJ@c)AR30sf=Gɥ,ͦImLEՔ!: xzJ͝rѝnUm۲N| VuQjRJ23 |R#29됁XDT(}D@@y:cB =J}ȔMmRF}MpToܾ+)Rp?37"3 K%tDVOTRB9HB8? Yb'R{S U`<+,,~hwf"!ToNU($K)bD<64UDGY#FȰgdJ "~'SF'Z#,OARD,Bg=إn!XiEq@(4&P`4RH9P>Eiєi+inw>=rkFQֽAOhc}#sQ'q W9c}N cm~=3ΗSIxRc (2xRQ<7;R ^+)Um!}ft*n !|rzR:/,8 CD)!;[["Nqs4AFc=oE`:e$)T QJRx)LDYTC]{ODNxk1z{{^fƙA9d86&Zk-'E:w‹Q~Zg1`.Ѿ5u 6VODR:.EJZYUkS(UUy88rb䣏9{XY[ke]9wQJn (CP$ibwD\j-~QvPT)@ .QGёcOBx@(/Q=ԇ{̠dt4_L3_W>ևO?Nӟ޼yʕg}w/_{擪 "}IENDB`/tfѭ8Lwb"q܂dKu= "normalMapperV1.3  .;]kI 忞@.;]kI 忞@"SubObject*Encapsulated objects# 8' HH p ( @  , A H 4W}@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<_ї" I*pO("~I*pO("~Dresresolution\  #ʖG(~s#ʖG(~sBtragetMeshOutZ` = @PLAp= @PLApBnormalMapOutG eSBgcZ8 \B6P[\B6P[DbumpFilename\Pv p .LO.LODnormalFilename\u p  mK mKBcurrentStatusR = @PLAp.LO C:\mynornal.tga4W}@O{#ʖG(~s</Project/normalProblem/rimLow mK(XFҦV>g'JNjn*pF@VDAx@u@@B?C?\B6P[C:\mybump.jpg.;]kI 忞@-1OSM n 럆L<_ї'   DefaultOˁ CRih[8h@tfActivity.Run('%THIS_NAME%' + '/generateNormalmap')rselect high res mesh and click to Generate the NormalmapZ`Ez]UOOˁ CRih[@t^Activity.Run('%THIS_NAME%' + '/saveNormalmap')4Save Normal and Bump MapsZ`Ez]UO GFʠN=`@t; }} ResolutionI*pO("~Z`Ez]UOnevG4'`@tdI*pO("~42048 1024 512 256 128Z`Ez]UO GFʠN=`@t= }} Bumpmap File\B6P[Z`Ez]UO GFʠN=`@t? }}Normalmap File.LOZ`Ez]UO#nKSM2`@t$\VV\B6P[Z`Ez]UO#nKSM2`@t$\VV.LOZ`Ez]UO1釥GP>a(@t,\B6P[Z`Ez]UO1釥GP>a@t,.LOZ`Ez]UOٓ PM>1wd@t%\VV= @PLAp祱Z`Ez]UOOˁ CRih[h@tZActivity.Run('%THIS_NAME%' + '/updateImage')4press to Update the ImageZ`Ez]UO1釥GP>a@t,#ʖG(~sZ`Ez]UOOˁ CRih[8@t\Activity.Run('%THIS_NAME%' + '/chooseTarget')Fselect low res mesh and click hereZ`Ez]UO GFʠN=@t< }} Target mesh#ʖG(~sZ`Ez]UO GFʠN=H(8@t1 }} mKZ`Ez]UO1釥GP>a(8@t, mKZ`Ez]UOI*pO("~,L 48@J g'JNjn*pceZU@䑧rceZU@䑧r$_scriptData*Internal Script data [җJs@ %8' 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, 2E1*`E1*`DtargetMeshD* #ʖG(~sB 2|=Bynj2|=Bynj Control OutTransitionOutz@Hoz@Ho Control InTransitionIn 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand// Execute // Called to execute the command function Execute(params) { var targetMesh = params.ConValue('targetMesh'); // TODO: put your action code here params.ConValue("tragetMeshOut") = Node.Selection(); //flatten the mesh ScriptObject.RunCmd("mesh modifiers package/flatten node", "Selection", ""); } NScript Object Package/jScript language=X l֖ stringtargetMeshE1*`stringtragetMeshOut#ʖG(~s4W}@O{#ʖG(~s</Project/normalProblem/rimLow(XFҦV>g'JNjn*pnz*Cb@@T@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їf  ControlOˁ 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@HoE1*`48@J {7>gϟ]#yk__;v#3&#g.q#x"g{gdO?ӯ CVs'_O>o߾2p{g3gwz}nO?{~{{?AW{5_Yl<_gά?=Y:&JY;5>k]5{6ggwdo@cBq{w Vej32dL3FUȾ}Xjy߼y5VVjZk އxm;_ GVޣw~dKV܀{%O>߉~<ܿy=g;g s{1zj<\_<=̳3>w[59㠞P9PյVfݬdV5g%_b5^(pO|6g?odv^ٵY?ՙju}ǚ]?o><^ fۺGW3~^su6P{\˽?w>ݫd>]_m}bd6pT z~:ƽ?^^N"rjo>{OߋB=⬽:E.p'/;_ [:5ǿ_2>9}.Q_p d:߿W3gngzW;nQ-`/` p?s?#ue. ϹR8@ {v?3}{Y双jZ@/{zu6r5y{G{s`? :Q/N <(?ko_Y3;kk|Wjm7 zVfj+g!{d?{\Cf_s{>Υ?2Fג^/~Y `%pF/[rhnڙm6V/T8ܯl֣?ѡG?dKڟ}o߾Y?@_pTȾ}50-weWk(מΞ f 1j;v5|{{z=zC[[NC ymos(_~_UuPgl3S꼿xQ멹?ZJG53{spY]kf]wg>Zu~ќvC|̚Gzuz>Jq߸_>u^Y }p4 `?JOG3Gk3wzw/{ p,,w::+.3vkޯ]nϺC<{f5 >v ~V;kZkN>k@~=`f_o>Z3n6eKcKe>\Ιuo׺kf%?ߏnYh59o߮r5_}m:+!kv`o@?>z s x}vۻfNW|Vrլ7]ނkl@{5v>{=p;{#_^z_L_m{<fw{w,{3PgfzMY/xi?g~j= _{3uo;Z߮^޼G3{SF ܯ:é1w^לCg= ޓzj5ôiW;/׽(}r5~^8wX(q{>_^gjn9Zz4G}(Bew@xQ_9/~UsKe/E:F4?~3 Vo츢\[>;o42K0Pr_oǵh`{[+? xt5WG2g$,;?7{n#oԌ?o׊{zq{k^Dgkg?ӏ~7obW8[{{}_b@YFܶs쿛_ , 9ޛ8pq{\Kzչ_b\=0;=^V~}Yg9a?n_]o3~No5O?|?{5c`,g3̌Vkku ͳThյ~eܿ뭏l=W/Y㽫;;T =p0Z0gj wG3B[}j(Ͽwvk?j' /ߏ8~?O??/y_#e\o{zFz@eKG=;k5Zoۧw}%׹' ;rHCX,vGך5k9a￞wf_fxޝ_<g>ޟ7oxhuMw&fxv`7]opi/@<^1F}_s|z{|gock_Do>F;a`l%/f3X\c?@>V;Ξoqf'_u_dv_~47^[P|^O:F{3WdLכ{3j,}8u WX߭s܂ke?ײg?!B￷ߛ|3y^_9/D֏vȾm@o>v@[(~kj]fj{Gk;? vz=iX`'5yYpt:@+xtAo=3j8{Wg skEezsVY@y:@y|ZC}Q?qLŝ;o"G\@ǫ,{5]g{f[525covQ7(X9 $nk3EFL7 u:sـ! ߷jװy?moę{xir۫9ؙP缵{QnE"ZE5J:~~vh=Ww!'gfxCmgd:rq͵?rQ Zpv@f<0۹5Z|QvB\s瘿YYnd=`'پGrJ~Wig[G?cQ~6o=Ojh%_+k|מߛ #o?ZC=h?@[ 8Y73;`ܿ'_eq:/o5|dz3fu^-`&0sW2,k?y_f=(G<_zVf]K^}a}z?mQe9m>>8:~g(󷹿>gb?Yx;6Cr۬]k<̫1{3GylV~Ÿ߻w?Gk%5yvjgg5gƏ ^kxk[~Vg^vx=f8vk_z3Yxy]|3[9nV:n:@fu6dQYos>Y8G^͵=w@^r&`n^Q͎krF` \Rرmy8rn23tޝ,,Q]%4Y~qze J}'HLʪ||co|Yu5|{?پzMP}F?fm^C^o9y,#2_ɰKcg+ X۷sjND-qorT_k~x^5KmέT^}vY[1qN3@;*{z?5{ϓyZ];yt(3mߛqjm@|][&g.uSWog?4?PoHg}:Cn1L:@Os+#~, K;PV?u-G///6Ãj,r_q4X%u\ k9f?\O[_2̟}o^mϜ~pXSZ hNl!~{s];$xj?~믋N׹q q|_UOϿI?xߞX?~_|sTY<Ě=9_;0_j^ &\uT9go?5ٿt]@g?ܖW\?3pi/~oi~mSjY7_2sOO {&W=9=:y-jYoh 5VPϚ~W_?YyBK?&/Ck*gk?\Ϛ$''@ k/14Ў \_9 ڶU?d }X}&0˗/k>}2v_-v[f?~?yGrׯ_??/dXf>O|{{~pS{uj~:YRocyM_ߓ{Խ^̱>}7_Q̱ Xg jO{}s~~?oks{=zUOC6纱T?o*,߮O`6ϙZ?__Y9Ϲws϶?埳_?*?<<\}ί~' ݚ?n?Tܧs?P^sW_Yg?# ˘B 2 nњS{PU`5~/*_s\ӎ'd>sٿ5pId 3?g_i`nM@T,`57W68A2|ηgdmp5%u L;GfvZv߿Wu%_?ssm{\{3nMon ]/{r]/د?%kW5k_u}Rg?KUkCڹ?ٿ9/^S}U=+8[w5W?cw%{篟15=} Xg jk|:1y9{޾KU_8@||_7cYd5WטRg?KU?c1~?&]?4_ےdvKoe, |3FW,u[5ݓ>g srkL/_hkp]kzG_o} ~p>~s}9{$g רq~,8k/cm6}!:kC v/Cs~\Sokmϱ˵=5'`%ܪ574|cgm741/_kh~K,VK}uﯮUUT쿦Ϛ?V:8?r,u/k/"j<[\vW ԽsL?s9_/www仡pv?9kzy{?7/9_|y\ ?ckrnoWm7`0$+Xg jS0oK ?Z[;n \9oj rM~s]3u5uQ~?Sp'@yzz!'?'_cY?T_s~?=[KoW?o˾s۽0 9_~y/kTo,c?`j-@??jp]G% d]xkrr8?禆S_:m8klv`%ܪ#s_ey_o?8ޖ=%WUkTougM_3H}oj~p-WR}}@O?cK=߾}o?5?9~n9eQpu5vPq=]?־s?y>RV ?sXg ]\?+}|4-(ݭ|~.Z?ygu+?W,gF\2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ $ NewCommand// Execute // Called to execute the command function Execute(params) { var theSubject = params.ConValue('theSubject'); // TODO: put your action code here //from kernel.h //enum RtPixelFormat //{ BFMT_UNKNOWN = 0; BFMT_A8R8G8B8 = 1; BFMT_A16B16G16R16 = 2; BFMT_A32fB32fG32fR32f = 3; BFMT_R8 = 4; BFMT_R16 = 5; BFMT_R32f = 6; BFMT_FORCE_DWORD = -1; // } ; redbump = System.CreateDO('Common Data Package/Bitmap Data'); redbump = Node.Value(theSubject + "/NormalmapGenerator","Height map"); //convert from R8 to A8R8G8B8 redbump.ConvertFormat(BFMT_A8R8G8B8); System.Trace("normal and bump map images ready"); //params.ConValue("bumpMapOutS") = Node.Value(theSubject + "/NormalmapGenerator","Height map"); params.ConValue("bumpMapOutS") = redbump; params.ConValue("normalMapOutS") = Node.Value(theSubject + "/NormalmapGenerator","Normal map"); } NScript Object Package/jScript language~൱DdD#^cstringtheSubjectV\JQg@Common Data Package/Bitmap DatabumpMapOutS eSBgcT71qBs@Common Data Package/Bitmap DatanormalMapOutS eSBgc w@W 4W}@O{(XFҦV>g'JNjn*pnDb@ d@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?V\JQg>/Project/normalProblem/rimHigh-1OSM n 럆L<_їn  ControlOˁ CRih[ eм8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0e:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?z@Ho w@W eSBgcא =JAOy)@xwu?039=gazz*-˥JlrC(@A!Bv\-%.,"+BdS!%! IXz87Mnn^p6T/T~nB:89xb<_3>6TǶ=#僂ظwh7$#V-^{>ZJcޱٱЌXxmԸ~B|Q7 Ƶ lYicޙeQ8Cs?y(2`'Ln_U?yd֡'"_>]n~o?ɿC?'ȴn(nei_lmnmqӏ{/Lr_MhcoxocgQߧ1O3:#;2?|i)Z&[Fom80|/>Uw_y_]u _y$nQ{D͂nPӀl]m[;WВWC"u]|:`[7# ݯLǁ5c#Q`IWGüQX)ʢ_02cg# ЪQ!gIM8vG]GkWF3nFPgīđoƦ/٣hVSer210*Z'㒱ɘtK&$I#宑zG|a@ m?h8szީoJýl|)-xȴ}pY9lA+_yx?wQ쮌WORGSD ;eM`Ra4[ 'O ׶'_5ùuj /4z\;_x샎_y`y:; >]r%msCqhZ-J?${6%R\zw C~>+܃qlgO_l+7D x[7Qq`yOe\?oc׶yQpR43&Z&1%횿%'*Ok|a4O)9c]C?!7{ ?f?OY˳de 2uK,څݴ7?nFqG]n]f/ g};5ϳ<zEUͥۏ.{9Yg:~_x|_0_صua|شh\ifFwE7В619N*`GUiY+WxXc?w]Uey]wWWeVIJVĒ+bӎ%9<5uvQnw^0 >}x_m^|WNfץo8|cK<]c{+bg-G/S8o&1<طXDZfw.gv]kw\r±L?xpM0\޹&V:|7Z5DԱ3]<ߓ$cOqdIxs_Ϧ~{oϵw)6潻9oLtݱ*X^2'Z&绿թ||h?}T88ݗqxhWl,xgKbjMϴ^mkm vU;~G1;? oeDj_rӈh1h;2Oz'%닣O7$n*曓ɀ䖒ۿ]g9vŕKbkX[s[,ص5:lp}NlSo?>RN[NOn.H_} qQ{wnrΨ>8lUN_wNQ~y||ᘨ|t_9:FӍe?%5Jq;</:{~#:k᎗bm9uw1#kbaԹa#4(65CG텷~3|ۡ͜틣[űũKJEQ{9odّgǤsN ıGUpky~ JgƧ6):h׳:s2W}>;46:.Sa])ƈoqX]1,j/{~H?hh),i%4$gEcE2(*~AI2"}K挊Y|o=FF⨽pL|klT{wηLc W~s:Ц ;)+ ĎuϽ_J_m /Z?u/?^MMN[ΙXXo D9ޤFKycR㗦NQF$:Na4TF&Qsބ{'f|{Z^455>wj.6;~vokm/nVnI$k%/m5/og^ϽB|dQ435?O=hzp|Qs~Y.=Zifs˷0/sQ9m_ءs Iâqh0>w=y}O^tw_9!o.cO;_ 7]owjulFr{]wK/+ith5uun"ey/}])CiƝ2$j.hMD-NyOv]p]n{%uw??ϼ;Nޒ2 \:==3j.~9-L:V-cD?'}=m%[ev6o7mފ'7k6^mG.9u|QsQ}ѯ@&uUϛEm=%[@ݢ⨯J_&ZjDl-WͬͻMr{YT?'}g~/hUv\Ogwnotov̹Oo|5j~,ZƌK:ߩm}Ʊ_{U?R?O<&vSNIFvc"뺮s c1cWE[DŤoFņ&Ծӈǒwb۟xj3^ [H4>*xZDRS,NcBW^8Y{KeAC )L::B2E8m?a=r{;KM_ހJqt"Wx|n=p*>㜇1ySw"c1c1YRQN5FQKd{B F驗hJ/}:_x_H_ gU?1_)1Q0 W]k/njb.YwD}c1c,r·xVIY-J!9M;FA/,*a/֯k=Lnϡ~7i5^/QJzprxU-T smc W] >7iCRzۿ& IG3B؆U=!Wexesg9t~g"~c1c135@mkd@8_/R?/ gIt̿%j (k|_pYAlv~{_nJ~S'ӇahL5FMG5529Neވ-WGD `#NʡcNpSW_՗x%($^/c1cȨ]ۂ`uk1L%34bX[8 j98J $؆ GϣΖ^PY=ߏھT" V _]gy_.κ^|l"Vw =z>,Ίxkc M7/AÈ'_\?I8p@[&0ߨ+{,אLs1c1~Yڿ#uRPw*G=EҼ!_&qUqbux><f- 胏<w|2ng \L}Q6Jc 5DB4kcCXlө5O6J2i4< %A_.u~۱YwJ/ UyۿL4~/uJ+>8]OΒ88J]_SWBkȓFMo#ȔGPlw-vιfYaw'"c1c1ik9ޟ9\9eL˝:qC4hxpgM \ο'YprtiO7AmZ@Eo$ &~L 9{t8PYgy#1*R9a Q:F.@CzYE$y/0(i;m~`1cNCeKJ`k(I` tș?ͷawjϦrD=c1crp''Ab~ګ&~2c1H/y_RcʚK-. Դqז; /lϬù6c1K?}4Mo@ Η@F7?>W4Dc1cIȵd%_ZǁA‘_+)<}?I9Ih i} _Fk0 aCw/^x0؋RBl~q8R37y:RQ WX+f^Hc1c<\ Vm.kqiҾG)_B]_V {U%l5VPO EscRKoCD.Sf?Ig8rh8&ƴ~8sGJ :Ӄ~ے#ª-Gc1c?U Djټפ X۸hޯf7̄H3`N:*v3}kS_!ÌH;`lc4~2cJ-u|PKHc1c<>*r٭1fwpEsc80ajNߦž?Y7[}#a]1='ň֠cvn: {Kz#c1c7A.gS'h׏+Ac~&I&.ȝJ篣fn^z 8(س"_/0l+_7(Ģ|Wx'(]=EcQQ~?2c1y|)$ע=vG~80q\2jJw> ݏ愇̨Ν,iDo#cʒ?d ӆ C!1 SP1To`+@\ Xи8@oKgJıg¶~G"d1c1vnI/p ڿ-ux_[v4j)ALi[P n^׾_VUDDI hAQ,)Yz%c1csk[u̺Z2 ,ZƁ~߮z:π<%e2ZY/w lÍt$!x :lP&|o;3ףy;p)J! Ό!h/[ߗ1c1έ\'2QK1hp[?eJ(s\Ji|1G8 Gφo @*hحQ֎?Zg4؄QJ[9IfiE}c1cz/udWBC8z\ 3WzЄu O7=wNO2fIP m'JoPSǴ7?x#')9nuG{^ H4f-Kc1c{!<5z:-H$Gڿ!~Ϫkr:m 0 ayxT2(qxRi @EIGf]85% PZz>[S$h'[ߗ1c1έB.i:dvh;_z8ߘNSuS3_>w'G c.> 'F̤-m; 1p o2 zߟfp{ROWmz޶^ G̳oYA"d1c1vn}5rPKfu<ǭG?Lk:nc'/da2,"wN>LOx_O"́a K327Ec1cٝrTs感 .(j~hB+p(Ym7q-ǒ+CAMzߡb;5a?.X&@H7c1c;'\' s:hO?gb \Ji=XFᱪ%fl-ݞڏ& m 0 a0'~πt0Rxlt YiCm_bE[_dLj ?1c1gsb:DPnU!ԎuNeK ;/[^J4oG_"GÍt:M=R (ELMh, Wf& 2_MUs>;]ce8]9opZsck^U6;r'F)Cn`1c.rI] @ւGP_\oiRLN_OXoP>%:O6̞|o$ ?7P&>i^$B%O#_c{_X O!2h'D=$4PR"58 >%[G#<c1cg; KU6CfÙ1-Ù^O?H<2icBDLa}ڎWSPa1 QCa  0i lٳ-ԉ846*[I[c1c1vr9VW(DNE%u>JÙgjubF1?u0a0r_ gubOa# #-FoT{4zn' nUĢ-=Kc1c| i3ٲi'hPܩ9~@ǫ憰OxTc\9ɪt8Ǐ=?!~O.kǖC@ IX^/.KoU@1{zc+~eX9,y1my 1c14rH^:O^pgCkhNTʼn98U06Lk+v3~o'#a(=+%V;iXFz-=Ew E7[c1cɳpu(q ܪoߟۚ{~ <lV> U%L aO Os#?D'HÕK7V8Ifɔu2N%.}Qc1c1vzUQ mp+KZL•0q?GWyRsWٱZI}t!{P_Fڿqz8k1Bq4iLGلDg?0c1Xݐk~|LΊhG*\MY*qUetMф C!1 S1q?ڟ>~_0 mkzi´QB7跲ϴOjbc1c1ֹOn3΍j.رVLCMK&p E\%ԷՒS86mc*%c׊΄ xԶjs'cAWH{Q;OM4x۟>l9GP q6i*=_Gl~JL}BLz̃~#9??0c1XVFn;5aȍG0qx,in1cZ 9eEWލ)Gх"xYg7R™0_Xùo{S0{-+X~ p<_Ųy埥Oij#Uؚ }`3N!=lʙtOsî+#6uwٷeנ!ul<1c1,\|WΫ?b˨HGmYA'E΄O [tؒg2S?ZNJ3DЇ8뱤c wÓB]iƱQ3 t?G>f8lCG8q1q\R;ѺhJÝ_k]coH?|,FQU $.LkVase:7=K_2j4eh6 Y ,zMreg1c1g_rO}'rơehwq>ZjaK>sa{#1Fǘ jb:~ߵaQOksŸϬ=tFoC=?NG b1di8m4O[Ǥ*•Xb~;VMR_k>-|.L/q$qpkK?XK[.p,7`Ov/|f_nc1c& 8xR5EqcԴO9\pdye/}h1loNmPE2阀QR8£HNFcI^q"c1:UzL,=9(qCqj=WouʊN;=GF='/C^ Xzk.,Fpmc3gt )OvMx\]g2ߪ>7[qT?. ԯ`r͊jP ' d~l,1c1.\E=@xKO>sBux&N@낗@/:c [׸"Sg&K 8ZԥԣJ2_dI3(:,9_Zd[B_ sjpLc8؇s$F;`K1:=L[.ߝ:_ŏY6uߢi\o:_>ž޶OesВv^]W`se,zo3/Ce3f~ [?G1c1v[>4h-vߢ1+(E/cǧG_hvž+$P!x@40ytMˉB,c 趒6Cc%B,mtoZJsqX,:a߿qX՘y2?Rt+_\?{Yax nc<ܚIfb^|;.]uέp.UhH݆Esc1c%O\? eAk:v*$ۑhZ/q @ؿOb_ q TP[W?gHg@t>C&zrI>c:/wߟGȱ+4J=nc<ݟD 6WrEA 88i`q '}1}~6.ϸL#'zUO[Hc1cנPBlv8к54~-ހ;!yl'W߀4Wb+kY /~ [??1c1kQ81t<58*Fyجp2ɧr{^? 7D?)PKOCE+?կM#ۼ$ ?$ij*,.7ĝy\=Pܿ 芉$Oy W\wU;/Ni^K;RZ7y|W'|sd3Fq1-ҟc15 RRv~T#j_=UwrY;Zrpd0C-1limU*Mo_ 1{x,&4p Β"bi밨/j@Y( \n]_ oL#'V唢#'U-wnNS 4-@e 3c1cڔrRu>LywXpWXzhzih sm, ZW=`EsC}p4oSo;G1R=Q/⌎oRĐ7ޘ|5{T}Oњg> 1QCZ297b{^w>˽v@x48 M[cN"a1c_\> 2ߓ;/xF(4 OOp\7MR:7SmoxP/GxǥjNmjZwR"0+{=f SΠ4 _)?0F7RQS&6κ]^֕b8zO![?71c1kI]`ro0W l#|&ZG]g4OQU1@(oa9 ){?B_0y\!PJwOk_3Ʌpc3aϿ4 =c}{o{{̻{bZq^cZ^&(3}2KoRQ0^'/ӭr YZLT= Nl0c1دU[uk%Pl}lo7~xj5ʥ)?ޯJĩд~6cNȠΓa_fѳgz?oWLdиTeM-upOȯ3R#o]AE߫dդx K[!5P-`v@a|7ttU8] c1c _KP sR !{|nl-Z"1$ا&yH4s''gEgSB8bᙐC˫Ѱa h][G0dt4xaz`a1O/}FWH^R۷=1kEnNaw>7x_3=qPMK_Ws'hza {:U㐞_l0c1دي;?\~_r=I@!hZ7Zz0OΡqo'םq _^QZи~25t[S&YIc ;ބ}Ծ=Î}}ZHߢڈѪz?n}!wjlUtvEw*sV5 [?+1c1kw_yX}x]}o=193U'TmZcP?֌GisX;,~{6 h*v;QMuu55pw_C#Fcc0;λ=xwWq `NŵDMkPu/Z9MzO"?۴ԫPR#Уi.-pмAHNc1c?Ah{Ԧ;V||T2`-@AI85+ Ķ`kjG[kX.T"%pdyѴSS%s+3#c}0僚>Xwg_lo+܆E}n>cFk1O3n` r65:mBWm9Mzx _g߆rD}^: 3N*)c1c_؉ w o[k*w 4"wTf&eCuw,&qKLGasD&zGׄU;(J>4cѼ9n; ᘒ wQBϬcQqhz%^,nq `-}wzcu;ϭX8ԭ-\e`kToa8f'Ɓh4 5 ww#5jYb~H_5 ؗ[H>c1c?ca5o߾ko{Zu_S{;EU89'8DTqh Mr<&-F tADKpQ5BMOLoۚDS$\9ʆcmβyhV|?V||ܗ[`_sO +{ߎo== KZ-֯5+pD h x)tbҿLwSӵj-.g ~8pX?ޓ-ҟ c1Okn߅5݉շF݁7kwaZ]A?Ng5N^73̱F0').VP kRв!ڜlMC6It4էAIz8$=ys&VxX? LBIO͂4BYϴC^IJacMaMbM`wc-}Xu{7VyO^a}GZVCاSW &¡F]?|P _o뉡nkwc1c'ZM]XyNҝXtNub܁=ܞޝkq)H& m=@J\.QUm ѲK:u<٪@6=1AdSdkɤfudue6 Lʼ?8ןi2a RSQM簰W?,]?V(Vѡ <=.Cz=:l_kWf=Au욁E+-T}-UuU .(teVG."`1cT+;1ZE?5[1-vh}z: ex=&@ ]LJ4Rg5Skpp *4ի~63lpLYkR#])"L~o8OSk`5baXԫw @8`-wcŭ}I: AOF-ЬxNz}uVԯa|mݰ5+ppȴ?Xޓ-ҟc1O_8.^BK?QZly =O?zvIZ IW1)*5))*"dz?0µ~G:$=x1eAc]Jn1開 >L.xI'/box?*lIw{P*a3DK;hm-ҟc1Ou;0?| ܴ7V˻Kԓ)?;;L$o @X $v>i_,zx9\ry~+KW_G/^ؗ' /i &]u|}#>ȹ[saix7TL_'-ҟc1o0׻Bj`õk5Xry Z;!tx@gS:1d%8 2_8|Bqˀ'ҖC.N_KRk5m[c|c GOnzxYa4θ{2zaGFgv滤8Z}ݲE3c1c-_?-ئ\ky8_v"g1c6_haR/sy*.^]ӿpJ5Nr{'o $IOP1t? y%? KƜ˞nOai??keP2/k_W>W]CPGãn]R߂U=C.4#%8j\E}c1c_hayYK?ҥ(hVv_On5 a?`?nNniG.|v3((2TS~U؞ [R@pk4e-,e{1c1[rݥ+PT ¥q"iZ-sxxM׆tt_ƫ$|}W v/~ʋ4J.):{ _5r+!Ǥn7m7=4PSz"kw[p2@OGХ.ǐr{bwؖ [I{ )8w;c1c7kgib.OKU3l9]9p̄; O;O랠{8L">.K*j.| .}+/ M_@୮~8LS!& ѯSo_eDYOo(98r6Qp5 8#5:IyzjtK_+'$an_ wjF*Vz*?ccב~H̽pVK?OB@[k&a/KH4\bz =:okR ͷC{w%j{\JD꺋uc]OԽBѤ-oc1c>m?_ѶXuW\0W?*X~SUbS |г_: ?=ͦFτ5 &8akz81da8c4pDa{C/(pT4Kww$Gcm40 ſ*|WPH2y BoSu;4Y8PkQەݱO6kw:SzLhއݪ+D.RuMHc1cUBT_ֽ .(?aK|镋oƗ7[| 5A=Z֡~-QU6%_ܘOOƮ+cA,#? iXo^y[#%KطOBRk5MoVcWhH_?ml9δO G̫l,[׌1c1“~/R6^yokFoL[fTqaw }?Rׄgěթ\Ƌ_C-8.h 8e 6{{k-ƴ~t4P8{WH?1c1:&͟Mh/:ea7,GH?z2-F^FK?818n<>ͺgŽؒ?d0V~@qz"\2c1\G~0OvSy/06l^~/8]G9osJ3r K/Rk߻I]sw3]F v ] Lbw.|3hDS/Ejl~.c1cs&]yM? ?qŐKvmׅVFi8_I»7^ =/?sS .W{!:4< )#n$:M7۰ ;3.G}fwaܚI8^F]]H?1c1~9?WGq\Nˣzuvqv@7+h?$~tY{o:K.@vl~.c1c?:H߯H@3{g ?灾[jpƫ=w.gީ2vn6Lm[Ue{N%6o?Grfa [FbYMco]eZo@VY17nwT l\1_AA^85j,ZK~Җ5V|MSjєW]AsڝXX @.ڒ\2?Ѿwߛfk{bc=vY7c~i_ m8] S<t0穡|~`ٞ'hCr:L7x^1_osڜQ'[L/Vs:땲tĜNӽNbgjil*cyZfr]#Ϫ9Gyj˶)wN#LMm_<D]BR3ASj'_UF={c?, , %)/5Bu#t8P}VEN֒I UMh×1Eγ}ѥe{ludnjW]?K|(RߙsTSVUM0͛SF=tV?\m/[X @jN]A M?X_GQg}8NS.SwɭJG 0kPxVM>Y&WN r[SCR X @.:GAq"p/ri}:?K9u{õ-P;D+jw1ἢ\u>k5~tq{|ٞ%+;>==s0Tsae(Tڜ<I-Wc"ꊿ[i`ٞ'hSjudG2 W;[P}"u&7?YJ[iK/i=#4<%ucr'ksѪ=Or?'O6-:mv/TgzbwOy!Z滘F^Sc<5~X @.Z5u:tڒ꼯#sx2ޯ:th7\^DORw9N%5Yj[6l\TW^{{vͺ9G"7iud-*kZj/5Swmy$RPt=~cW]₩%jƫ۾E=J{qsWkL-*ʒ<-+uz/D;%e{;8g7]\៩YgT|O9MՅ,ӺSQiB!Qݱ.Үb<D2udMW o@bN2}?U=;qZ5qj&SC+JE~c7CY/Xg @jKM?0ZgV_594xiG<*;Y_>Tu ROI/@SY2 ??˿bT,P}:&u wheX*y?yD٪ Y2@gKL?w3 l5mr5:ܟAʹS xOB@N6۹~W{=KrU09_>7L[FeN::Ǟ,l?d?Sesoޭ ,۳ We=L9_Y6V͑X̺Rܙ:v|EjAP7vGXM`ٞ%*A g$Lǟ~-TmV= J{o@km9Z1y&haj.){i{=Krtw}MZ4mVu?ʹƌf?_u0g`w/ڗB)7f]VZ~MԒ{F򞡪wK11W[+<E;ʗ*#?f{].RkQzY_߿75S OSUNӆ3Afm}--X @.YDA2?`UߝZc?PggR;ZU>V +"O˾b;"3&g7jErm2,Uue@;'g7\*sޭZ?EՉ|U&1q ,5YWPGܨ8co.^[q~}g߻Ziwzh%u{XՁe{z݇M?~t0ZO:[ xuGnQu9GfJ=KrUՃ:LYXFN׾JQzw|Weyjʇi_ ݰ:/ioɧ5&l\:?gm[s:>VoLY3"U >T I궟Qsj WYb)xQ#U\dSf}DӴwy鞯^ZXg @&hǎ42B/tϛSYU(l?g:\ߚT-. ,۳ We=cAc'Y7檶dV{A=ZYUWHkSKJZ40>p׼yZZ8BmWU{s=KrՋz0/Wt㍊v*omN;wM3=_o?k m|YW3JEӞohđZ>qݛ5@m-DJY2TwѾwLhLjc:iBXO)e=x-+e#4|VUg=MBu}`ٞ'f=y/33Agoj3b{r3|zrfzZmUZ0K QmbYwn\#!\tbj`ٞ'hir=QGlw$j7VSCJY3iߠZoyTi7\-ޕu:/k5Wme{䢍5 ym>gZk> z'cݦX-Wd_b].y5=OrQMY:tD}%jisLZWVo~uoВTS:LC,4B"Wz:车X:)gx-VҖQ GiWt0EJ{ \Z2$+ӺS>Ucrn`ٞ%jS|:4t:L=uzWUǪuGn1&+a~Z3qO'VXg @_NN2@{o}NķI{k?dƴ!qVQMPcb֏TP}˵U Sutoc ,UFwاX|GM hcZ]4V5ET9%OJ1ߩT1ўdU`ٞ%Wwm/Cת;KfrunԦgjQF}xI=沿kWtq`ٞ%՛NN|潧ݱ5$ǫ=y7Ϭ5yVQUO^g?J>Ve{އ P;'%ڒW3zIJquGoiZ& TWz'?v. ,۳ W5{+{U=ľO7ǻMu״h*cC9z9lYy*7V6_jߘue;>sNB@u@v; ,Um޻ *]~|LX:쟩]j\uSTWeh6ET=Zy:W?L[BW7C\.EC5(OB_S{DҾi{bY`ٞ%}ZA {7W*un2kuj딳bhUMW5\j~G/hoSYA;tL;{PK{jMwJ[϶ڊQ?uN}+;CUc\5L ,۳ Wu(#?a,mrר)v'uJGSk*mK1*ׂjHWڛnY5>֎ee{vMO;Kyݠ]`~z=X-UeԎ=KruD; ?Mjs~m9{:o|UC=CsCjg^Xg @o]w~q;:O֭ۿ8UELGhes13NoI`ٞ%wBu cuE~YIե'@KT@]Yͱ=]Q 4O;#xOh_#4l\O=|Z_rZSOX)wRZS2VKG(_ UCw+hO*l\Rcie`ٞ%~IAr]dGks#R kQl*cymu}KdvFY2T_8ӚFô:W(mBi\{oWy}朢nwً,U O>C:#+L?ouZpR9 s[Xg @_SP߿o]YEEôBHTKfZUr/S]?KH e{NEuC5ooѷ ڬܢcpLj*DiX]7v'Y(Ckm{-zHs&/_=+<^%'og昴j(SYRc a_aOf=GrTYl_=/Ug9.?E\lWٞA?048@J y_le~BK>y_DnormalMapInS eSBgcD0t 3PbJ5P3PbJ5PDbumpMapInS eSBgcDu .LODPv \B6P[D2|=Bynjz@Ho 2|=Bynj2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?.LO C:\mynornal.tgaceZU@䑧r[җJs@ NewCommand.// get file type from the extension function getFileType(filename) { // RdBitmap flags BFILEFMT_BMP = 0 // Save as bitmap file BFILEFMT_JPG = 1 // Save as jpeg BFILEFMT_TGA = 2 // TGA is not supported BFILEFMT_PNG = 3 // Save as PNG BFILEFMT_DDS = 4 // Save as DirectX DDS file BFILEFMT_PPM = 5 // PPM is not supported BFILEFMT_DIB = 6 // Save as Windows DIB BFILEFMT_HDR = 7 // Save in HDR format BFILEFMT_PFM = 8 // Save in Portable Pixmap format //get the bitmap file extension var tempStr = new Array(); tempStr = filename.split("."); fileExt = tempStr.pop(); theExt = fileExt.toUpperCase(); System.Trace(theExt); //use extension to set the file type switch(theExt) { case "BMP": theFiletype = BFILEFMT_BMP; break; case "JPG": theFiletype = BFILEFMT_JPG; break; case "TGA": theFiletype = BFILEFMT_TGA; break; case "PNG": theFiletype = BFILEFMT_PNG; break; case "DDS": theFiletype = BFILEFMT_DDS; break; case "PPM": theFiletype = BFILEFMT_PPM; break; case "DIB": theFiletype = BFILEFMT_DIB; break; case "HDR": theFiletype = BFILEFMT_HDR; break; case "PFM": theFiletype = BFILEFMT_PFM; break; default: theFiletype = BFILEFMT_TGA; } return theFiletype; } // Execute // Called to execute the command function Execute(params) { var normalMapInS = params.ConValue('normalMapInS'); var normalFilename = params.ConValue('normalFilename'); var bumpFilename = params.ConValue('bumpFilename'); var filetype = params.ConValue('filetype'); var bumpMapInS = params.ConValue('bumpMapInS'); // TODO: put your action code here if((normalFilename == '') || (bumpFilename == '')) { System.Alert("You must enter a file name for the normal and bump maps"); return; } theFiletype = getFileType(normalFilename); System.Trace(theFiletype); System.Trace("save normalmap files"); normalMapInS.SaveToFile(theFiletype,normalFilename); theFiletype = getFileType(bumpFilename); System.Trace(theFiletype); System.Trace("save bumpmap files"); bumpMapInS.SaveToFile(theFiletype,bumpFilename); } NScript Object Package/jScript language~൱D@ j#^c@Common Data Package/Bitmap DatanormalMapInS eSBgcle~BK>y_@Common Data Package/Bitmap DatabumpMapInS eSBgc3PbJ5PstringnormalFilename.LOstringbumpFilename\B6P[4W}@O{(XFҦV>g'JNjn*pnDb@ f@2|=Bynj|?z@Hoۙ>?\B6P[C:\mybump.jpg3PbJ5PJ@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?le~BK>y_-1OSM n 럆L<_їf  ControlOˁ 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@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ NewCommand// Normalmap generator // October 18 2007 // Clinton Reese // // Notes: // // Execute // // The low resolution target mesh must have a good non-overlapping uv map // The high and low resolution mesh shapes must be similar // The scales rotations and locatiosn should be identical or normalized(the freezeTransform script helps here) // Objects should have their history flattened, "flatten history" // The bumpmap is saved as a color image with blue and green =255 and the grayscale data goes into the red channel only // // Called to execute the command function Execute(params) { // TODO: put your action code here System.Trace("create initial normal map"); subject = Node.FirstSelected(); ScriptObject.RunCmd("mesh modifiers package/buildnormalmap", "Nodes list", ""); params.ConValue("theSubject") = subject; } NScript Object Package/jScript languagestringtheSubjectBٚm:ALi)4W}@O{Bٚm:ALi)>/Project/normalProblem/rimHigh(XFҦV>g'JNjn*pnYBb@@P@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їf  ControlOˁ 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@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ 4NewCommand// Execute // Called to execute the command function Execute(params) { var theSubject = params.ConValue('theSubject'); // TODO: put your action code here //subject = Node.Selection(); //ScriptObject.RunCmd("mesh modifiers package/buildnormalmap", "Nodes list", ""); //check for existence of exported node indicating normalmap process has begun if(Node.ConExists(theSubject, "Simplification level")) { params.ConValue("foundNormal") = 1; params.ConValue("noNormal") = 0; } else { System.Trace("no normalmap yet"); params.ConValue("noNormal") = 1; params.ConValue("foundNormal") = 0; } // params.ConValue("foundNormal") = ... // params.ConValue("noNormal") = ... } NScript Object Package/jScript language~൱D@ j#^cintfoundNormalGg ;P ]M䣬intnoNormal iZ JpB1stringtheSubject]kM c!FrE~]kM c!FrE~>/Project/normalProblem/rimHigh4W}@O{(XFҦV>g'JNjn*pnTB4b@@T@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>? iZ JpB1-1OSM n 럆L<_їn  ControlOˁ CRih[ eм8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0e:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?Gg ;P ]M䣬z@Ho48@J g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?FIԬê>/Project/normalProblem/rimHighceZU@䑧r[җJs@ nNewCommandH // Normalmap generator // October 18 2007 // Clinton Reese // // Notes: // // Execute // // The low resolution target mesh must have a good non-overlapping uv map // The high and low resolution mesh shapes must be similar // The scales rotations and locatiosn should be identical or normalized(the freezeTransform script helps here) // Objects should have their history flattened, "flatten history" // The bumpmap is saved as a color image with blue and green =255 and the grayscale data goes into the red channel only // // Called to execute the command function Execute(params) { var res = params.ConValue('res'); var target = params.ConValue('target'); var theSubject = params.ConValue('theSubject'); // TODO: put your action code here System.Trace("final normal map generation"); //get selected object //subject = Node.Selection(); //ScriptObject.RunCmd("mesh modifiers package/buildnormalmap", "Nodes list", ""); Node.Value(theSubject, "Simplification level") = 100; Node.Value(theSubject, "Tangent space") = -1; //set map resolution - defult 512x512 if(res=="") res = 512; Node.Value(theSubject, "Normalmap resolution") = res;//chosen value //normalMapInG = Node.Value(subject + "/NormalmapGenerator", "Normal map"); params.ConValue("normalMapOutG") = Node.Value(theSubject + "/NormalmapGenerator", "Normal map"); //copy low resolution objects shape node and reconnect to it reconObj = Node.Copy(target + "/Shape", theSubject); Node.ReconnectFrom(theSubject + "/MeshUnwrapper", "Mesh", theSubject + "/Shape", "Mesh", theSubject + "/NormalmapGenerator", "LoresInput"); System.Trace("setup for generation complete"); } NScript Object Package/jScript languageintresresolutionI*pO("~@Common Data Package/Bitmap DatanormalMapOutG eSBgc= @PLApstringtargetff=M[7z@stringtheSubjectFIԬê= @PLApeSBgc< 4W}@O{(XFҦV>g'JNjn*pnCAb@ b@2|=Bynj|?z@Hoۙ>?ff=M[7z@</Project/normalProblem/rimLowJ@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?-1OSM n 럆L<_їf  ControlOˁ 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ۙ>?I*pO("~z@Ho1(ssD =$ Pause Activityk@ BLpA,k@ BLpA,Keep period<Keep constant period in cycle uW}Mzq>uW}Mzq>Period&Timer period in ms 2|=BynjH p z@Ho 4W}@O{$(XFҦV"-1OSM n" asvHhTG asvHhTG$NodeIconNodeIcon eSBgc$2|=Bynjk@ BLpA, (XFҦV>g'JNjn*pFGD`c@@P@? asvHhTGeSBgcR =JAOy) xRxe|U=yd%x;. wq7݋;w(:uZpcL2.IÇ7+k96d.FP++++++++ҿ*QuR^IՅy4$;FdFӘ4>'MNJӒ@ Y P| 4О$u=h\Z_AC'Ru`B_+I "B3ibJ(M8OZJ+hC-mMm P%L]Iۮ|Ɗ[ҦXZkOKchnM)!46} e/ITM#hZFcЩl{:gOofTJ=rTAg.]|Vl;:=؎Үx+cKKivMDihn:U~OVeP0ϡaQ4"3MQzz-Ίҩt sF:ӷc .h 2Ņ Ms%Wzg?wp/8GtXOaSh퍷47&DQ)ih^&UWOQeI)Ue%ѐzkMSl |:_H9w`Dg-͂BEnDK܉y-V2B n{l#.D`?F8jG̑.ĆSQ4/ҝtaT]T@J~7UQUZ4 lK39Ϭhw@LC.cDErh8A=6ymx{;k=S|ϱ 1F87OKЦKvt,ɆvFYAzG#АW s/HHц(Kڃ>=eK7*34Mcυ`lVh3 LwB>AgWKsJf㺜?8->D: Ą36t a MM#RuA+;x H4-FO %~*|3Cvod:t:NBQ lmKyn"pM>ڡʉo{8cC`Sp2B]WI]hZ_=dE{Pgv#j/'i,v2b&|p xx efG4i9/@FTogwT{`[8$ϻ!kVr~5hb[ >j;Yz:z1Šq*3g׉%TߏFri#r^)S>!yפ_^NI}kR+R.i>w^ڂՉ e2 &v~|{fG6ٽ4,*^:ZȁŃ|@{fiA;C0ØL)>%drL̝}ܻUt]xM4;LOCcè?.DИP{ZׂvD4翩rFT}]ҕym?Qׯ>u6p6 hzgiczFQ/]aO*0n=ŽhA%Ў_:?CyTگ-M @-]EPg+xuj ]KG5~?/}_^ױPlߡj>`[滋$BGr|Ü3*qYTC3CLi@:[َ O_#km_?|본?/&ܨ_pLƀ^ 2Gnz]ɚ`4; ujfFЦ0sәRb06>(?-*Cio`E'l.VOtsjeTo}˱w-3ښO}mwYN<6<+c@]{y#M إu&7X&mi.p5aTLs=ͨSU@7#VV}JUМfq ;зh`u~e98uN˩5g6yrErݿ1@[֌T?$5sޢ[d {b^%8=]=w=t*u!E32lW36- zz'ˑg#dh dpā`  liA3J8PAe!n4 b5J߃w|sK${7)c{sʜ/LA'?"tY%-vvZ ill @hh7^#b/5rm`QhO,izU k| sr;MbBZ8{}PW惡׬խIT:< ãt:].Ax ؁b e?+z:A{h+Ikނ.]u!!wtr-m 1T/=.(/ԡcEGmNس}Ns" d>d +7>"GB ڂE{6e tnYll X|U>"֜ƹNvxۅkŵ@C^c7y #_z:_,}džUP3}{36) qY*-,42 -Ct=Ձ8 qn㺘6s<">:_ &]&̡k!`Mw`r߻QSy*H)\$t=솶BG0mރ=lAlڈCK=u#Y+c st#֞e]h$bkE[jFA4dKWl'z\"lZ|xM>H^o缹c)0xGѿgRVӇ.w[=q{w`w8|PuPאָ}?tc9\l\w|. B;΢=gSx}m:g;О hjoν[g_&ja^/}}ȅ8g)7^TQPҹIN4mcMgQ T,Ʒx|yxh'SOvo·N.'ѯ7o4;D݋{^? v6lno@S֭չ+}E}y= p h%\ _FAhõ\B$lm:6B;;Ͱ鵰Ǖ82LB3e0IW 9˙atf =0.hN=>ؗ̾0'r=[Ӛ^6z=MM~ee=G(E~zy>Rx}|ߋ'<\‰~.|_ޣL D߃ñ 5qv|oq_?ϟG.tcBt0]CMf hDt1b/b6zg5οYQ/kA98ict Cіʒc_*J mO[Ҳ]Mp ޥs]>EZ}NcwNG:p\AwV{kwߦ} |w&@, u~//ǖ<8?s\=]Il<}r\v-7FAH5?G>:Aİ]hf{.j2""W~{ih\UcpQ ;'qt<hB"͛ӊt4܁JvP(.T71ޛ/q,ß {;zb˳ț7b*MMHoiMz,m5ғL,̞gD_#s"yK5}Ե~Y-/o<F^|0Fzjnn\Jih5jcCzO[PCM;6!ƭB{%dTc@=(= uh]))޿'+~e3=a߯;Ql =b| 1D_Ok˺Ss/''G2֓1#qy>| ?}5<#/tηP}A6FS^N[jnnK=Ybi ι_T?ϙW@3}@z41МJc%sC(- 9ǘuz#}RTj|ʟ]5ݟ bI ˛4#+5>v1yUxC_$n"v_S|ۧfo G<"|C /72M̎;✻Q}C؂6.A[1L1/>M?cjRP3=D=P 5.t9Y4&z9%P95Qֲ$ޯнvX{_+#'Fl<}b.MJL~?AЯb}2o+6؅~Jr{]ZQYD//)GO DƴLٖ3ЦW1)>~n򌖗._E1ԕ}Kws0@z:k+OJƚ=꾎ۃ|r4&ցnGڴihgW/Υ;КuGdO&:/ۡ3u]^ssɿ[oQ'hyVK֠M?գ&W}Ear>J(Jqc rnm cJmHcgVzz`ٞJYb[M `sxi_<1/{ ;Ab>UrGa',g1E[ ?naK`[{?CZoj NsߞXv4הyaϕGy~4miG#~B9):'׼^(#z;a/5?K_ ~ {Խ\>bq?_}]*Tߩ^_!؏~}5ԀE2dBINt?ܞ.ђf^3XVVM ]ʫ-lEӛ;cb9G ?5LWc|^J4o% gD5䣸~rd++{( O%; WU#ρ~ߌsĹ`3לQ%QT?Dӭ6t9`jkO9ܺ@nveX8ִa=AQ?1%( ^fۘ?'QKibbeDO1x]F?;}D{KU{5{Ny/ V߂=};+TYC_jW|YyV*rge0r;)ۖNb:ДFy~P7cbnjP;H_$: %w*m8S,A_$p=C.O1_ׂ̐J{ UnUִu^zD%y)w1kl@j [́2^d7x]b_-/`{w}s{յh:#߱7ii/ε5bĩ>Y á!u[yP1Thᘏc5׃t(َ(pzۊnX^Ԁ2ЖʲeIc}LhMWވ1;SHKp)cg *U̍52z?%ݒOF=eςٛ;::P 3[I?$l`'jUy?=m1`pL3ǸKhh%ے ܧ rkNE1FrxҴSڄq`r *sh?^m-0]K}.D_o !- _Y]~oVImewyўb-jXޗ5i J߯J`[P.E{f:8+l Zn2FnmJnP"Д(Q |= 3{tu$צT։*Gu"dN;o; <5hKze]Ǹ Zykݹ^ z Gkן ^)࿿[O"ݢy^ž}޻<e=ƆR6ؔB/î&E=2?H@D·[= Sס$Cp7bHQ_==iMvmM۷;4ݭ)t ,-~T&Lficdim@r?s/u7^*ǘj r%>ǔ~m࿛#_ީ%q>βSؐ%YXX(GbC,9v[?_{C yʂ2?dM4>C>P(l=ܔkA>%fe6hM|r(ÊFXنr)9jY uR KM$m`X^ k)k?t5/zE *x:}| w{O]E$2Vx iӆo}z8?Y/q3{?SIF<8JQP8 7 f`Sג;6¸(*/oUPFj:x~ҙ>S?ԥfkQr{K͘p|օs{%!K ^ nUyKZ|ZYy_kQItFaoeeʽEԴiSjܸ1t:um] 5$=~f+G@~t'Ȑ6UNT71 )͔`[בDXU_%* Dv~{ 6~?j/!ޓDد_o`nC&dfff7o\anhhHO;g-;ڈ؟R{)j7uWs[ϝ :c@ݛ$H%q染9RQ)0vtv͟K T=$uLb3s/O5?y^;GUY3 y/k>@z7iUvYq6 }Ȩ;0Y Os=vZ {*(#F4ѐڻQqdzLL^!TnB-h=HD;ϑ?2Thl`F؀2@Os <&<y=]v<3?sB}OKǹv#IT:Q-ɰq2ohfE8T?!ӡԦ"'@5UBd&w5'9fH3%TүGFSL *A_`ING'Iujrij-.x !/k(}t]_e^w˽K.{xm=;s X4jkB#Ln%ԖroXU=`>_?۩ ZF?C_8 [I-<ca~=07| h9Qss*_o!(՚ZӊVt>@9ZOsdƁJMM8^uo,b_'#߭$ B6̟5E7|i>X}q@[l'[`3shQ}ۂ4(O97y>3Z Ƶs55d/s?v9g'!:anh5Wrh4`2x cPgǁʙ1{5zoK>s6v#/d24 Pf Ct?7U԰|*o@W h!gv:*iZo)(޶  =-9Y'X=5lj`3]ji4?=? C[Nq,O$?~_7I?Nj=.: Γl(65nOqQ_i Thl@rcG b6;#*o3)z`>m2Gm_Wg@ef~ߦ }9ׂ,hK9l/ }륀ch|59hbUOwo0 J7zz7pIH{r|j>`ο?k[ n־}g"؏C^ ; d,Zhx`3QO- ?mY3О̟΢hGb+a82+5wh@ 6 o ִ:Nt(xU'k&p=03 }w޼nz [?XX jp2G5Fhbm+o_SG Νɸ^< Qu">L^~n<#*OHڹ-#]l0zc=Q=Ub<TjZx\sb_xBNd7!W?`Ͽ P_Mzh[u}X#e,.JF80ʿӃش㿃 o#iΝ I^,T4>aP3Uo+b?w}'wp3*u2ft5B  [g q\]js_#l:ب;چL, K(ho 쩫_}6#χkרP)bCb0|~ϵF~h/ǃ2NDu#uyaZWk|#_Bڃ!w?w(E8Ru7^fK_Fݬ 5u@@zj56P{`0& ׂUJc"_gSkυ5YXR6fݙO0ڈ9Ǡ4|- ^>W h27O߃@KѦɰj7hS T0h?׀>k\_-x]kČ0 gzc7 uD1_.ג6uaK|W6sG1?c+6X_ێkā;ɯk=m\Z= c3[4fJE=:֛fR 4š)m5`Q%N"$9.Ld.qu]qlF!OBՒRޕYwfkB6nd{z**O 6:BeE\q? vk ?xJϕc?mߤffPSwþd_?ܿNGS9QQeg A)۾hg+:hIv`ѧ8'1: I@s h@[(1_ %ؽFLML,mkSf͚=]?QfxO }]`&0\{/rofq|.ӜA!`; mAf?>.o-$kC*lNE?7cb)]ߜF7e.頏 mgNoza=q JcIT〳 kǀ|/˜p>92 ޯ2U[Z=V[׆Xq?7jd7WZc9ƀۺ5sBJn-׷`- EG?\o0s -s? [ggcb X7D17e?Z[_OW`_1^`)rfw՞ӭ[|Y q!߂€ 6w75+ 0ލŹV0IW{lqf h,0au]eΣ2t#ڀk߁ |d>PmO;?1b8EJoP,? ? W,tb ?KDm+d879O2π>J3@Lc)]MWsgAҋ6ؿ>2Ɣ>a*-sGmf?}6]Q>|#QHkn9<Ds5 y>ɽKs01! ۈqIގoH}P5)3G{75k9/Ah5~%oA\Pjl,0 PlCp6lGWe8 v9~>f; ~O8E4:"~m(`9>p0ڍ )ŸT0ɿCӚ:Oz*{>Bw7HS?AK(SOEfkmutw 6𥓴M/I-(6a&d*?0~B9m1_?S?#`3zkUb.6׋ UyFY{d 5:B]KMW =Ms:L̶%yzaX:Zi[x,!mW;f{׀??WyiR??>d(bpWy/޿{(s1yq^o~k(`Ahc25&TE%8QR7ֆy(t NF8?hSk_,/Lia PKģ}tpvhS~RoqhfQ9?!3ezІŰÝ?.mGN^}5p[+$b)꿉?1Î~OOwkb!{j!T)lb? y޼ӿ- Mmq-_ q~$}9lk}Eh/{PyޟDK*3E s7/\b.X#m@ ! ? FW!}Fk}׌z >X_ 6P|_1 {WDmiH ,uvy|AƬg|/vFk".OƂ_Վqyi oZM*ub..d?}8dڣ|9 kMލkJ|B' :%hUUdPlM]FW`A?=UځJ,;bm_G1TO(͖}V}k0p[됦5*ꪋNu`3vg{IYОR@bgwo{ܷޤU2+Q+؀x@ӡ2T0h_71H73ahh ym }i#&H \jjC2y%Cd X᠃T}GXӏ#gƹm#ƙݍ:'VʺXtXM.!8OIQ4(뿿&~JO0+aKS&q O\DzwEsҀ60!Z<Sr4qe: 8[v Jmz˿%C/)pѿ82/Uk-]=|cT856e<&mM菾O>|ex4U:z< /Ox]8[ ^ȳ0 ];6|y:תKʚ4K;/,c Tܛ6boٲ9ESBa'm B<&Gް_}sq|)l3Ztk  'unOYm0D}2cR^>sJLS/?ρ?B\^(7xjҘA|-g!D؋yNZMjԬsMl'j!˜ׅFVxBPǥ>R< !?w].KR:O=)њv8FhbD ;y 4 [j gؤ['3ޟ;Uj+#+/mq߀TR٫JL4 Jh {*(1z?}JEmϭ/kxjSkk|1NBCvكh]ݕŇнu/>ޏ w#;ӷ1eza-7i4M4[|Kqhz<#P༗Y*MBF4A`ۇagx>ca ?"f?mek;gü<˓12Ǣ}<98eV1%Uj8^Bxݚzy3zԈ~qB-#%sڂX_{)w; 2s(+[Xh%~XGo7saOY29{k0f0e@l7 &ys`oR6>Q3ͤ5ЮhO31d5c#}KkϹu#ofc=Pq~1euhKmpTbw^ yWS|!; I* 5HTq=dTGzO+ )z"/?>EM:h"pw1R3^:?CEe#rlMh|}Ncr 5]螁Ed F>$wnǚϩYÜmky=ܞ}d{o~秷@ llDT\XS9X02)' ٙ0$:e<s@e<ݖ1}𵴅41Bk?=G?k|[w|l_9s>@:㪁ÜNh#ھBs3a]$G(UTRQ\V2'6p<0yMOI_*#|&vPgz(8D=y97q]wBqncQͨσJ""_l_I )?۴QƊ?aP pOCio>[Kxmlg3ڶul)hSE-I*/(Uֻ:Q xŒJ,\+ydrVbxuK궴&MW_Ün\5< ;v1@*4 ^qo7LJS)?;z:S1:uX+9]"ᘌHgiwF~Qy>s>?s|_ \?m{2]Tܵ3'PE~K,;##)s{*rSW-iSXubxM{>%}^9+?&cg5ηgxv Ƭ+\lP+1<=U]ge3DEQ ޮThEC,iTK#< ׎ Zq2 ׫\ UOefbvn3q ;Ҵ [Pt Dgː#{0xS3U:P[SaтFiL0  Cxyxa4ɨF4P]U;vn>^(A3I⚡qJRmP{P z8)*[r)jRATکvF}PiT4\{WzWzWzWzWzWzS?uW}Mzq>(-1OSM n 럆L<_ї"   GFʠN= P0@ }} Control Inz@HoZ`Ez]UO GFʠN= O }}Keep fixed period in cyclek@ BLpA,Z`Ez]UOͽ>fdN*5Ւh , ~k@ BLpA,Z`Ez]UO GFʠN=85 }}uW}Mzq>Z`Ez]UO1釥GP>ap,uW}Mzq>Z`Ez]UO GFʠN=P 0A }} Control Out2|=BynjZ`Ez]UON\q+nN-K^8pA}}.@p@uW}Mzq>Z`Ez]UOY@z@Ho1(ssD =# $Pause Activity, 1k@ BLpA,uW}Mzq>`+ 2|=Bynj @, z@Ho, 4W}@O{$(XFҦV"-1OSM n" asvHhTG$2|=Bynjk@ BLpA, (XFҦV>g'JNjn*pF`C^c@@P@?uW}Mzq>( asvHhTGeSBgc8 =JAOy) -1OSM n 럆L<_ї"   GFʠN= P0@ }} Control Inz@HoZ`Ez]UO GFʠN= O }}Keep fixed period in cyclek@ BLpA,Z`Ez]UOͽ>fdN*5Ւh , ~k@ BLpA,Z`Ez]UO GFʠN=85 }}uW}Mzq>Z`Ez]UO1釥GP>ap,uW}Mzq>Z`Ez]UO GFʠN=P 0A }} Control Out2|=BynjZ`Ez]UON\q+nN-K^8pA}}.@p@uW}Mzq>Z`Ez]UOY@z@Ho48@J &waitForNormalReady -1OSM n#2AEHM'ceZU@䑧r%A 4W}@O{$(XFҦVLE2Data, 1#J@#QLLE2Data, 3MT^RwL~YYTLE2Data, 2xD 9<-F0hDS9<-F0hDSBstatus100BxQ E בhAtHH&WבhAtHH&WBstatusNot100Bp G cD!ӎcD!ӎDtheSubjectDG  mKBp H z@Ho 2AEHM'>g'JNjn*pnBC`@0@2|=Bynj|?z@Hoۙ>?ceZU@䑧r[җJs@ &NewCommand4// Execute // Called to execute the command function Execute(params) { var theSubject = params.ConValue('theSubject'); // TODO: put your action code here //subject = Node.Selection(); //ScriptObject.RunCmd("mesh modifiers package/buildnormalmap", "Nodes list", ""); //check for existence of exported node indicating normalmap process has begun theStatus = Node.Value(theSubject, "Status"); if(theStatus > 99.9) { params.ConValue("status100") = 1; params.ConValue("statusNot100") = 0; } else { System.Trace("normalmap not ready yet"); params.ConValue("currentStatus") = theStatus; params.ConValue("statusNot100") = 1; params.ConValue("status100") = 0; } // params.ConValue("foundNormal") = ... // params.ConValue("noNormal") = ... } NScript Object Package/jScript language~൱D4|#^cintstatus1009<-F0hDSintstatusNot100בhAtHH&WstringtheSubjectcD!ӎnumbercurrentStatus mK4W}@O{ mK(XFҦV>g'JNjn*pnDDb@@X@2|=Bynj|?z@Hoۙ>?J@#QL>g'JNjn*pnBB`@T@2|=Bynj|?z@Hoۙ>?9<-F0hDScD!ӎ>/Project/normalProblem/rimHigh-1OSM n 럆L<_їn  ControlOˁ CRih[ eм8Activity.Run('%THIS_NAME%') StartZ`Ez]UOOˁ CRih[ 0e:Activity.Stop('%THIS_NAME%') StopZ`Ez]UOMT^RwL~YYT>g'JNjn*pnCB`@0@2|=Bynj|?z@Hoۙ>?בhAtHH&Wz@Ho8ʯȥJH|o7 gH]kDwPH|`d8pM*#ͺO|2/tfѭ8Lwb"q7