BLENDER_v231REND "eSceneSRd Sd SR1-Animationܨ  d | .DATAܨTDATATtܨDATAtTuDATAuT tDATA T uDATA TD DATAD T DATA TԿ D DATAԿ T |DATA Td Կ |DATAd T  DATA Td DATA U< tDATA< U uܨDATA U < DATA U D DATA U\ t DATA\ U  D DATA U \ Կ DATA U4 Կ DATA4 U| D  DATA| U 4  DATA U | Կ  DATA UT DATAT U D DATA U T ܨd DATA U, d DATA, Ut DATAt U , u DATA Ut d DATA W ܨd uJ| T DATATV8Link and MaterialsEditing>DATA8VTMeshEditingF>DATAV 8Anim settingsObject>DATA V DrawObjectF>DATA V ConstraintsObject>DATA V EffectsObjectDATA| E 333?@DhC5:@DhCC(BDC?z?DATAT G| 333?/9DATA W  D t DATA Wt D  Կ |+9= z=o?{{{|S DATA V Transform PropertiesView3d>DATA V 3D Viewport propertiesView3d>"DATA  @ 333?d"????????|+9= z=o?;AK A?|+9= z=o??????;A,  B?=C DATAT G 333?d"/9DATAt Wd Կ  ??Pף}}}< d d DATAd VTransform PropertiesIpo!>DATA< DT 333?(zC̽̌?zC@CC #< #<`jFzD OBzC̽̌?DATAT H < 333?(@zAAQAQAB A@CC #<@4 DATA,4 e BO`A܉ DATA, e4 BOp=A, DATAh K T 333?(6 j>DATA  @ 333?(??? ???? A???PA A!O?j?}GCHB? A,  B? #<C@h@hDATAT G 333?(/9DATAd Wt d   T , DATAT V, Link and MaterialsEditing>DATA, VT MeshEditingF>DATA  333?l2zCCHBC?CFC= ADATA E  333?l2#DhC`DpJgChCC(BDC?z?DATAT G 333?l2/9SRdd S  SR2-Model    | .DATA TD DATAD T DATA T D DATA T DATA Td DATAd T  DATA T d DATA T< DATA< T DATA T< DATA U D DATA U\ DATA\ U   DATA U \ d DATA U4  d DATA4 U| D DATA| U 4 DATA U | DATA UT  DATAT U d DATA U T  < DATA U, d < DATA, Ut DATAt U , DATA Ut < DATA W  d ?@Pף| L  lk DATA V PreviewLamp>DATA V LampLampF>DATA V| SpotLamp>DATA| VT Texture and InputLamp>DATAT V, | Map ToLamp>| DATA, V T PreviewMaterial>DATA V , MaterialMaterialF>DATA V  PreviewWorld>DATA V WorldWorldF>DATA Vd Mist Stars PhysicsWorld>DATAd V< Texture and InputWorld>DATA< V d Map ToWorld>d DATA V < OutputRender>DATA V  RenderRenderF>DATA V AnimRender>DATA Vt FormatRender>DATAt VL Link and MaterialsEditing>DATAL V$ t MeshEditingF>DATA$ V L Mesh ToolsEditing>DATA V $ Mesh Tools 1Editing>DATA V CameraEditing@>DATA V ShadersMaterial>DATA V\ TextureMaterial>DATA\ V4 Anim settingsObject>DATA4 V \ DrawObjectF>DATA V 4 ConstraintsObject>DATA V ScriptlinksScript>DATA V EffectsObject DATA Vl  Map InputMaterial> DATAl VD  Map ToMaterial> DATAD V l AnimAnim>DATA V D SoundSound>DATA V  ListenerSoundF>DATA V  SequencerSound>DATA VV PreviewTexture>DATAVV` Mirror TranspMaterial> DATA`Vlk VCurve and SurfaceEditingF>DATAlk V`Shadow and SpotLamp>DATA| E 333? DhC>?e\D.dfCC(BDC?z?| $ OBmDATAh K |  h >HDATA  @l 333? ??? ???? A??@PA Aj?c3>}GCHB? A,  B? #<CzzDATAl HL  333? @̌AR|B1@lA A@CC #<@DATATL Gl 333? /9DATA W  D l LDATA W  < d ?T?AHM     tt  DATA VTransform PropertiesView3dG >" DATAh K$  & -!|>.DATA $ @t  333? LJ>6h?FHzlK >]]z<4h?kK >R5L?GH]]\I?u Ma4A?{C]>;?;JI?FH?4Ƚ->g>]]>I<2~?n[IUq!BvB;bvB8>ce<g30>L^=>#?@CʪBoa՟Jקõly_By'@?T?AHMLJ>6h?FHzlK >]]}2?ɽB,  B?=C@x7@2A DATAt E| $ 333? DdC8CnD fCC(BDC?z?DATA| D t 333? zC AzC A #< #<`jFzD OBDATAT G| 333? 0Save AsEPUT PICTURES\\Rnwlserver\workfolder\Transfer\er/../Drop2Group.blenddDATA W  < <j.<o? S T h h   DATA  VTransform PropertiesView3dU[>" DATA  @4 333? =?8vY>r!#,+n|>rn+я=l?)M> AB?=?,+ˏ=7vY>m|>l?q!#qn+/M>-[F?p.<; :ѫ<:*:PE<G.g>l?:?AZ@@N 8AGBNCiCV>-[I?<j.<o?=?8vY>r!#,+n|>rn+я=l?)M> AB?*H?kK7e>9>B,  B?=C-[AJ@ACC DATA4 E<  333? DdC8CnD fCC(BDC?z?DATA< DT 4 333? zC AzC A #< #<`jFzD OBDATATT G< 333? 3Save AsEPUT PICTURES\\Rnwlserver\workfolder\Transfer\er/../FollowTerrain.blendSRd SZ d SR3-Materialodel Singt $ d$ * * S | 5DATAt T DATA T! t DATA! TL! DATAL! T! ! DATA! T! L! ,DATA! T$" ! ,DATA$" Tl" ! DATAl" T" $" DATA" T" l" ,DATA" TD# " DATAD# T# " DATA# T# D#  DATA# T$ #  DATA$ T# DATAd$ U$ ! DATA$ U$ d$ t L! DATA$ U<% $ t ! DATA<% U% $ L! ! DATA% U% <% ! ! DATA% U& % $" DATA& U\& % ! l" DATA\& U& & $" l" DATA& U& \& ! l" DATA& U4' & ! " DATA4' U|' & ! " DATA|' U' 4' l" " DATA' U ( |' " " DATA ( UT( ' ! D# DATAT( U( ( $" D# DATA( U( T( " # DATA( U,) ( " # DATA,) Ut) ( D# # DATAt) U) ,) D# # DATA) U* t) # # DATA* UL* ) $" $ DATAL* U* * " $ DATA* UL* # $ DATA* W5 t ! ! L! ?@Pף++ ,,/ 44 + T. DATA+ V, OutputRender>DATA, V|- + RenderRenderF>DATA|- VT. , AnimRender>DATAT. V|- FormatRender>DATA,/ / 333?zCCHBC,?CFC= ADATA/ E1 ,/ 333?DhC?DhCC(BDC?z?mDATA 1 @T3 / 333???? ???? A??@PA Aj?c3>}GCHB? A,  B? #<CzzDATAT3 H44 1 333?@̌AR|B1@lA A@CC #<@DATAT44 GT3 333?/9DATA5 W6 * $" ! l" DATA6 WF 5 " " l" ! G@? JL - -G Hh~ @ |D 7 4? DATA7 Vt8 OutputRender>DATAt8 VL9 7 RenderRender>DATAL9 V$: t8 AnimRender0>DATA$: V: L9 FormatRenderH>DATA: V; $: PreviewMaterial>DATA; V< : MaterialMaterial>DATA< V= ; ShadersMaterial0>DATA= V\> < TextureMaterialH>DATA\> V4? = Map InputMaterialD>DATA4? V\> Map ToMaterial`>DATA @ EA 333?lCqhCC~qLmCC(BDC?z?hyDATA A @dC @ 333?lJ>H!?)xu?i6>Pbܗ=(?^L?a?滎z?J>#xu?ܗ=Hi6>(? ?Pb^L?\FAA?4[?[!?@jG>gb>Pb>4Im>k&?]M^L<0@AzA=>Kc<2֍7&> ?:x¸A1vB,jB~@G@? JLJ>H!?)xu?i6>Pbܗ=(?^L?a?滎z?@?$$OA,  B?=Ch?j(4?t'>SSdDATAdC D|D A 333?lzC AzC A #< #<`jFzD OBDATAT|D GdC 333?l;SAVE FILE/usr/home/intrr/blender/blend/untitled.blendDATAF WL 6 ! D# # " U.=z=o?- -GH SF dK DATA F @DI 333?\???h?j(4?t'>????hj(4t'?U.=z=o??OA,  B?=Ch?j(4?t'>dDATADI ELJ F 333?\DdC>9C,DeCC(BDC?z?DATALJ DdK DI 333?\zC AzC A #< #<`jFzD OBDATATdK GLJ 333?\ SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATAL WS F # $ " # e?8?AHM    SM LR DATA M @,P 333?,L?В ?K?ȳ>?M?K?<ȳ>T5L?В ?ZI? @μ@?ƾ\?lU В (??3>>]`b4AAVl>K?x<4쓾S>>3ApןAAA)@e?8?AHML?В ?K?ȳ>?L?ՙξAE;OA,  B?=Ch?j(4?t'>dDATA,P E4Q M 333?,DdC>9C,DeCC(BDC?z?DATA4Q DLR ,P 333?,zC AzC A #< #<`jFzD OBDATATLR G4Q 333?, SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATAS WL D# $" $ # (.=^=o?    ST 4Y DATA T @W 333??3?3^I2(o(4?? 3?3^=i(4J2(A?(.=0n;^=ꉖW5jOT{:?OA2 5AC^=k(4J2(A?(.=^=o??3?3^I2(o(4?5?5OA,  B?=C^j(4?J2( Z ZdDATAW EX T 333?DdC>9C,DeCC(BDC?z?DATAX D4Y W 333?zC AzC A #< #<`jFzD OBDATAT4Y GX 333? SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendSRdZ S SR4-SequenceT[ l^ ^ c c v | 5DATAT[ T[ DATA[ T[ T[ DATA[ T,\ [ DATA,\ Tt\ [ DATAt\ T\ ,\ DATA\ T] t\ DATA] TL] \ DATAL] T] ] DATA] T] L] \DATA] T$^ ] \DATA$^ Tl^ ] \DATAl^ T$^ DATA^ U^ [ [ DATA^ UD_ ^ T[ ,\ DATAD_ U_ ^ T[ t\ DATA_ U_ D_ ,\ \ DATA_ U$` _ t\ \ DATA$` Ul` _ [ ] DATAl` U` $` [ L] DATA` U` l` ] L] DATA` UDa ` t\ ] DATADa Ua ` ] ] DATAa Ua Da L] ] DATAa Ub a \ ] DATAb Udb a ] ] DATAdb Ub b ] $^ DATAb Ub db ] $^ DATAb UDATAe Vlf d RenderRenderF>DATAlf VDg e AnimRender>DATADg Vlf FormatRender>DATAh E$i 333?uDhC&ԓDhCC(BDC?z?DATAT$i Gh 333?u/9DATAj Wk c ] [ [ L] DATAk Wo?[  [P l o DATAl Fdm 333?}|zCAzCAPP A@FB= A DATA dm @o l 333?}|????????8=i>o?fffAD&@??fffA,  B? #<CDATATo Gdm 333?}|AVE TARGA/t1.blend9DATAo?]]]]S ,r Tu DATA,r Fs 333? zCAzCA1||1 A@FB= A DATA s @Tu ,r 333? ????????8=H>o?fffA*@??fffA,  B? #<C>>DATATTu Gs 333? AVE TARGA/t1.blend9DATAv Wo?]]wx8w 4{ DATAw Dx 333?ሜB̽̌?B̽̌?88 #< #<`jFzD SQB̽̌?DATA x @4{ w 333?ሜ????????8=>o?fffA@??fffA,  B? #<CzzDATAT4{ Gx 333?ሜOAD FILE/9SC(| >SCScenetageain, ڑAΰ1ԃ edd??< d@dd??Z@??//backbuf/tmp/ballonhill.avi//ftype@&#@^@&^#DDATA 8  DATA 84 : DATA4 8 ܉ DATA 8 4 ., DATA 8 : DATA(ԃ 7,d'=A@OB, 5 OBCameraamera.001 u Ma4A???{l?oc)@??LJ>z<5h?lK >S5L?GH^][I?u Ma4A??????!FI2g1?/ج?bDA5?d??)d??>)d????OB 5܉ , OBGroundT']????????']?????LJ>z<+h?eK >Z5L?FH_][I?%c/$#B?Dd?? #=?>=?@???DATATOB܉ 5  OBLamp g @???????? g @??????PUPM?? Ag@ ?DOBd?? #=?>=@???OB 5 ܉ OBSphere  $:c@E7_q????????:c@E7_q?????LJ>z<3h?mK >S5L?IH]]\I?&7@mA?DOBd?? #=?>=t ?@???DATA$DATA DATAt OB 5 OBSphere.001< " " LhĞAJ0ڑAΰ1????????hĞAJ0????Aڑΰ1B?LJ>z<7h?iK >Q5L?FHc]YI?sFMAWB?DOBd?? #=?>= x ?@???DATALDATA  DATAx inME2MEPlane.001LL\% L !g1F^e9BB@ADATA\%DATAL /!An B]AejAn ]AM`n ]HQ{n B]w 4n $3q٨xAB ]ARu46n Bg6;pg>'ӂ."v><6I>G&| hpANT'@7%shcAٯ/@([0cJY^'cWA* dqkAFAÂ?C'sFm ?LEwA]Wd^|A|AAd{b}(WAڪbzY8WX~R$ B>NW&w95#K6@vxRz}AffvqIb}AnA@p|vƒAnn7Aϫr}J0s֗HaIi\2s?>nA AWy` A @rxn9@yB+txtm>@#ݯ?l_A=HAdmmap3pFP B g$zzAEaqm>A~VJ@ڔgkqvA ʔq BXUL|e8AAAN?:aeUtAAN~@[$*o@A?B~B@YD ? hnAA A@ddzq)A@2AP `s,A-9Av|@;};A#?A O{ϹAA@?Ji(ApA2ABsuvA gGPA!aA^AAR$[LANA0W{8m_|@@PWA0 f~dA( q@w/W\+n7n%AQ#AyuA0 !@b/%fao O -Ht9§ nW+Gw8“8 p~A^-(wy°:JR|9{k8x!k* x W3L_AY9á"0k&@w?un¦@yfO>@ᣙ 9XAA{@AASAAf%t@Aq.? h@uA:*?$!tnLAg :A\qpP@{ǵR9A{lް=q)A A9@ACtWA{@lt]sL(XBxr&f{ɋBGo~Uv"@z C#-t+} ¹N{kBDL Y޺=j5hLP+tv]@k@-sTE?kt9 q5j|Ÿc[$pz蚏4n s-@T\gXgdGe3@cfBYbo9aC P41KyV=Z\ ^q{T<\vd[ L0n$b 5y"*|gB޾!hCZxf3õ@HZ.nXVwˤ on8" c qjC.n" ¯(tv#iq Ru9|I6jlA|Ew?~ɆkBA M]@P c71Aʸ>l2{IA fAW\{"@A.AaOb@$j5EF@L[>A˭$AdMi@+ FyulH@WLYW@ 倏n@WUh@r BQkS@@1Q֭b 5AHO"[pA콏 h?5A z@{MfO *ASur@*eu@@z `anAZ30Alf%Wli^@'Y%=oS pAa*UkAQ{*AeTB@A* x/AmuOKA-1o/AaAP*qA07ZclAAU^*'AvdFA(sA~#Ay~A֔u ADWkA˼s9AW~xANQo=A xAKAvA,jZ}A,FA@hQ{A\A9Ab"uċA=A)ATwvuATOAS2@ɷ{rAJA@NqԄATA @}WSAC@r&A25r:yiA⃈@@#ggA|@f"HAMqD/4AA5@ &XnI@Uo@{?Di.y@AbWAw@xh@GCA5> g$> C:A,2&_KKz@@^ |e:@<}A:3~]m >(~@=DzPaF@Aܥ=?jM@A݉]n$>KСAקǶa%>yAFAb@_̬$;o8AAg@АWt0AA%D?}=t@EIAd?J|FpAgA@.%pLn >3A׮nnk@?uBĂ>i4>{ȅAi4Dqt[ DA )o߱I2A| g"L B vi<"oAA_?ƒdsA$"$f+RAQ@Rly^A8$5Au*Q- 1#AOx)Uv@ {UǐkA}"e@\ʐWb*t\"A)B~InEALʱq* NqAEkϖsf8AfU8p| B}>R}4OEQA&exSzA3~-uFQb7 B3Y ryA+A@/pfAAJ@ʼ.lڗAAES@[)ekAhAZ@IzċAA)AܲxLAbAÀotA=uBK*AjAD'AK!HAbDmrA)AB#l|!A:gAA{|ArJ@,{yAe@J8cm0A (P@|~`*uA@ĺxjoA=w gϙۃw1kix|Sr |j lzxLx+ZF_ܢ,rKDz>x©;it{zAÄ@d_A{5)AS WJAHAG{AWA Az?AAg^@~xŘAŗA@l iAJGV^zAbeŔAY4˭r٤~[0A"<{4ԢDMARzIo@z;Sp%C[Z@䰫Ū^FSA|M\bAHP_e9AEIA0@l4/A@2@L7lgؖA@9 A*7"ev5AJA.@ٞyAAA A=zOAV_A;en*dAU {A,,t̘A4W=[A~a{/A/@2V:ASCA6KxM@Z|ՅGDZ@Y@LI>dAA@GQEA#Vz?cuc;H RqBMP1A-(l{; "* &fV`qwa\ɍKuIn\3X\dϪFV\T-?l{YY+8rNjR'u,mwa~(NUK_bTkB{@q >}LX@<ې&okAQ.Ax7~:(A}@H6,A %vwl@X@Ukv@9A92هjx&`)A8 f%Ey|@Z>OB>e@ s&vqfAqvAnAy AnrAlCA!j.HF\*{DATA * \e@fzoop ef@[\QTUWXZ Z _` U  b d d ij `ln qtuw  iy yb}u@  @}  @ @  _X  w  qnWjQ@ P >Q >W P:j:n P? 8 O 5q 5w O0 0 O7 . N + + N& & N- $ M ! ! M  M# L L  LX _@K@ K@  K@" J J!!J  ' I &&I% % I"H %%H) ) H( , G ))G++G* 1 F 00@F/} / F,(E~@ /~@/~}@E{~@3u{@ 3{y@ E|{@2b| 6xi Dvx 3yv@3vu@Drv5wr 5rqDsr4ts ;ml Ckm :nk:k jCg k9` g 9g dCh g6i h2c bBa c@ 9d a9a `B] a@<U ] <] Z B^ ]@_ ^@YXAVY <ZV<VUARV>WR>RQASR=TS =S[ AYS\Y^e@ Bc^@2fc@6hoCmh;pm4sz Dxs6ox2|fE|(, F1* G,(H" I'  J"@K@e@\L#M$- N.7 O8?  P @ ME2MESphereK̨̨ D *P~/?(???DATAbDATAHD /*?}/?P?!?@ 4?\=9Ⱦ!?-y>>9衿!?~/?=9Ⱦ!?{)@>9lP?!?, @\=9JC>!3y>`#P!A 4?bƶP!, @bJC>!{)@`#l?!~/?{r/??!???p6lsBk!?vZ=?5l^V>]V>?z>!JCt?!?_?p6l'?3V>?~/?lJCU>?}/?l&y?PZ=?JCBk"? @5l?&y=V>? @JC?^V>_V>?%@!JCg(?r}2o?y'(?y}??ysT?2(>;Ks}O@Q=T2(>Ŵs(y}??Es(r}2o?E'T2(3 %@Ŵg|O397@T?2(3 %@;Kg&y?=V>QZ=?X^V`V>~>[޶t3V>~/?^V^V>%@[޶g&y? @X?U>?/?JCBk>#yZ=?!??s!a?'Bk>" @?DATA@ *P        @@@ @!"@#$@ %& !&' "'( #() $)%  )$  %)  $%@(#  )(  #)'"@ (' "(@&! '& !'  % @ &%  & @ $@ $ ##@"@"@!!@  @ @@@@@ @@    @  @  @ @   ME2TLMESphere.001@tAtAq l:*P~/?(???DATA* DATAHl:/*?}/?P?!?@ 4?\=9Ⱦ!?-y>>9衿!?~/?=9Ⱦ!?{)@>9lP?!?, @\=9JC>!3y>`#P!A 4?bƶP!, @bJC>!{)@`#l?!~/?{r/??!???p6lsBk!?vZ=?5l^V>]V>?z>!JCt?!?_?p6l'?3V>?~/?lJCU>?}/?l&y?PZ=?JCBk"? @5l?&y=V>? @JC?^V>_V>?%@!JCg(?r}2o?y'(?y}??ysT?2(>;Ks}O@Q=T2(>Ŵs(y}??Es(r}2o?E'T2(3 %@Ŵg|O397@T?2(3 %@;Kg&y?=V>QZ=?X^V`V>~>[޶t3V>~/?^V^V>%@[޶g&y? @X?U>?/?JCBk>#yZ=?!??s!a?'Bk>" @?DATA@q *P        @@@ @!"@#$@ %& !&' "'( #() $)%  )$  %)  $%@(#  )(  #)'"@ (' "(@&! '& !'  % @ &%  & @ $@ $ ##@"@"@!!@  @ @@@@@ @@    @  @  @ @   MA8b!* MABallL?9??????????L????2 ?????@?=?=?MA8!* bMAGround?L????????????L????2 ?????@?=?=?MA8* !MAKeyedBall?o{s???????????L????2 ?????@?=?=?CAl CACameraamera.001=B?A B?LA LASpot????Ac:1B???AcB4BX?F@IPP< IPObIpo$T{ OBDATAP$)|=L OBhDATAP|=)T{ $ܟ OBĞADATAPT{ )|=D OBJ0DATA,L %*h?h"AhAdAZQB*jMB/ktB*⣈B cBOBVҾdаBy[@ ͽBoABoA%BoADATA,ܟ %̑!ĞA?ĞA`'AĞAADAACA[)B8;AMB{tBBn G֑BBjbB1/BIBI?BIDATA,D %0 J0?J0w$AJ0AzXA*H'j BbMBtB9O TB B0B&vBwg솽B;B;B;WO 6WOWorldg=pb>>===?A@pATXd TXFollowTerrain<    @KDATA<  FREEDATA ̉ < NDATẢ  ܩ DATA \ ̉ , DATA\   | (o FlDATA  \ L?DATA 4 ܪ +DATA4 | < +DATA| ċ 4 -DATAċ  | +DATA T ċ \ DATAT  >DATA  T ,DATA , .DATA, t l ,DATAt  , ̭ -DATA  t , DATA L \>DATAL   | 3DATA ܎ L /DATA܎ $ D $DATA$ l ܎ =DATAl  $ DATA  l ,DATA D DATAD   *DATA Ԑ D |DATAԐ  4 DATA d Ԑ CDATAd   DATA  d DATA < L DATA<  @DATA ̒ < DATA̒   @DATA \ ̒ \DATA\   DATA  \ ܲ ]DATA 4 FREEDATA4 | l 'FREEDATA| Ĕ 4 ij ce.nDATAĔ  |  FREEDATA T Ĕ d FREEDATAT  oFREEDATA  T (FREEDATA ,  QFREEDATA, t FREEDATAt  , Ե &DATA  t , FREEDATA L | FREEDATAL   DATA ܗ L ;DATAܗ $ \ ;DATA$ l ܗ ̷ $DATAl  $  DATA  l T DATA D  Y = DATAD  4 DATA ԙ D $ DATAԙ  \ $DATA d ԙ #REEDATAd   FREEDATA  d T FREEDATA < FREEDATA<  :DATA ̛ <  :DATA̛  ԢDATA \ ̛ d DATA\   x:DATA  \ lDATA 4 :DATA4 | t DATA| ĝ 4 ,  exiDATAĝ  | d x DATA T ĝ x DATAT  DATA  T )DATA , T DATA, t DATAt  , ̼ 'DATA  t $ 6DATA L DATAL   Ľ 1DATA ܠ L , /DATAܠ $ XDATA$ l ܠ $ -DATAl  $ -DATA  l DATA D < DATAD  DATA Ԣ D DATAԢ  4 DATA d Ԣ :FREEDATAd   :FREEDATA  d d :FREEDATA < :FREEDATA<  D ]DATA ̤ < DATA̤  DATA \ ̤  DATA\   d DATA  \ !FREEDATA 4  RDATA4 | $DATA| Ħ 4 DATAĦ  | !FREEDATA T Ħ 4 !FREEDATAT  !FREEDATA  T DATA , , DATA, t t DATAt  , DATA  t  FREEDATA  d NDATA # Follow TerrainDATAN#DATA ܩ # by Harkyman aka Roland HessDATA, # rolandhess@comcast.net1%DATA,| # license: Do whatever you want with it.DATAL?#DrDATA,ܪ # This Script will lock the linked object'sDATA,< # z-value to the surface of the mesh calledDATA0 # 'Ground', allowing you to move your objectsDATA, # in x and y space and have them follow theDATA\ # contours of the terrain. DATA>#naDATA0 # The script uses the mesh of Ground, so youDATA0 # can use irregular shapes like mountainsides,DATA0l # stairsteps, etc. It uses the Object CenterDATA0̭ # for the object that follows the terrain, soDATA, # place it appropriately.DATA\>#apDATA4| # Currently, the script only works on an unrotated,DATA0 # unscaled Ground object, so hit Cntl-A on yourDATA(D # ground object before you use this.owDATA=#coDATADATA,import BlenderDATA from Blender import NMeshDATA from math import *DATA| DATA4 def sideofline(PA,PB,PP):%DATAD  return ((PA[0]-PP[0])*(PB[1]-PP[1]))-((PB[0]-PP[0])*(PA[1]-PP[1]))DATA ex DATA def InsideQuad(p0,p1,p2,p3,p4):DATA L  if (sideofline(p1,p3,p0)>=0):_DATAD  return (sideofline(p1,p4,p0)<=0) and (sideofline(p4,p3,p0)<=0) DATA else:DATAD  return (sideofline(p1,p2,p0)>=0) and (sideofline(p2,p3,p0)>=0)DATA\ DATA def InsideTri(p0,p1,p2,p3):DATA`ܲ  return (sideofline(p1,p2,p0)>=0) and (sideofline(p2,p3,p0)>=0) and (sideofline(p3,p1,p0)>=0)DATA 32DATA(l def FindZ(TriangleFace,tx,ty,tz,px,py):DATAij  [A,B,C]=TriangleFace.no1yDATA  D=-((A*tx)+(B*ty)+(C*tz))DATA d  return -((A*px)+(B*py)+D)/CDATAo 32DATA, def InverseTranslate(InCoords,DeltaVec):DATAT  return [InCoords[0]+DeltaVec[0],InCoords[1]+DeltaVec[1],InCoords[2]+DeltaVec[2]]EEDATA  32DATA(Ե Ground = Blender.Object.Get ('Ground')DATA , InvVec = Ground.getLocation ()DATA| DATA bleDATA< #determine min and max bounding values of the ground objectDATA<\ #so we can ignore selected objects not even over the groundDATA(̷ GroundBounds = Ground.getBoundBox ()DATA GBminX = 0DATA TGBminY = 0DATA GBmaxX = 0DATA 4GBmaxY = 0DATA$ BmiDATA(\ for [gbx, gby, gbz] in GroundBounds: DATA$  #adjust for Ground object locationDATA  gbx = gbx + InvVec[0]DATAT  gby = gby + InvVec[1]DATA  gbz = gbz + InvVec[2]DATA  32DATA  if GBminX > gbx:EEDATAԢ GBminX = gbxDATAd  else:DATA  if GBmaxX < gbx:DATAl GBmaxX = gbxDATA  if GBminY > gby:DATAt GBminY = gbyDATA,  else:DATAd  if GBmaxY < gby:DATA GBmaxY = gbyDATA 7.DATA, #get the list of selected objects to dropDATAT DropObject = Blender.link_DATADATA(̼ #get the face list of the ground objectDATA8$ GroundMesh = Blender.NMesh.GetRawFromObject ('Ground')DATA DATA4Ľ [DropX, DropY, DropZ] = DropObject.getLocation ()DATA0, #is the object above the ground's bounding box?DATA\ if ((DropX <= GBmaxX) and (DropX >= GBminX) and (DropY >=GBminY) and (DropY <= GBmaxY)):DATA0$  #find which face the object is over - if theDATA0  #object isn't over a ground face, do nothingDATA  GroundFaces = GroundMesh.facesDATA <  for GroundFace in GroundFaces:DATA  GroundVerts = GroundFace.vDATA  if len(GroundVerts) == 4:DATA4  #check for quad facesDATA<  [x1,y1,z1] = InverseTranslate(GroundVerts[0].co,InvVec)DATA<  [x2,y2,z2] = InverseTranslate(GroundVerts[1].co,InvVec)DATA<d  [x3,y3,z3] = InverseTranslate(GroundVerts[2].co,InvVec)DATA<  [x4,y4,z4] = InverseTranslate(GroundVerts[3].co,InvVec)DATAD  p0=[DropX,DropY,0] DATA  p1=[x1,y1,0]DATA  p2=[x2,y2,0]DATA  p3=[x3,y3,0]DATAd  p4=[x4,y4,0]DATA$  if InsideQuad(p0,p1,p2,p3,p4):DATAT  DropObject.setLocation(DropX,DropY,FindZ(GroundFace,x1,y1,z1,DropX,DropY)) DATA$ else:DATA  #check for tri facesDATA$  [x1,y1,z1] = GroundVerts[0].coEDATA$4  [x2,y2,z2] = GroundVerts[1].coEDATA$  [x3,y3,z3] = GroundVerts[2].coEDATA  p0=[DropX,DropY,0] DATA,  p1=[x1,y1,0]DATAt  p2=[x2,y2,0]DATA  p3=[x3,y3,0]DATA   if InsideTri(p0,p1,p2,p3):DATAPd  DropObject.setLocation(DropX,DropY,FindZ(GroundFace,x1,y1,z1,DropX,DropY))GLOB"Xd @ DNA1L,P SDNANAME_*next*prev*first*lastxyzwxminxmaxyminymax*newid*libname[24]usflagpadid*idblock*filedataname[160]totcurvecurblocktypeshowkeypostyperttotelem*dataname[32]sliderminslidermax*refkeyelemstr[32]elemsizecurvalblock*ipo*fromtotkeyslurphactkey**scripts*flagactscripttotscript*linelenblen*nameflagsnlineslines*curl*sellcurcselc*undo_bufundo_posundo_len*compiledsizeseekdrawzoomholdclipstaclipendnetstanetendlensdrawsizehololenhololen1scriptlink*anim*ibuf*mipmap[10]oklastframelastqualitytpageflagtotbindxrepyreptwstatwendbindcode*repbind*packedfilelastupdateanimspeedreserved1texcomaptomaptonegblendtype*object*texprojxprojyprojzmappingofs[3]size[3]texflagcolormodelrgbkdef_varcolfacnorfacvarfac*handle*pname*stnamesstypesvars*varstr*result*cfradata[32](*doit)()(*callback)()versionaipotypedata[16]*ima*cube[6]imat[4][4]stypenotlaycuberesdepthrecalclastsizepad1noisesizeturbulbrightcontrastrfacgfacbfacfiltersizenoisedepthnoisetypeimaflagcropxmincropymincropxmaxcropymaxxrepeatyrepeatextendframesoffsetsfrafie_ima*nor*plugin*coba*envfradur[4][2]modetotexenergydistspotsizespotblendhaintatt1att2bufsizesampshadspotsizebiassoftray_sampray_softtexactshadhalostep*mtex[8]layspecrspecgspecbmirrmirgmirbambrambbambgambemitangspectraray_mirroralpharefspeczoffsaddtranslucencyfresnel_mirfresnel_traray_depthray_depth_traharseed1seed2mode2flarecstarclinecringchasizeflaresizesubsizeflareboostrgbselpr_typeseptexpr_backpr_lampdiff_shaderspec_shaderroughnessrefracparam[4]*renfrictionfhreflectfhdistxyfrictdynamodepad2name[256]scale*bbi1j1k1i2j2k2selcolexpxexpyexpzradrad2smaxrad2*mat*imatelemsdisp**mattotcolloc[3]rot[3]wiresizerendersizethreshvec[3][3]alfas[3][2]h1h2f1f2f3hidevec[4]s[2]mat_nrpntsupntsvresoluresolvorderuordervflaguflagv*knotsu*knotsv*bp*beztnurb*bevobj*textoncurve*path*keybev*orcopathlenbevresolwidthext1ext2spacemodespacinglinedistshearfsizexofyof*strfamily[24]*vfontmaxrcttotrctadrcodevartypetotvertipoextrapbitmaskv1v2v3v4punoedcode*tpageuv[4][2]col[4]transptiledef_nrweight*dwtotweightco[3]no[3]co[2]effect*mface*dface*tface*mvert*dvert*mcol*msticky*texcomesh*oc*sumohandletotfacesmoothreshsubdivsubdivrsubdivdonereserved2cubemapsizertfpntswtypeutypevtypew*defpartypepar1par2par3parsubstr[32]*pardata*parent*track*action*pose*activeconconstraintChannelsnetworkdefbasedloc[3]orig[3]dsize[3]drot[3]quat[4]dquat[4]obmat[4][4]parentinv[4][4]colbitstransflagipoflagtrackflagupflagipowinscaflagscavisflagboundtypedupondupoffdupstadupendsfctimemassdampinginertiaformfactordummy_1rdampingsizefacdtdtxactcolpropsensorscontrollersactuatorsbbsize[3]dfrasactdefgameflaggameflag2anisotropicFriction[3]constraintsnlastripsmistypehorrhorghorbhorkzenrzengzenbzenkambkfastcolexposuregravityactivityBoxRadiusskytypemisimiststamistdistmisthistarrstargstarbstarkstarsizestarmindiststardiststarcolnoisedofstadofenddofmindofmaxhemiresmaxiterdrawtypesubshootpsubshootenodelimmaxsublamppamapamielmaelmimaxnodeconvergenceradfacgammasxsy*lpFormat*lpParmscbFormatcbParmsfccTypefccHandlerdwKeyFrameEverydwQualitydwBytesPerSeconddwFlagsdwInterleaveEveryavicodecname[128]*cdParms*padcdSizeqtcodecname[128]mixratemainpad[3]*avicodecdata*qtcodecdatacfraefraimagesframaptoframelenblurfacedgeRedgeGedgeBfullscreenxplayyplayfreqplayattribrt1rt2stereomodemaximsizexschyschxaspyaspxpartsypartssafetyborderwinposplanesimtypebufflagqualityscemodealphamodedogammaosafrs_secedgeintsame_mat_reduxpad_3[2]postmulpostgammapostaddpostigammabackbuf[160]pic[160]ftype[160]col[3]pad3*camera*world*setbase*basact*groupcursor[3]*fcam*ed*radioframingaudiozoomblendximyim*rectspacetypeblockscale*areablockhandler[8]viewmat[4][4]viewinv[4][4]persmat[4][4]persinv[4][4]winmat1[4][4]viewmat1[4][4]viewquat[4]perspview*bgpic*localvdlocalviewlayactscenelockaroundcamzoomgridnearfarmxmymxomyogridlinesviewbutmodeselectpad4pad5pad6verthormaskmin[2]max[2]minzoommaxzoomscrollkeeptotkeepaspectkeepzoomoldwinxoldwinyrowbutv2d*editipoipokeytotipopinbutofschannelmenunrlockmedian[3]cursenscuractaligntabomainbmainbo*lockpointexnrtexfromshowgrouprectxrectycurymodeltypescriptblockre_aligntab[7]*filelisttotfiletitle[24]dir[160]file[80]ofssortmaxnamelencollums*libfiledataretvalmenuact(*returnfunc)()*menupoopsvisiflag*imageimanrcurtile*texttopviewlinesfont_idlheightleftshowlinenrspix_per_linetxtscrolltxtbar*scripttitle[28]fasesubfasemouse_move_redrawimafasedirslidirsli_linesdirsli_sxdirsli_eydirsli_exdirsli_himaslifileselmenuitemimasli_sximasli_eyimasli_eximasli_hdssxdssydsexdseydesxdesydeexdeeyfssxfssyfsexfseydsdhfsdhfesxfesyfeexfeeyinfsxinfsyinfexinfeydnsxdnsydnwdnhfnsxfnsyfnwfnhfole[128]dor[128]file[128]dir[128]*firstdir*firstfiletopdirtotaldirshilitetopfiletotalfilesimage_sliderslider_heightslider_spacetopimatotalimacurimaxcurimay*first_sel_ima*hilite_imatotal_selectedima_redraw*cmap*arg1neutral[4]action[4]setting[4]setting1[4]setting2[4]num[4]textfield[4]popup[4]text[4]text_hi[4]menu_back[4]menu_item[4]menu_hilite[4]menu_text[4]menu_text_hi[4]but_drawtypeback[4]header[4]panel[4]shade1[4]shade2[4]hilite[4]grid[4]wire[4]select[4]active[4]transform[4]vertex[4]vertex_select[4]edge[4]edge_select[4]face[4]face_select[4]vertex_sizetuitbutstv3dtfiletipotinfotsndtacttnlatseqtimatimaseltexttoopsspec[4]dupflagsavetimetempdir[160]fontdir[160]renderdir[160]textudir[160]plugtexdir[160]plugseqdir[160]pythondir[160]sounddir[160]versionsvrmlflaggameflagswheellinescrolluiflaglanguageuserprefconsole_bufferconsole_outmixbufsizefontsizeencodingtransoptsmenuthreshold1menuthreshold2fontname[256]themesundostepspad0tb_leftmousetb_rightmouselight[3]vertbaseedgebaseareabase*scenestartxendxstartyendysizexsizeyscenenrscreennrfullmainwinwinakt*newvvec*v1*v2panelname[64]tabname[64]ofsxofsyactivecontrolold_ofsxold_ofsy*paneltab*v3*v4*fullwinmat[4][4]headrctwinrctheadwinwinheadertypebutspacetypewinxwinyhead_swaphead_equalwin_swapwin_equalheadbutlenheadbutofscursorspacedatauiblockspanels*curscreendisplaymodefileflagsglobalfname[40]*se1*se2*se3nrdone*stripdatadir[80]orxoryname[80]*newseqstartstartofsendofsstartstillendstillmachinestartdispenddispmulhandsize*strip*curelemfacf0facf1*seq1*seq2*seq3seqbase*soundlevelpancurpos*seqbasepmetastackbuttypestaendlifetimetotpartseednormfacobfacrandfactexfacrandlifeforce[3]dampnablavectsizedefvec[3]mult[4]life[4]child[4]mat[4]texmapcurmultstaticstep*keysheightnarrowspeedminfactimeoffs*obpremat[4][4]postmat[4][4]vec[3]faclenoalphaoeff[2]iterlastfralimbbaseeff[3]effg[3]effn[3]memslowtotytotxxyconstrainttotdefdef_scrolllimb_scrolldxdy*idlinkotypedataold*poin*oldpoinresetdistlastval*makeyqualqual2targetName[32]toggleName[32]value[32]maxvalue[32]materialName[32]damptimeranglerangeaxisdelaypropname[32]matname[32]axisflag*fromObjectsubject[32]body[32]pulsefreqtotlinks**linksinvertfreq2str[128]*mynewinputstotslinks**slinksvalvalotime*actblendinprioritystridelengthstrideaxisreserved3sndnrmakecopycopymadepad[1]trackvolume*melinVelocity[3]localflagforceloc[3]forcerot[3]linearvelocity[3]angularvelocity[3]addedlinearvelocity[3]anotherpad[4]butstabutendminmaxvisifacminloc[3]maxloc[3]minrot[3]maxrot[3]distributionint_arg_1int_arg_2float_arg_1float_arg_2toPropName[32]*toObjectbodyTypefilename[64]loadaniname[64]goaccellerationmaxspeedmaxrotspeedmaxtiltspeedrotdamptiltdampspeeddamp*sample*stream*newpackedfile*snd_soundpanningattenuationpitchmin_gainmax_gaindistancestreamlenloopstartloopendchannelshighpriopad[10]gaindopplerfactordopplervelocitynumsoundsblendernumsoundsgameengine*gkeypadfokeygobjectgkey*activechildbaserollhead[3]tail[3]parmat[4][4]defmat[4][4]irestmat[4][4]posemat[4][4]boneclassfiller1filler2filler3bonebasechainbaseres1res2res3chanbase*achan*pchanactnrname[30]enforceoffset[3]orient[3]roll[3]*tartoleranceiterationssubtarget[32]cacheeff[3]cachemat[4][4]lockflagfollowflagzminzmaxactstartactendstridelenrepeatblendoutTYPEcharucharshortushortintlongulongfloatdoublevoidLinkListBasevec2svec2ivec2fvec2dvec3ivec3fvec3dvec4ivec4fvec4drctirctfIDLibraryFileDataIpoKeyBlockKeyScriptLinkTextLineTextPackedFileCameraImageanimImBufMTexObjectTexPluginTexCBDataColorBandEnvMapLampWaveMaterialVFontVFontDataMetaElemBoundBoxMetaBallBezTripleBPointNurbCurvePathIpoCurveMFaceMFaceIntTFaceMDeformWeightBoneMDeformVertMVertMColMStickyMeshOcInfoLatticebDeformGroupbActionbPosebConstraintChannelWorldRadioBaseAviCodecDataQuicktimeCodecDataAudioDataRenderDataGameFramingSceneGroupFreeCameraBGpicView3DSpaceLinkScrAreaView2DSpaceInfoSpaceIpoSpaceButsSpaceSeqSpaceFiledirentryBlendHandleSpaceOopsSpaceImageSpaceNlaSpaceTextSpaceScriptScriptSpaceImaSelImaDirOneSelectableImaThemeUIThemeSpacebThemeSolidLightUserDefbScreenScrVertScrEdgePanelFileGlobalStripElemStripPluginSeqSequencebSoundEditingEffectBuildEffPartEffParticleWaveEffDeformLimbIkaOopsbPropertybNearSensorbMouseSensorbTouchSensorbKeyboardSensorbPropertySensorbCollisionSensorbRadarSensorbRandomSensorbRaySensorbMessageSensorbSensorbControllerbExpressionContbPythonContbActuatorbAddObjectActuatorbActionActuatorbSoundActuatorbCDActuatorbEditObjectActuatorbSceneActuatorbPropertyActuatorbObjectActuatorbIpoActuatorbCameraActuatorbConstraintActuatorbGroupActuatorbRandomActuatorbMessageActuatorbGameActuatorbVisibilityActuatorbSamplebSoundListenerSpaceSoundGroupKeyObjectKeyGroupObjectbArmaturebPoseChannelbActionChannelSpaceActionbConstraintbKinematicConstraintbTrackToConstraintbRotateLikeConstraintbLocateLikeConstraintbActionConstraintbLockTrackConstraintbFollowPathConstraintbRotationConstraintbActionStripTLEN  0PDtdl(PP48@d<0P<  L,@,((D($ $x$Th @Px8d@l 8(,@0,HhH,(lDLP< <@Lx0848l@0pP<`|,,,8,8STRC                    !" #$%& '()*+,-./0123 456 789:;<=> ?!@A5 "BCDEFGHIJK(L#$M%N%OPQRSTUVWXYZ![\]^&_`ab'c(defghijklmnopqrst) uvwxy z{|}~ *mno+*,'c##DEPQ(#2s(#)+,-lmnopDE&(L.(/Clmno_`&(/L01![2223243  (/ k j   5 6777 !"#$6%5&8&3 ' '(')(9*+/ ,- j k. /012273456789:;0<:::6%5&=>?@ABC  D&;EFGHIJ<EFGHIJ= KLMNO>PQ?@>RS^ATUBmnoCVD"3 W (+/ X Y ZA[@\B]C^D_-E` aAbk j cdef ^ghiF jklm6n(+GGG 'Oopqrs t'u'v(9*3HwIx Jy z W {  |/ }~j  L     aM  K+l(&LLMMM'cN  O  PQ8NO@     RS'K S!# "M#T$%U& 'L( aR)QmP*LV #(d89@+,-./W-XX01Y23456789:;<'V=W>?@ABCHDEFi%GHIJKLMNOPZQRSTUVWXYZ[\]XXX01Y23[XX01Y23\XX01Y23^Z_ ` a()bcdefgh]XX01Y23ijklZ_mfcn opqrst/uvwxy^ XX01Y23Z_m+_XX01Y23`z{|}~a b XX01Y23Z_ c ocXX01Y23Z_#+c89gd XX01Y23fgZ_eXX01Y23 5ff XX0Y2g5fhQXX01Y2GHiijj%  klmmm klllllll l l l l llnMo! !"#$%&'()* +,-./n0p 1 2 3S456789:;<=>?qqqq@ ArrrqBqCsssDEFG9:HIJKsLYYYqBqCqMqNpOP>QRSTU0VWXYZ[\]^_ ` a bt cd efug%NuhuiujPkv vv2lumnopw q uvy z|} ~ x%xxxr 2stuvwxyz{|v}u~(S4$Mwxxx yz   {{{|||2}}}*~570 'opqr 2o ('upqrn        /     ' '  O' H ^g y 'D S4' '   }  '  T$     '  'U y ![! ( !"#$5%&'()*+,-./XX0Y2Z_y89g 0opqr'u'v( }~j 1' 2T 3 45????u 6 789Q }j:;<=>?@A B CDEF   j ^I G( z ^H GHI XX0Y2Z_Hwc^JgJJJ(K (^KLMNO'PQRST^U'P^gS'P^S'P^S'PsHS'PVS'PW   XY^(HsZ[\]^ENDB