BLENDER_v240REND SceneSRtmSR1-Animation'%WWx H DATA'%nX'%DATAX'%nk'%DATAknpkX'%DATApkn8 kDATA8 np pkDATAp n` 8 DATA` nȩ p DATAȩ nЂW` DATAЂWnWȩ DATAWn@WЂWDATA@WnWWDATAWnW@WDATAWnWWDATAWnWDATAWo}WkX'%DATA}WoX}WWpk'%DATAX}Wo{W}Wp X'%DATA{WoHRYX}Wk` DATAHRYoQY{W` p DATAQYoHOYHRYȩ 8 DATAHOYoNYQYЂW` DATANYoHOYЂWȩ DATAoNY` 8 DATAoW'%DATAo@W8 DATAo@WpkDATAo@WWDATAoWȩ DATAo`Wp DATA`oWЂWDATAox`WWDATAxo8WWDATA8oxW@WDATAo8W8 DATAoWWDATAoxWp DATAxoWWDATA q '%W@WpkOXX  H DATA p Link and MaterialsEditing>DATA p  MeshEditingF>DATA p@  Anim settingsObject>DATA@ p  DrawObjectF>DATA p0 @ ConstraintsObject>DATA0 pX  EffectsObjectDATAX p 0 HooksObjectF>@ DATA p X Particle InteractionObject> DATA pг  SoftbodyObject> DATAг p  OutputRender>DATA p г RenderRenderF>DATA pH  AnimRender>DATAH p FormatRender>DATAX^X 333?ܡ@DhC7`DhCC(BDC?z?DATATX `X333?ܡ/9DATA qh  p X'%k` DATAh q  WWЂWȩ ==o? WS p DATA pp Transform PropertiesView3d>DATAp p 3D Viewport propertiesView3d>"DATA YWS333?d????????==o?*A$A?==o??????*A84Y B??=C ????DATATWS` 333?d/9DATA qH h ȩ ЂW` 8 ??PףP S  DATA pTransform PropertiesIpo!>DATA( ]0333?4zC̽̌?zC@ #< #<`jFzD OBzC̽̌?DATA0ah  333?4CC|||??l|DATAh x0 333?4zCCHBC|||?CFC= ADATAxxd h  333?4Y =rttDATA cf x 333?4?zDzDBCl||ll|zDzD=HB DATAf (   333?4BCBCl|llFzD #<HB DATA( YSf 333?4??? ???? A???PA A!O?j?}GCHB? A84Y B? #<CDATATS`( 333?4/9DATAH qH  WW8 @W,y S 8 DATA p8 Link and MaterialsEditing>DATA8 p MeshEditingF>DATAy f 333?lzCB{ µCB,?BFB= ADATA Xy  333?lzCCHBC$?CFC= ADATAX^S 333?l#DhC`DpJgChCC(BDC?z?DATATS`X333?l/9DATAH qH Wp WW} ?=o?XX DATAp Transform PropertiesView3d>DATA p3D Viewport propertiesView3d>"DATAXa { 333?DDCDC ??DATA  (TDATAl(T TDXhTS84Y0 YDATA { YXX333?D????????} ?=o?f?*A?} ?=o??????*A84Y B??=C X7@X7@X7@?DATATX` { 333?D/9SRtmgSR2-Model 0EH s  DATA0nDATAnH0DATAHnDATAnHDATAnDATAnDATAn0DATA0nDATAn0|DATAn|DATAoHDATAo@0DATA@o0DATAo@DATAoHDATAHoDATAoKH0HDATAKoPK0DATAPKoXJK0DATAXJoIPKDATAIoIXJ0DATAIoHIDATAHo8HIDATA8HoEHDATAEo8HDATAH q 0?@PףYBeW` ІYDATA` p PreviewLamp>DATA p ` LampLampF>DATA pب  SpotLamp>DATAب p  Texture and InputLamp>DATA p( ب Map ToLamp>ب DATA( pP  PreviewMaterial>7DATAP px ( MaterialMaterialF>7DATAx p P PreviewWorld>DATA pȣ x WorldWorldF>DATAȣ p  Mist Stars PhysicsWorld>DATA p ȣ Texture and InputWorld>DATA p@  Map ToWorld> DATA@ ph  OutputRender>DATAh p @ RenderRenderF>DATA p h AnimRender>DATA p  FormatRender>DATA p  Link and MaterialsEditing>DATA p0  MeshEditingF>DATA0 pX  Mesh ToolsEditing>DATAX p 0 Mesh Tools 1Editing>DATA p X CameraEditingF>DATA pИ  ShadersMaterial>7r DATAИ p  TextureMaterial>7DATA p И Anim settingsObject>DATA pH  DrawObjectF>DATAH pS ConstraintsObject>DATASpqH ScriptlinksScript>DATAqpLWSEffectsObjectH DATALWpMWqMap InputMaterial>7И DATAMWp LWMap ToMaterial>7И DATA p MWAnimAnim>DATA p  SoundSound>DATA p  ListenerSoundF>DATA pt  SequencerSound>DATAt phy  ArmatureEditingF>DATAhy pr t RampsMaterialF>7P DATAr pr hy Mirror TranspMaterial>7DATAr p8n r Mist / Stars / PhysicsWorld>8n DATA8n p`m r Amb OccWorld>DATA`m pl 8n Shadow and SpotLamp>DATAl pk `m HooksObjectF> DATAk pj l Particle InteractionObject>H DATAj pj k SoftbodyObject>H DATAj p(i j PreviewTexture>DATA(i p0Xj TextureTextureF>DATA0XpXX(i ColorsTextureF>(i DATAXXpPh 0XRadio RenderRadio>DATAPh pxg XXRadio ToolRadioF>DATAxg p@ZPh PaintEditing>DATA@ZpЎxg CloudsTexture>DATAЎpXX@ZStucciTexture>DATAXXp YЎBlendTexture>DATA YpYXXModifiersEditing>DATAYpІY YShapesEditing> YDATAІYpYWoodTexture>DATAY^0O333?H DhCb8‹DBhCC(BDC?z?c(mDATA0OY Y333?H ??? ???? A??@PA Aj?c3>}GCHB? A84Y B? #<CDATA aB0O333?H @̌AR|B1@lA A@CC #<@DATATB` 333?H SELECT DATABLOCKMaterial/\Fonts\Bleu.110ttfE[.DATA q~ H H0 U}DATA~ qs  0==o?}}}  t0FYPDDATAYpPDTransform PropertiesView3d,>DATAPDpYView PropertiesView3dT>"DATAxtdX# 333?~ + :?DATA X#eYt333?~ DATAYY@ X#333?~ ?3?3CZ tW??33?'3CZ?fW ??=1n;=ꉖ^A(PFx8? (A4_ ACCZ?eW ??==o??3?3CZ tW?5?5 (A84Y B??=CCZdW= 7?X<i?>g|2Q+x?>i6x?ȉ??DATA(@ ]n Y333?~ @@̌?Ý< D9ο'@ #< #<`jFzD H:c( MA@@̌?DATAn a @ 333?~ AffAEpBc= >B2 A@CC #<@Ї p DATA,Ї  SCffDATA,  Ї OB84YDATA,   OB@DXDATA,   OBr=P'YDATA,   ME@AAfDATA, p  IP@ffAH5UDATA,p  MA@AffAcDATA Yn  333?~ zCCHBCD?CFC= ADATAY_5 333?~ zCA'.Yf"C @DD A@FB= A DATA5bYY333?~ CC??D?DATAYc5 333?~ ?zDzDBC D  DzDzD=HB DATA(EY 333?~ ?zDzDt{BAC D  DFzD #<HB DATA(E^ 333?~ DdC8CnD fCC(BDC?z?DATA g0F(E 333?~  F&(&' C:\Documents and Settings\Rgis\Mes documents\Mes images\cripts\pydata\C:\Documents and Settings\Rgis\Mes documents\Mes images\DATAT0F` 333?~ SAVE TEXT FILEIN PATHC:\Creation\BlenderFiles\Pythons\Local_Blur\r\\sequence\\es/Local_Blur.pynd eDATAs q~ ?e?AHM{{{ |`X@.W@.WDATApTransform PropertiesView3d8>"<DATApView PropertiesView3dT>"DATAYn 333?s h?/!>>B->MP"Oc?A>{hy>k@ۧ?h?>P"-!C->Oc?>MA>@( ~/@??fežž&E??M?M?n?A+@ۧ@T>gc>4r6>ل?;Ag%[ןA@TA(@?e?AHMh?/!>>B->MP"Oc?A>{hy>k@ۧ?+V?%8r /Y@84Y  B??xr9;=C;&N<7?X<m?DATAXpXXRenderRenderF>DATAXp0XAnimRender>DATA0pXFormatRender>DATA@0f 333?~CA~CA?AFA= ADATA @0 333?zCCHBC ?CFC= ADATA^  333?DhC?DhCC(BDC?z?mDATA YX333???? ???? A??@PA Aj?c3>}GCHB? A84Y B? #<CDATAXa  333?@̌AR|B1@lA A@CC #<@DATAT `X333?/9DATAp qxf q HCxB0DATAxf q@bp 0G@? JLA9A9SAT{~8W `WDATA pOutputRender>DATAp RenderRender>DATApAnimRender0>DATAp85FormatRenderH>DATA85p6PreviewMaterial>DATA6p685MaterialMaterial>DATA6p76ShadersMaterial0>DATA7p86TextureMaterialD>DATA8pp97Map InputMaterial\>DATAp9pW8Map ToMaterial`>DATAWp`Wp9RampsMaterial>6DATA`WpWMirror TranspMaterialH>DATA8W^333?'ChCC+lh.CC(BDC?z?{DATAYu 8W333?'J>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?@?$$OA84Y  B?=Ch?j(4?t'>dDATA(u ]333?'zC AzC A #< #<`jFzD OBDATAT`u 333?';SAVE FILE/usr/home/intrr/blender/blend/untitled.blendDATA@bqQxf U.=k=o??9?9S?T@@`e@WDATA`eYh333?9???h?j(4?t'>????hj(4t'?U.=k=o< =F?OAAgj(4t'?U.=k=o????h?j(4?t'>??OA84Y  B??=Ch?j(4?t'>d????DATAh^Hh`e333?9DdC>9C,DeCC(BDC?z?DATA(Hh]@Wh333?9zC AzC A #< #<`jFzD OBDATAT@W`Hh333?9 SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATAQq @bȷ0e??AHM???:SDATAYW333?\@ݕ/?V~'?3F:?>T8175e?4>Z& 4?ߕ/?7F:?81X~>75e?'?T3>ne@>N@?4z?{''巄???T?y|? l4A.11A 4A*p>?Ĵkz3ڴ0>+>,4xB ֟&BĭeA(@e??AHMݕ/?V~'?3F:?>T8175e?4>Z& 4?H?N+Z#OA84Y  B??=Ch?j(4?t'>d????DATAW^i333?\@DdC>9C,DeCC(BDC?z?DATA(i]W333?\@zC AzC A #< #<`jFzD OBDATAT`i333?\@ SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendDATA qQH0ȷ&==o?:Sv!YDATAvYh333?G?3?3:-vl(4??3?3;@k(40v@?&=nn1n;=ꉖø;FWȾP{:?IXA54 AC:@k(4.v@?&==o??3?3:-vl(4?5?5IXA84Y  B??=C:j(4?.vd????DATAh^xv333?GDdC>9C,DeCC(BDC?z?DATA(x]!Yh333?GzC AzC A #< #<`jFzD OBDATAT!Y`x333?G SAVE FILE/Users/ton/Desktop/der/blend/untitled.blendSRt [m:YgSR4-Sequence XHRHW  ;UDATA n J DATA J n ;  DATA ; nxQ J DATAxQn ; DATAnxQDATAn#DATA#nhDATAhnx0 #DATAx0 npWhDATApWn`x0 DATA`nXpWdDATAXn(`dDATA(nXXDATAXn(DATAHRo8 ;  J DATA8o%HR xQDATA%o8 DATAoY%xQDATAYo@DATA@oX Y J #DATAX o0WS@h ; DATA0WSoHXX h#DATAHXo 0WSx0 #DATA oK HXpWhDATAK o pWx0 DATAoK x0 `DATAo RpW`DATA Ro8TX#DATA8ToT RXhDATAToq 8TX`DATAq o6T(DATA6oq (x0 DATAo`6T6pWXDATA`6ToHWXDATAHWo`6TX(DATA q`&  xQ%Y.YPz$YDATAPzp #YOutputRender>DATA #Yp#YPzRenderRenderF>DATA#Yp$Y #YAnimRender>DATA$Yp#YFormatRender>DATA%Y^.Y333?\YDhCGIDhCC(BDC?z?DATAT.Y`%Y333?\Y/9DATA`& q8  # J  ; hDATA8 qj`& (X8=i>o?6T(iDATA6Tf0Y333?La~CB~CB?BFB= ADATA0Y_0Y6T333?LazCAzCA  A@FB= A DATA0YY(i0Y333?La????????8=i>o?fffAD&@??fffA84Y B? #<CDATAT(i`0Y333?LaAVE TARGA/t1.blend9DATAjqȒ8 `XhpW8=H>o?eee klDATAk_333? hzCAzCA1||1 A@FB= A DATAYlk333? h????????8=H>o?fffA*@??fffA84Y B? #<CDATATl`333? hAVE TARGA/t1.blend9DATAȒq ;Ujx0 #X`8=>o?cccdȓ9UDATA(ȓ]6U333?nB̽̌?B̽̌?## #< #<`jFzD SQB̽̌?DATA6UY9Uȓ333?n????????8=>o?fffA@??fffA84Y B? #<CDATAT9U`6U333?nOAD FILE/9DATA ;UqȒ(x0 pWX8=i>o?(PSDATA(P_Q333?DtzCAzCA A@FB= A DATAQYS(P333?Dt????????8=i>o?fffAD&@??fffA84Y B? #<CDATATS`Q333?DtAVE TARGA/t1.blend9SRt:Ym [SR5-ScriptingWB h@ ȳ 0U(DATAWnaDATAan}WDATA}nW aDATAW nxN }DATAxN n L W DATA L nI xN DATAI npG  L DATApG nE I DATAE nB pG DATAB nE DATAh@ o> a}DATA> o; h@  L aDATA; o`9 > I }DATA`9 o7 ; I  L DATA7 o4 `9 pG xN DATA4 oX2 7 E  L DATAX2 o0 4 E I DATA0 o X2 E pG DATA o 0  L xN DATA o  WxN DATA o(  WB DATA( oк  B W DATAк ox ( B pG DATAx oȳ к B E DATAȳ ox I W DATA0Uq1U L a}I DATA1Uqp0UxN  L E pG 'S==o?3U2U2UDATA2Up2UTransform PropertiesView3d>DATA2Up2U3D Viewport propertiesView3d>"DATAY3U333?????????'S==o?QcA*A?'S==o??????*A84Y B??=C ????DATAT3U`333?/9DATApq(1UB E I W ??Pף X-YppDATAppTransform PropertiesIpo!>DATAx-Yd 333?Y> =DATAb@-Y333?CCx??|?DATA(@](333?zC̽̌?zC@;; #< #<`jFzD OBzC̽̌?DATA(aH @333?CC|||??l|3YpUDATA,3YpUBO`ADXDATA,pU3YBOp=A84YDATAH H( 333?zCCHBC|||?CFC= ADATAHc3 H  333??zDzDBCl||ll|zDzD=HB DATA3 H 333?BCBCl|llFzD #<HB DATAY3 333???? ???? A???PA A!O?j?}GCHB? A84Y B? #<CDATAT`333?/9DATA(qpWxN pG B OQSRS(QSDATA(pLink and MaterialsEditing>DATApؒ(MeshEditingF>DATAؒpAnim settingsObject>DATApؒDrawObjectF>DATAprConstraintsObject>DATArp`sEffectsObjectDATA`sp8trHooksObjectF>DATA8tpu`sParticle InteractionObject>DATAupu8tSoftbodyObject>DATAupvuOutputRender>DATAvpwuRenderRenderF>DATAwp(PSvAnimRender>DATA(PSpQSwFormatRender>DATAQSp(PSScriptlinksScript>DATAQS^RS333?\ChC#Dk=@P ]CC(BDC?z?DATATRS`QS333?\/9SCWSCScenetageain84YT =B B@?LAhTSLASpot ?????AB>??@ .?A4B?@@???IPPH:H5UIPMatIpo.001X@.E")i@MAIPPH5UH:IPObIpo&Y0 ľBQD0@OBDATAT&Y,({ ?$B}@OB^EK@DATAT({,US&Y ?$BcAOB&n@DATATUS,`({ ?$B=OBDATAT`,nUS ?$BAAOBADATATn,@` ?$B=OBDATAT@,ȲnY?$B @ ֧@OB [Ǜ@DATATȲ,P@Y?$B?̌?OB ?DATATP,0 Ȳ Y?$B?̌?OB?DATAT0 ,P0Y?$B?̌?OB?DATA %`_?>@jA@PAq_@8xAiE@XA}@A1@gGAb@Q B$B> @BDATA %*[?J@xAO(*@PAބ@vAt@A@AS@AcA Bo@$Bo@(CBo@DATA %k?n@HAPAyA3AACA@ B$B;CBDATA %kA?An@AHAAPAAyAA3AAAACAA@ BA$BA;CBADATA %k?n@HAPAyA3AACA@ B$B;CBDATAY%ڻP?ȑ@fA֧@PAs@!zA@*WA:`?A+A @  B$Br7CBDATAY%k???n@?HA?PA?yA?3A?A?CA?@ B?$B?;CB?DATA Y%k???n@?HA?PA?yA?3A?A?CA?@ B?$B?;CB?DATA0Y%k???n@?HA?PA?yA?3A?A?CA?@ B?$B?;CB?WO TMWOWorldg=pb>>===??A@pA A?L=TXdYTXMov2Path.py nn CDATA8 D:\Creation\BlenderFiles\3r\Pythons\2Curve\MovToPath.pyDATAn TDATA0XnxU gObjDATA0X0j `CllllDATA0j PS 0XllllDATAPS `R 0j S ##5DATA`R * PS  qqqDATA* PV`R h#qq qDATAPVO)* T ##5DATAO)8IPV0*DATA8IIO) DATAILI8I8 , "eDATALITI LDATAT0LIX DATA0 YTDATA YIX0ODATAIX Y DATAHIX0DATAHx' DATAH!DATAY`` Y trDATAYY DATAY@YY8 t cDATA@YYY' DATAYY@Y(y DATAY YPa XntaDATA @ Y Ume'DATA@    Va TDATA $ @  NDATA$ S DATASS$  DlloDATAS S@b _scrDATA @!S lDATA@!$ Л DATA$P} @!) DATAP} $DATA_P} 0c \bleDATA_  9DATA  _YDATA X)   Ye mDATAX) S  Xou DATASk X) WDATAk Hs S) DATAHs Ȅ k  DATAȄ XHs  \he DATAXP Ȅ lXDATAP OX`* DATAO\P TDATA\8 Ox& DATA8 W\TDATAWHW8 8 LDATAHW}WW`W%DATA}W}WHWV DATA}WX|W}WW(DATAX|WzW}WZ DATAzWOYX|WW?DATAOYHzWW=DATAHtOYW@DATAt0HpW8DATA0t[ DATA(0WADATA(XW@####DATA@(W> DATA@X@W.terpDATAX@\ apolDATAHXWC000,DATAHWIval DATAHWAl = DATAK\ e foDATAKHW#DATAH CKhWLDATA CXYHW!DATAXY=) C@WDATA=)}XYW05DATA}T=)W!05DATATIV}TlemeDATAIV8TT(TDATA8TTIVNDATATS8TpTgrouDATAS TT$DATA Z ST!DATAZ  hT!DATAZ TDATATDATAeXT!DATAe0Y^ DATA0YeDATAK0YTw imDATAKhy TDATAhy KPT'DATAShy T DATAS XB DATA  S( DATA B TDATAB   c DATA  РYBe DATAРY  i DATAРYHT DATA(WT CurrDATA(WXTme()DATAXT(W@TDATATPbWXTDATAPbWX Ti DATAX  U PbWk TextDATA U @\ X ؝TDATA@\ P U ЁDATAPس@\ (TDATAس@YPS DATA@YYسhl DATAYY@YxTDATAYYYȞTnderDATAY`YYTDATA`YYYhT(DATAYH7 `Y r a()DATAH7 7 Yhr O)DATA7 7 H7 r DATA7  8 7 s )DATA 8 h8 7 `s !DATAh8 8  8 s (DATA8 8 h8 t @DATA8 @9 8 t *DATA@9 9 8 t 1)DATA9 9 @9 8u )DATA9 : 9  DATA: `: 9 u DATA`: : : P~ DATA: : `: u  DATA: 8; :  v *DATA8; ; : v IDATA; ; 8; w *DATA; < ; `w +DATA< X< ; w DATAX< < < x )DATA< < X< px *DATA< 0= < x BDATA0= < Hy HDATAH0= y DATAHNWDATAػHNW()DATAػ  OW)DATA hػpOWago)DATAh hx DATAhXn DATA@OWDATA@PWDATAн@n DATAнPPWDATA`нq DATA`8q .TexDATA`s .Te DATA8PWDATA8O DATAȿ8PW7DATAȿHQW.TexDATAXȿO) .TexDATAXQWDATAXQW.TexDATA)%` DATA)%(*%s DATA(*%p*%)%0RW%FREEDATAp*%*%(*% FREEDATA*%+%p*%Hw 8DATA+%H+%*%RWUa)DATAH+%+%+%SWA####DATA+%+%H+%/ FREEDATA+% ,%+%y DATA ,%h,%+%DATAh,%,% ,%SWDATA,%,%h,%k DATA,%@-%,%SWqqqqDATA@-%-%,% TW3DATA-%-%@-%llDATA-%.%-%TW3)DATA.%`.%-%TWDATA`.%.%.% t)DATA.%.%`.%8UW-DATA.%8/%.%UWDATA8/%/%.%O DATA/%/%8/%UW-DATA/%U/%@VWe("lDATAUU/% DATAUXUUVW-DATAXUUUhV/tDATAUUXU} DATAU0UUȧVDATA0UxUUVDATAxUU0UhVDATAUUxUH DATAUPUU )DATAPUUUV!DATAUUPU DATAU(UUV5DATA(UpUUxVFREEDATApUU(U t\tDATAUUpUVt\tDATAUHUU. DATAHUUUV'DATAUUHUhVDATAU UU ")DATA UhUUW tDATAhUU UV)DATAUp%hUVDATAp%%UDATA%%p%`V&DATA%H%%VDATAH%%%( DATA%%H%V*DATA% %%`V)†DATA %h%%V)DATAh%% % V(DATA%%h%VDATA%@ %%ȭVIIDATA@ % %% DATA % %@ %VDATA %!% %`VDATA!%`!% %V&')DATA`!%!%!%V+DATA!%!%`!%hV,LDATA!%8"%!%`Y+DATA8"%"%!%ȯVDATA"%"%8"% dDATA"%#%"%YDATA#%X#%"%YDATAX#%#%#%XYDATA#%IX#%PX:DATAII#%Y&DATAI JIYDATA JhJI@Y DATAhJJ JYDATAJJhJY zDATAJ@KJXODATA@KKJ8Y DATAKK@KY)DATAKLKY ADATAL`LK DATA`LLLH 8DATALL`L(YDATAL8MLpY0 DATA8MMLReDATAMM8MYDATAMNM DATANXNM(pDATAXNNN& DATANNXN(Y5DATAN0ONYcripDATA0OxON8T DATAxOO0OY#= 2:DATAOxO0Y8DATAO05DATA * DATA hp6U DATAh Yer.TDATAhXN er.TDATA@YDATA@8YDATA@Y!DATAYBDATA`8BTDATA`* ')DATA`XYts):DATA8 ts):DATA8  Yts:DATA  8 YDATA   n"DATA X   o1DATAX   oDATA  X DATA 0  (, DATA0 x  o#DATAx  0 h DATA  x  p#DATA ` hp.DATA`   DATA`pDATA8q)DATA8`q0DATA8q(jetsDATA(r:DATAXHDATAXV bj)DATAXrDATA0rR.NDATA0xpsUZ=iDATAx0s/RY,DATAx  DATAP. DATAPYo'ADATAPXtDATA(( DATA(p DATAp(tDATAptRDATAHuDATAHu:DATAHv&DATA? h DATA? ? N  DATA? 0@ ? pvDATA0@ x@ ? P0 DATAx@ @ 0@ vtIpDATA@ A x@ wposDATAA PA @ TDATAPA A A XwSos:DATAA A PA DATAA (B A X DATA(B pB A ODATApB B (B PBDATAB C pB 83 DATAC HC B DATAHC C C XPDATAC C HC PDDATAC  D C p3 qDATA D hD C QDATAhD D  D DATAD D hD hQDATAD @E D QDATA@E E D Q$:DATAE E @E PRDATAE F E RDATAF E ?DATA(F RDATA(p(SqDATAp(84 DATAppSme'DATAHp4 DATAHSDATAH4 DATA TDATA hXTDATAh TDATAh4 DATA@T5DATA@8U&DATA@U5DATAUDATA`(V#rtsDATA`V)DATA`VDATA85 DATA8(6 ')DATA86 DATAWObj)DATAXm DATAX DATAW'Xx} DATAW'X'DATAX'`X'W'XWj:DATA`X'X'X'hVDATAX'X'`X'W(DATAX'8Y'X'XDATA8Y'Y'X'DATAY'Y'8Y'DATAY'Z'Y'S DATAZ'XZ'Y'PXDATAXZ'Z'Z'R DATAZ'Z'XZ'R DATAZ'0['Z'(R DATA0['x['Z'XQ bjetDATAx['['0['F ')DATA['\'x['XDATA\'P\'['СDATAP\'\'\'  DATA\'\'P\'vDATA\'(]'\'\ ')DATA(]'p]'\'DATAp]']'(]'E DATA]'^'p]'`#DATA^'H^']'E DATAH^'^'^'\Y aw(oDATA^'^'H^'Paw(oDATA^' _'^'C vzDATA _'К^'@$vzDATAК _'DATA`КC DATA`DATA`0'DATA8DATA8`C DATAȜ8A DATAȜؤ~DATAXȜ^DATAXNDATAX>XsDATA0`< DATA0xdDATAx0brt FDATAx0nDATAP8 DATAP1Xqth",DATAPD t FraDATA(Чzur",DATA(pp} DATAp(Eth",DATAp(Wqth",DATAHxe PaDATAHxWSDATAءHDATAء .2,1DATA wء:DATAw@x `LDATA@xxw.5,0DATAxx@x0:.5,0DATAxyxL2DATAy`yxG.2,1DATA`yyy .2,1DATAyy`yh(DATAy8zyDATA8zzy;DATAzz8z DATAz{zDATA{X{zint(DATAX{{{qWDATA{{X{al )DATA{0|{( DATA0|x|{7  r.TeDATAx||0|TunliDATA|}x|DATA}P}|r.TeDATAP}}} 1 r.TeDATA}}P} DATA}(~}hDATA(~p~}@nlinDATAp~~(~SDATA~p~0DATAH~X DATAHY anDATA(` H3DATA(` p` 8ARRODATAp` ` (` 5DATA` a p` . e(1)DATAa Ha ` e(0)DATAHa a a 8;etsDATAa a Ha (< DATAa  b a DATA b hb a x DATAhb b  b *DATAb b hb XDATAb @c b d(obDATA@c c b 8DATAc c @c ()DATAc d c hJ DATAd `d c S DATA`d d d Ї)jetsDATAd d `d  O DATAd 8e d DATA8e e d 1 DATAe e 8e 0%DATAe f e  DATAf Xf e oU DATAXf f f DATAf f Xf 0d(obDATAf 0g f DATA0g xg f IDATAxg g 0g xDATAg xg 6DATA0g (DATA0xxDATAx08N  DATAxPDATAPDATAP.DATAP ?DATA(hDATA(pDATAp(ljetsDATAp DATAH؋e(1)DATAH )DATAHh=1:DATA 62DATA h)DATAh DATAh.000DATA@D  FREEDATA@hDATA@DATAȞDATAH DATA T#!BPYDATAxU !BDATAD`""" Registration info for Blender menus: <- these words are ignoredDATAName: 'Mov2Path'DATASBlender: 237):DATA Group: 'Animation'EDATA$hTip: 'Transform movement in a path'DATAT """DATA0*DATA __author__ = '3R - R3gis'EEDATA8 __version__ = '1.7'DATA __url__ = ["Author's site , http://cybercreator.free.fr", "French Blender support forum, http://www.zoo-logique.org/3D.Blender/newsportal/thread.php?group=3D.Blender"]DATA X __email__=["3R, r3gis@free.fr"]DATAoteDATAODATA __bpydoc__ = """\EEDATA0DATAx' Usage:DATA!llDATA\`` * This script allow to transform the movement of an object controled by Ipo in a movementDATA  controled by a path.DATA8 (Left Part of screen)DATA' -ThDATA(ySome advices:DATA\Pa  -If the movement contain rotation and resizing, the script will try to take care of it.DATAX  However, transformation isn't always good (espacially when the object have a parent)DATAX  -The script create a Time Curve to batch speed of object. So if you modify the curve,DATAP  use the Time IpoCurve of the object instead of the Speed IpoCurve of the pathDATAurvDATAH * This script also allow to see the path of a curve in 'real time' :DATA`@b  It create a linked script that change for each frame the representation of the future and pastDATA  path of the object.DATAЛ (Right Part of screen)DATA) LefDATASome advices :DATA`0c  -This part of script create a lot of path in Blender memory, so your computer may go slowlyDATA<  if you want to see a lot of object path for a long time.d DATA\ I only succeed in doing only one path by frame, which limit the number of path created. DATA\  So if you change the movement and you want to see the changement you must use "Refresh".DATA\  Besides, It's advised you to use CTRL+W and CTRL+O to reload file and delete old paths.DATAWDATA) DATA Notes:
DATA` The second part of the program is just a toy. It doesn't allow to modify movement of object.DATAlXhe DATA`* ll4DATAT"""DATAx& ""DATATNDDATAP8 # --------------------------------------------------------------------------ocDATA(`W# ***** BEGIN GPL LICENSE BLOCK *****DATAV #DATA,W# Copyright (C) 2004-2005: Regis MontoyaDATAZ #DATA@W# This program is free software; you can redistribute it and/orDATA@W# modify it under the terms of the GNU General Public License7DATADW# as published by the Free Software Foundation; either version 2(r)DATA<pW# of the License, or (at your option) any later version.qqDATA[ #DATADW# This program is distributed in the hope that it will be useful,4DATADXW# but WITHOUT ANY WARRANTY; without even the implied warranty ofj.DATA@W# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the;DATA0@W# GNU General Public License for more details.DATA\ #DATADW# You should have received a copy of the GNU General Public LicenseDATALW# along with this program; if not, write to the Free Software Foundation,DATADW# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.00DATA\ #DATA$W# ***** END GPL LICENCE BLOCK *****DATAPhW# --------------------------------------------------------------------------ndDATA$W#################################DATA @W# Script pour convertir un #DATA W# mouvement en path ##DATA$W#################################DATAT# by 3R - 14/07/05DATA(T# pour tout probleme :DATAN# r3gis@free.frDATApT# ou sur le newsgroup:DATA(T# http://zoo-logique.org/3D.Blender/DATA$T#################################/DATA$hT#-----------Utilisation---------#DATAT# #DATAT#Lancer avec Alt+P ##DATA$XT#################################DATA^  ouDATAimport BlenderDATATfrom Blender.Draw import * DATATfrom Blender.BGL import *DATA(PTfrom Blender import Curve, Object, Ipo DATA$Tfrom Blender.Scene import Render4DATAXBimport stringDATA (import mathDATATfrom math import *DATAc bleDATAe bleDATAi DATA$HTscene=Blender.Scene.GetCurrent()DATA$Tresc=scene.getRenderingContext()DATATdebut=resc.startFrame()DATA@Tfinal=resc.endFrame()DATATcf=Blender.Get('curframe')0DATAi bleDATAk bleDATA ؝Tdef dopath(Objet,deb,fin,pas):DATA Ё frag=[]DATA(T for Objtopath in Objet:1EDATA S frago=[]DATAhl  Lw=0DATA xT Cf=Blender.Get('curframe')DATA ȞT nomobjtopath=Objtopath.nameDATA T nompath=nomobjtopath+' path'eDATA,hT pathO=Object.New('Curve',str(nompath))DATA r  curve=pathO.getData()DATAhr  scene.link(pathO)DATA r  Blender.Set('curframe',deb)O@DATA,s  Lw=Objtopath.getMatrix('worldspace')[3]DATA$`s  Blender.Set('curframe',deb+pas)*2DATA,s  L=Objtopath.getMatrix('worldspace')[3]DATADt  curve.appendNurb([2*Lw[0]-L[0],2*Lw[1]-L[1],2*Lw[2]-L[2],100])])DATA,t  curve[0].append([Lw[0],Lw[1],Lw[2],100])]DATAt  curve.setFlag(15)DATA8u  curve.update()DATA  t=deb-pasDATAu  while t<(fin-2*pas):DATA P~ t=t+pasDATA$u  Blender.Set('curframe',t+pas)ADATA, v  Ln=Objtopath.getMatrix('worldspace')[3]DATALv  frago.append(sqrt((Lw[0]-Ln[0])**2+(Lw[1]-Ln[1])**2+(Lw[2]-Ln[2])**2))xDATA,w  Lw=Objtopath.getMatrix('worldspace')[3]DATA,`w  curve[0].append((Lw[0],Lw[1],Lw[2],100))DATA w  Blender.Set('curframe',fin)DATA,x  Lw=Objtopath.getMatrix('worldspace')[3]DATA,px  curve[0].append((Lw[0],Lw[1],Lw[2],100))DATADx  curve[0].append((2*Lw[0]-Ln[0],2*Lw[1]-Ln[1],2*Lw[2]-Ln[2],100))qDATALHy  frago.append(sqrt((Lw[0]-Ln[0])**2+(Lw[1]-Ln[1])**2+(Lw[2]-Ln[2])**2))EEDATAy  curve.update()DATA NW Blender.Set('curframe',Cf)DATANW Blender.Redraw()DATA OW frag.append(Objtopath.name)leDATApOW frag.append(frago)DATAhx return frag1iDATAXn  cuDATAOW if len(Objtopath)==0:DATA PW print('Not Selected Object')DATAn  inDATAPPW Blender.Redraw(-1)DATAq lseDATA8q bleDATAs  NtDATAPWdef lier(param):DATAO global sceneDATA8PW #param du style [objsList,plageavant,plagearriere,pas]DATAHQW lestext=Blender.Text.Get()DATA O) Ntexts=[]eDATAQW for txt in lestext:DATA QW Ntexts.append(txt.getName())DATA ` ecrire=0DATAs lesDATA(0RW if 'MovToPathLink.py' not in Ntexts:DATA  ecrire=1DATAHw  else :DATAXRW if lestext[Ntexts.index('MovToPathLink.py')].asLines()[0] != ("param="+str(param)):DATADSW Blender.Text.unlink(lestext[Ntexts.index('MovToPathLink.py')])enDATA / ecrire=1DATAy  --DATA MovToPath="""DATA SWframeC=Blender.Get('curframe')eDATAkLObjtopath=[]EEDATASWfor nomObj in param[0]:DATA4 TW LObjtopath.append(Blender.Object.Get(str(nomObj)))DATA listF=[]DATA4TWfor script in scene.getScriptLinks('FrameChanged'):DATATW listF.append(script)DATA listOL=[]DATA08UWfor script in scene.getScriptLinks('OnLoad'):DATAUW listOL.append(script)lDATA OlistOS=[]DATA0UWfor script in scene.getScriptLinks('OnSave'):DATA@VW listOS.append(script)DATA listR=[]DATA0VWfor script in scene.getScriptLinks('Redraw'):DATA0hV listR.append(script)\nscene.clearScriptLinks()DATA} try:DATA ȧV for Objtopath in LObjtopath:blDATA V nomobjtopath=Objtopath.name#DATA hV nompath=nomobjtopath+' path'eDATAH  new=0DATA  try:DATA$V pathO=Object.Get(str(nompath))e DATA  try:DATA8V curve=Blender.Curve.Get(str(nompath)+str(frameC))DATAxV pathO.link(curve)DATA  except:DATA V curve=Blender.Curve.New()utDATA . new=1DATA(V curve.name=str(nompath)+str(frameC)DATAhV pathO.link(curve)lllDATA llDATA W except:DATA,V pathO=Object.New('Curve',str(nompath))llDATAV curve=pathO.getData()lllDATA  new=1DATA(`V curve.name=str(nompath)+str(frameC)DATAV scene.link(pathO)DATA( if new==1:DATA,V Blender.Set('curframe',frameC-param[1])DATA,`V L=Objtopath.getMatrix('worldspace')[3]DATA,V curve.appendNurb((L[0],L[1],L[2],100))DATA, V curve[0].append((L[0],L[1],L[2],100))DATAV curve.setFlag(31)DATAȭV curve.update()DATA  t=1DATAV while tX Bpas=Number("Step : ",4,int(afftaille[2]/2-40),int(afftaille[3]-95),80,15,Bpas.val,1,100,"Precision of the path") DATA`< StfDATAh Stf=Number("Start Frame",5,20,int(afftaille[3]-125),110,15,Stf.val,1,10000,"Beginning of the path")DATAd Edf=Number("End Frame",6,20,int(afftaille[3]-140),110,15,Edf.val,1,10000,"Beginning of the path")DATAp0 Button("Make Path",7,int(afftaille[2]/4-50),35,100,25,"If you can't edit curves, use Reveal in Edit Boutons")DATA8 ButDATAt1X tog=Toggle("Make Paths",8,int(3*afftaille[2]/4-50),35,100,25,tog.val,"See the path of object when change frame")thDATAxD  pav=Number("Futur",9,int(afftaille[2]/2+20),int(afftaille[3]-140),110,15,pav.val,0,final-debut+1,"End of the path"))DATA|Ч par=Number("Past",10,int(afftaille[2]/2+20),int(afftaille[3]-125),110,15,par.val,0,final-debut+1,"Beginning of the path")DATAp} pavDATAH Button("Refresh",11,int(3*afftaille[2]/4-50),20,100,15,"To refresh")DATAt(W Button("Auto Parent",12,int(afftaille[2]/4-50),20,100,15,"If you can't edit curves, use Reveal in Edit Boutons")DATA| togParent=Toggle("New Obj",13,int(afftaille[2]/4+50),20,70,15,togParent.val,"See the path of object when change frame"))DATAxWStogDATA###DATA glColor3f(0.2,0.4,0.5)DATA< glRectf(10,int(afftaille[3]-80),int(afftaille[2]/2-1),10)DATAP` glRectf(int(afftaille[2]/2+1),int(afftaille[3]-80),int(afftaille[2]-10),10)DATA glColor3f(0.3,0.5,0.6)DATA<0 glRectf(15,int(afftaille[3]-85),int(afftaille[2]/2-6),15)DATAP glRectf(int(afftaille[2]/2+6),int(afftaille[3]-85),int(afftaille[2]-15),15)DATAGglRDATA  glColor3f(0.9,0.7,0.4)DATA,h glRasterPos2f(20,int(afftaille[3]-105))DATA Text("::Mode Complete::")DATA< glRasterPos2f(int(afftaille[2]-150),int(afftaille[3]-105))DATA$ Text("::Mode Animation Time::")ailDATATexDATAbleDATAqW DATAdef event(evt, val ):DATA$( if (evt == ESCKEY and not val):.blDATA 7  delier()DATA T Exit()DATA  elif (evt== QKEY and not val):DATA  lestext=Blender.Text.Get()[NDATA 1 Ntexts=[]DATA  for txt in lestext:DATA h Ntexts.append(txt.getName())DATAD Blender.Text.unlink(lestext[Ntexts.index('MovToPathLink.py')])DATA S Exit()DATA 0 elif (evt==WKEY and not val):tDATA X delier()ADATA elif (evt==LEFTARROWKEY):DATA4 Blender.Set('curframe',Blender.Get('curframe')-1)DATA8 elif (evt==RIGHTARROWKEY):DATA8 Blender.Set('curframe',Blender.Get('curframe')+1) DATA. DATAdef bevent(evt):DATA<8 global Bpas, Objets,nameO,listO,Stf,Edf,direct,pav,par,togDATA(<  tDATA cf=Blender.Get('curframe')DATAx if (evt==1):DATA, for obj in Blender.Object.GetSelected():DATAX if obj not in Objets:1.DATA Objets.append(obj)DATA 8 nameO=str(nameObj(Objets)[0])DATA Blender.Redraw()DATAhJ if DATAS if (evt==7):DATA,Ї dopath(Objets,Stf.val,Edf.val,Bpas.val)DATA O  DATA if (evt ==3):DATA1  try:DATA(0 Objets.remove(Objets[listO.val-1])DATA$ nameO=str(nameObj(Objets)[0])DATA oU except:DATA  print ('No Object Selected')DATA0 Blender.Redraw()DATAbleDATAI if (evt ==8):CDATAx if tog.val==1:DATA8 lier([nameObj(Objets)[1],par.val,pav.val,Bpas.val])DATA ( Blender.Set('curframe',cf)DATAx if tog.val==0:DATA 8N  delier()DATAP DATA if (evt==12):DATA0 long=dopath(Objets,Stf.val,Edf.val,Bpas.val)DATA@  pathspeed(Objets,long,Stf.val,Edf.val,Bpas.val,togParent.val)DATAh DATA Blender.Redraw(-1)DATAlDATA  DATA؋ if (evt == 11):DATA  refresh(Objets)DATAh if tog.val==1:DATA8 lier([nameObj(Objets)[1],par.val,pav.val,Bpas.val])DATA  Blender.Set('curframe',cf)DATA tDATAbleDATAD def Regis():y**DATA h Register(gui, event, bevent)DATAry:DATAȞRegis()DATAH TXdYTXLocal_Blur.pyPv@#`DATA<PC:\Creation\BlenderFiles\Pythons\Local_Blur\Local_Blur.pydeDATA0XS DATAPx H DATAP#CFREEDATAP$FREEDATA(8   FREEDATA(H$@FREEDATA($P"FREEDATAP` _FREEDATAP Q a()DATAP$"deDATA(0%AFREEDATA(px% :)DATAp(P&peDATAp FREEDATAHTqqEEDATAH&pAFREEDATA؊HF DATA؊ )DATA h؊pOqDATAh &BFREEDATAh`'%j)DATA@8 sh)DATA@'k9a()DATA8 @((XFREEDATA8   FREEDATA ș 8 x(?FREEDATAș   YFREEDATA X ș (T5qDATAX   gsDATA  X P)!FREEDATA 0  )&FREEDATA0 x  )V"FREEDATAx  0 \ Ȗ8FREEDATA  x x\ IXGDATA P  \ @v+FREEDATAP   `E ؂YFREEDATA  P  FREEDATA (  P]  DATA( p  ] (p FREEDATAp  ( ]  FREEDATA  p 8^ !FREEDATA H  FREEDATAH   X8P  FREEDATA ؞ H ^ FREEDATA؞    E FREEDATA h ؞ ^ D7FREEDATAh   H_ (RPFREEDATA  h SPFREEDATA @  HW FREEDATA@   H( hyFREEDATA Р @ WxDATAР   _ 86%DATA ` Р DATA`   (`  (DATA  ` ~@TDATA 8  ` ?DATA8 HV ` &%=DATAHVV8 ha P@DATAVVHVa H8DATAV VVpT8DATA VhVVPb HADATAhVV Vb 8Y@DATAVVhV@c Y>DATAV@VVc  .DATA@VVV<DATAVV@Vd YCFREEDATAVVVd IFREEDATAV`VVe  AFREEDATA`VVV`=)2FREEDATAVV`Ve < #FREEDATAV8VVe pGLFREEDATA8VVVȢX` !FREEDATAVV8V X5 !FREEDATAVVVxX !FREEDATAVXVVУX ' !FREEDATAXVVV(X؄ !FREEDATAVVXVXY!DATAV0VVDATA0VxVVؤXo DATAxVV0V0YDATAVWxV XI9DATAWPWVXxO.DATAPWWWXHSBDATAWWPWhXLGDATAW(WWz ПDATA(WpWWXH SDATApWW(W0X *DATAWWpWXXDATAWHWWاXhXDATAHW(W XXSDATA(pHWpXE)DATAp(ШXJ7DATAp8XT)DATAHX`K7DATAHXMKDATAH8WLDATA X@SDATA hЪXHFREEDATAh XFREEDATAh`XSFREEDATA@Xb)FREEDATA@X7FREEDATA@xX)FREEDATAجX7FREEDATA`XXbFREEDATA``F @DATA`U0(%FREEDATA8(X@  FREEDATA8YvFREEDATA8 ФDATAX8SDATAXЮXS1DATAX8X!?DATAXX0 )DATA0X MY;tDaDATA0x?DATAx0xXst(DATAxX$DATAPXМ####DATAP`Xa+DATAPXSot aDATA(OFREEDATA(pXhSaillDATAp((XXi Sur=NDATA(ppXS[DATAp((XSqqqqDATAppXU qDATAHX !15,iDATAH  DATAءHXSlllqDATAء  U  :EDATA hءXXHSzDATAh pV  DATAhXHz @dDATA@hR DATA@XSFREEDATAУ@8Rh CENSDATAУhX8&llllDATA`У0G FREEDATA`-` DATA`X - DATA8 XXNY8utreDATA8XDATAȥ8ضX )REEDATAȥW DATAXȥ8X@AFREEDATAXX8SDATAXStDATA080wst(DATA0x(SDATAx0 8YDATAxP +DATAPhT.DATAP FREEDATAPXf *n BlDATA(B 8S DATA(p0KB sitDATApP@W(0MYEDATAP@W@Wp2 pDATA@W@WP@WH$ zDATA@W(AW@Wp qqqqDATA(AWpAW@Wbb qDATApAWAW(AW@@PY7zDATAAWBWpAWe !} DATABWHBWAW` j)DATAHBWBWBW6 пY DATABWBWHBWP{W0dow.DATABW CWBW# DATA CWhCWBWYFREEDATAhCWCW CWTFREEDATACWCWhCWHP odeDATACW@DWCW $DATA@DWDWCWؑ -[3]-DATADWDW@DW8`/",'lDATADWEWDW+,j DATAEW`EWDWW4DATA`EWEWEW`W FREEDATAEWEW`EW` et rDATAEW8FWEW  DATA8FWFWEW enceDATAFWFW8FWXpfqqDATAFWGWFW  FREEDATAGWXGWFW(fh DATAXGWGWGW0@FREEDATAGWGWXGWxd ' DATAGW0HWGWP Y$DATA0HWxHWGWЕt('cDATAxHWHW0HWc +DATAHWIWxHWR} =DATAIWPIWHWx@FREEDATAPIWIWIW0 afftDATAIW(PIWpT0nDATA(pIW0SLWDATAp(xS DATApSx qqqnDATAHTx qqqqDATAHY`DATAH DATA hTHLWDATA hP DATAh -  pDATAh '0:  DATA@o (T$DATA@TwY####DATA@K hWFREEDATAT (nnnnDATA`XU ~ ####DATA`v ####DATA`& DATA8Y؅ ee sDATA8UwYpDATA8  DATALYSDDATAXU( ARTIDATAX@V(&u shDATAXV FREEDATA0V %DATA0x@W DATAx0W@LDATAxW0 DATAP XDATAPhX(3& DATAPX0YnnqqDATA( YN <zDATA(pY`'$qnnnDATApXa(Y\;zDATAXaapXZYqqqqDATAaaXaZAFDATAa0ba ['!DATA0bxbaSqDATAxbb0bx[YqqqlDATAbcxb[qqnqDATAcPcb\#3qqnqDATAPcccp\YnqnqDATAccPc\8<DATAc(dc0]H #DATA(dpdc]0;zDATApdd(d(ȮY= DATAdepdxA0DATAeHed zDATAHeee@ YDATAeeHe%FREEDATAe fePc @ DATA fhfe}O TDATAhff f8JV.  DATAffhfq DATAf@gfxT8DATA@ggfHS$DATAgg@g0YDATAghg؏ DATAh`hgREEDATA()Script create copy of selected object.EDATA$)A time offset is set to this copy.DATA<\ And finaly material of each copy recieve an alpha value.###DATAHx\ The more the copy is in past or futur, the more it will be transparent.DATA,\ Finally we have the impression of a M-Blur.DATA`E  DATA Settings :
DATAP] The time between two copyllDATA] The number of copyDATA ] The alpha value of first copyEEDATA$8^ The factor of decreasing of alphaDATA###DATA X8Notes:
DATA ^ This script only support Mesh.DATA ##DATA8^ Special thanks to JM Soler for this idea of local Blur DATATH_ and for his script LampDataCopier from which one part of this script is inspiredgetDATAS llDATAHW """DATAH(  DATAWif DATA(_ # ***** BEGIN GPL LICENSE BLOCK *****EEDATA###DATA,(` # Copyright (C) 2004-2005: Regis MontoyaDATA~#WDATA@` # This program is free software; you can redistribute it and/orDATA@` # modify it under the terms of the GNU General Public Licenseb DATADha # as published by the Free Software Foundation; either version 2ll DATA<a # of the License, or (at your option) any later version. DATApT#DATADPb # This program is distributed in the hope that it will be useful,WDATADb # but WITHOUT ANY WARRANTY; without even the implied warranty ofREEDATA@@c # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theEDATA0c # GNU General Public License for more details.EDATA#qqDATADd # You should have received a copy of the GNU General Public LicenseDATALd # along with this program; if not, write to the Free Software Foundation,%xDATADe # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.DATA`=)#qqDATA$e # ***** END GPL LICENCE BLOCK *****DATAPe # --------------------------------------------------------------------------DATA$ȢX################################# lDATA$ X# M-Blur local par 3R # lDATA$xX###################################DATA$УX#################################DATA$(X# Sur une idee originale de JMS #qqDATA$X#################################EEDATADATAؤXimport Blender,stringDATA0Yr(oDATA< X# Partie de script pour copier les proprietes du material ODATA0X# Inspiree du script de JMS "Lamp Data Copier"EDATADX# pour la copie de donnee de lampes et readapte pour les materialsqDATAHhX# http://jmsoler.free.fr/didactiel/blender/tutor/cpl_lampdatacopier.htmDATAz LocDATAXdef fonctionTestMat(nmat)::DATA,0X nmat=Blender.Material.New('MaterialTest')DATAX fonction_set=[]DATAاX fonction_get=[]DATA X for fonction in dir(nmat):DATA,pX if string.split(fonction,'set')[0]=='':DATA8ШX fonction_set.append(string.split(fonction,'set')[1])DATA,8X if string.split(fonction,'get')[0]=='':DATA8X fonction_get.append(string.split(fonction,'get')[1])DATALX return [fonction for fonction in fonction_set if fonction in fonction_get]DATA8WretDATAXdef fonctionTestObj(Tobj):%DATAЪX fonction_set=[]DATAX fonction_get=[]DATA`X for fonction in dir(Tobj):DATA,X if string.split(fonction,'set')[0]=='':DATA8X fonction_set.append(string.split(fonction,'set')[1])DATA,xX if string.split(fonction,'get')[0]=='':DATA8جX fonction_get.append(string.split(fonction,'get')[1])DATAdX return [fonction for fonction in fonction_set if (fonction in fonction_get and fonction<>"Name")]DATA`F  ewDATAU DATA$(Xscene=Blender.Scene.GetCurrent() UDATAYDATA if DATAXdef Mblur(obj,pastfutur):tDATA4ЮX if type(obj.getData())<>Blender.Types.NMeshType:qqDATA@8X return "--- ERROR :"+str(objet.name)+" is not a mesh, sorry*"DATA,X if len(obj.getData().getMaterials())==0:DATA<X return "--- ERROR :"+str(objet.name)+" has not material*"DATA? llDATAxX for i in [0,1]:DATA(X for k in range(1,pastfutur[i][3]):piDATAX ##Partie objetDATA,`X nobj=Blender.NMesh.PutRaw(obj.getData())DATAX #Cas ou il serai deja laDATAO try:DATAX mesh=nobj.getData()DATATXX nobj_pre=Blender.Object.Get("MBlur "+str(obj.name)+"n."+str(pastfutur[i][0]*k))DATAX nobj_pre.link(mesh)DATA(X scene.unlink(nobj)DATApX nobj=nobj_preDATA$X #Cas ou il serai mais pas lie#qDATA  try:qqqDATAX scene.link(nobj)qqDATA  except:passDATAXX #Sinon on le creeDATA pV  except:DATADX nobj.name="MBlur "+str(obj.name)+"n."+str(pastfutur[i][0]*k) qqDATAhR #DATAX #Cas ou il est parente #DATA8R try:DATA(hX obj.getParent().makeParent([nobj])DATA0G  except:passEDATA- DATA0X #Mise de l'offset ---> pcple fct du scriptDATA< X nobj.setTimeOffset(pastfutur[i][0]*k*pastfutur[i][4])rfrDATAX #copie fct objDATA,ضX for fonction in fonctionTestObj(nobj):DATA W  try: fcDATAD8X exec "nobj.set"+str(fonction)+"(obj.get"+str(fonction)+"())"llDATAX except:pass DATA ##Fin partie objetDATA8bjDATA ##Partie materialDATA  DATA,P for mat in obj.getData().getMaterials():DATA0 nmat=Blender.Material.New(mat.name+str(k))DATA #copie fct matDATA,X for fonction in fonctionTestMat(nmat):DATA B  try:DATAD exec "nmat.set"+str(fonction)+"(mat.get"+str(fonction)+"())"aDATAH0 except:pass # normal que mode (et ipo si pas d'ipo) pas copiableEEDATA EEDATA for j in range(8):DATA p try:DATA  MTex=mat.getTextures()[j]DATA8@ nmat.setTexture(j,MTex.tex,MTex.texco,MTex.mapto)DATA$ nMTex=nmat.getTextures()[j]qDATA for fct in dir(MTex):DATA 6  try:DATA4P exec "nMTex."+str(fct)+"=MTex."+str(fct)aptDATA except:passDATA except:passDATA lRDATAH #nvlles valeur modeDATA nmat.mode=mat.modeEDATA0ؑ nmat.mode|=Blender.Material.Modes.ZTRANSPDATA08 nmat.mode^=Blender.Material.Modes.TRACEABLEDATA0 nmat.mode^=Blender.Material.Modes.SHADOWDATA8 nmat.setAlpha(pastfutur[i][1]-k*pastfutur[i][2])qEEDATA`W  nDATA` nmesh=nobj.getData()1DATA$ nmesh.materials.append(nmat)()[DATA nmesh.materials.pop(0)DATAX nmesh.update()DATA #Fin partie materialDATA nobj.layers=[10]DATA0 nobj.select(0)DATA(x return "Mblur made for "+str(obj.name)DATAP  DATAЕdef DelBlur(obj):DATA, for objet_blender in Blender.Object.Get():DATA@R if objet_blender.name.split("MBlur "+str(obj.name))[0]=='':EEDATA x scene.unlink(objet_blender)DATA0REEDATApT aDATA0S#########GraphikٔDATA xSfrom Blender import BGL,DrawDATASfrom Blender.Draw import *DATATfrom Blender.BGL import *qqDATAY###DATA  DATAhTdef nameObj(listObj):--DATA P  name=""raDATA -  nameL=[]DATA ' r=0###DATAo  try:##DATAT for i in listObj:DATA K  r=r+1DATA,T name=name+"|"+str(i.name)+"%x"+str(r)###DATA XU nameL.append(str(i.name))DATA v  except::DATA&  passDATAY DATAU return name,nameLhDATAGDATALYY; DATA Uafftaille= Buffer(GL_FLOAT, 4)eDATA(@VglGetFloatv(GL_SCISSOR_BOX, afftaille)DATAVafftaille = afftaille.listDATA(VObjets=Blender.Object.GetSelected() DATA @WnameO=str(nameObj(Objets)[0])DATAWlistO=Create(nameO)DATAW#Donnees pour le passeeDATA X#Valeur de alpha :EDATA4hX#Debut de la transparence (+ gd => Mblur - visible)DATAXB_base_passee=Create(0.100)DATA@ Y#Decroissance de la transparence (+ gd => Trainee - visible)DATA(YB_decroissance_passee=Create(0.0100)DATA<Y#Nombre de reproduction (+ gd => + de trainee ou + precise)DATA XZB_iteration_passee=Create(10)DATADZ#Raprochement des reproduction (+gd => + de trainee ou - precise)qqDATA$ [B_offsetstep_passee=Create(0.100) DATAic DATAx[#Donnees pour le passeeDATA[#Valeur de alpha :qDATA4\#Debut de la transparence (+ gd => Mblur - visible)DATAp\B_base_futur=Create(0.050)qDATA@\#Decroissance de la transparence (+ gd => Trainee - visible)DATA$0]B_decroissance_futur=Create(0.0050)DATA<]#Nombre de reproduction (+ gd => + de trainee ou + precise)DATA(B_iteration_futur=Create(5)DATADx#Raprochement des reproduction (+gd => + de trainee ou - precise)EEDATA$B_offsetstep_futur=Create(0.050)REEDATA@###DATA%layer=Create(0)DATA Pc Message=""qDATA}O DATA 8JVdef gui():aDATAq  global layer,Objets,Message,afftaille,nameO,listO,B_base_passee,B_decroissance_passee,B_iteration_passee,B_offsetstep_passee,B_base_futur,B_decroissance_futur,B_iteration_futur,B_offsetstep_futurREEDATAxTDATA(H glClearColor(0.996,0.855,0.694,1.0)DATA  glClear(GL_COLOR_BUFFER_BIT)DATADATA glColor3f(0.2,0.2,1)WDATA(8 glRasterPos2f(10,int(afftaille[3]-20))DATA Text("Liste des objets :")DATAx:DATAqYDATA Button("Add Selected Objects",1,15,int(afftaille[3]-40),150,15,"Add selected Object to the list of active object for script")sDATA` listO=Menu(nameO,2,15,int(afftaille[3]-55),150,15,1,"Modify or look informations of objects"):DATAP  Button("X",3,165,int(afftaille[3]-55),15,15,"Delete this object to the list")DATA@Wor DATA0 B_base_passee=Slider("A Start ",4,15,int(afftaille[3]-145),180,15,B_base_passee.val,0.000,1.000,1,"First Value of Alpha for past")DATAX B_base_futur=Slider("A Start ",4,205,int(afftaille[3]-145),180,15,B_base_futur.val,0.000,1.000,1,"First Value of Alpha for futur")DATA  if B_iteration_passee.val<>0:DATA B_decroissance_passee=Number("A decrease ",5,15,int(afftaille[3]-160),180,15,B_decroissance_passee.val,0.0000,B_base_passee.val/B_iteration_passee.val,"Decrease factor of Alpha for past")DATA  if B_iteration_futur.val<>0:ecDATA0 B_decroissance_futur=Number("A decrease ",5,205,int(afftaille[3]-160),180,15,B_decroissance_futur.val,0.0000,B_base_futur.val/B_iteration_futur.val,"Decrease factor of Alpha for futur")DATACU B_iteration_passee=Number("Number of copy ",5,15,int(afftaille[3]-130),180,15,B_iteration_passee.val,0,100,"Number of object repetition in past")DATAHm B_iteration_futur=Number("Number of copy ",5,205,int(afftaille[3]-130),180,15,B_iteration_futur.val,0,100,"Number of object repetition in futur")DATAR B_offsetstep_passee=Number("Step size ",5,15,int(afftaille[3]-115),180,15,B_offsetstep_passee.val,0.000,5.000,"Offset between two repetition")DATAR B_offsetstep_futur=Number("Step size ",5,205,int(afftaille[3]-115),180,15,B_offsetstep_futur.val,0.000,5.000,"Offset between two repetition")DATAN DATAthY Button("Make Motion Blur",6,130,int(afftaille[3]-200),150,30,"Create Objects on layer 10 for selected objects")oisDATAp  Button("Delete Motion Blur",7,130,int(afftaille[3]-230),150,30,"Delete objects of Mblur for selected objects")DATA, if 10 not in Blender.Window.ViewLayers():zDATAd  layer=Toggle("Show MBlur",8,130,int(afftaille[3]-245),150,15,0,"Same as hide/reveal layer 10")qmDATA  else:rDATAd layer=Toggle("Show MBlur",8,130,int(afftaille[3]-245),150,15,1,"Same as hide/reveal layer 10")DATA)}xDATA TDATAP glColor3f(1,1,1)jhDATA4 glRectf(15,afftaille[3]-60,385,afftaille[3]-85)DATA@+  glLineWidth(2)DATA glBegin(GL_LINES)tDATAH glColor3f(0,0,0)DATA$ glVertex2f(195,afftaille[3]-62)DATA$ glVertex2f(195,afftaille[3]-85)wzzDATA  glEnd()t:pDATA  glLineWidth(1)DATA\S glBegin(GL_LINES)0DATA P9T zoom=70qgDATA,\S for i in range(B_iteration_passee.val):DATA8P]S color=1-B_base_passee.val+B_decroissance_passee.val*iDATA ]S glColor3f(color,color,color)MDATA$^S decal=i*B_offsetstep_passee.valPDATA0`^S glVertex2f(195-zoom*(decal),afftaille[3]-62)DATA0^S glVertex2f(195-zoom*(decal),afftaille[3]-85)DATA( _S for i in range(B_iteration_futur.val):DATA8x_S color=1-B_base_futur.val+B_decroissance_futur.val*iEEDATA _S glColor3f(color,color,color)DATA$0`S decal=i*B_offsetstep_futur.valDATA0`S glVertex2f(195+zoom*(decal),afftaille[3]-62)DATA0`S glVertex2f(195+zoom*(decal),afftaille[3]-85)DATA U glEnd()DATAHaS glColor3f(1,0,0)DATA$aS glRasterPos2f(355,afftaille[3]-85)DATAaS Text("Preview",'tiny')DATA$0bS glRasterPos2f(85,afftaille[3]-98)DATAbS Text("Past",'large')DATA$bS glRasterPos2f(285,afftaille[3]-98)DATA(cS Text("Futur",'large')DATA  pos=257:DATApcS glColor3f(0,0,0)DATA$cS for mess in Message.split('*'):DATA(dS glRasterPos2f(20,afftaille[3]-pos)DATAI  Text(mess)[]DATAX pos=pos+15REEDATA5 DATAhdSdef event(evt, val ):DATA$dS if (evt == ESCKEY and not val):DATA e  Exit()DATA eS elif (evt== QKEY and not val):DATA v Exit()>DATA$XeS elif (evt==LEFTARROWKEY and val):DATA4eS Blender.Set('curframe',Blender.Get('curframe')-1)DATA$fS elif (evt==RIGHTARROWKEY and val):DATA8pfS Blender.Set('curframe',Blender.Get('curframe')+1) EEDATAؒDATAfSdef bevent(evt):DATAx; global layer,Objets,Message,afftaille,nameO,listO,B_base_passee,B_decroissance_passee,B_iteration_passee,B_offsetstep_passee,B_base_futur,B_decroissance_futur,B_iteration_futur,B_offsetstep_futurDATA DATA gS cf=Blender.Get('curframe')DATA `q  if evt==1:DATA,pgS for obj in Blender.Object.GetSelected():DATA if obj not in Objets:DATA Objets.append(obj)DATA 8 nameO=str(nameObj(Objets)[0])DATA Blender.Redraw()DATA,SDATAXDATA 8U if evt==3:DATA/U try:DATA( Objets.remove(Objets[listO.val-1])DATA$( nameO=str(nameObj(Objets)[0])DATA 9  except:DATA  print ('No Object Selected')DATA Blender.Redraw()DATA  if evt ==5:REEDATA XS Regis()EEDATA H\  if evt==6:DATAY Message=""REEDATA pastfutur=[[1,B_base_passee.val,B_decroissance_passee.val,B_iteration_passee.val,B_offsetstep_passee.val],[-1,B_base_futur.val,B_decroissance_futur.val,B_iteration_futur.val,B_offsetstep_futur.val]]qDATA for objet in Objets:DATA$` RetourM=Mblur(objet,pastfutur)DATA$ Message=Message+str(RetourM)+"*"DATA objet.select(1) DATAdX Message=Message+">>For render turn on layer 10<<*You can modify your animation, MBlur will stay."DATA Xj  Regis()DATA@ #Moue pas trop d'autre solution pour lui faire accepter... DATA4` Blender.Set('curframe',Blender.Get('curframe')+1)DATA4 Blender.Set('curframe',Blender.Get('curframe')-1)DATA0 Blender.Redraw(-1)DATA l  if evt==7:DATAY Message=""REEDATAx for objet in Objets:eDATA DelBlur(objet) DATA8 Message=Message+"Mblur Deleted for "+str(objet.name)DATAp objet.select(1)DATA @  Regis()DATA Blender.Redraw(-1)DATA  if evt==8:DATA( layers=Blender.Window.ViewLayers()DATAX if layer.val==1:DATA layers.append(10)DATA@yX else:DATA  layers.pop(layers.index(10))DATA$8 Blender.Window.ViewLayers(layers)DATA Blender.Redraw(-1)DATA def Regis():DATA  Register(gui, event, bevent)TDATAIwDATARegis()OB84YGP'YOBCameraamera.001 0 Y@( ~/@????["=>??h?>P"/!C->Oc?>MA>@( ~/@??????>2&352?W33*O?3t22?OBd@A?)d??>)d????OBP'YGDX84YOBCube.003H5Uff^EK@&n@????Y???Q)?dD@? 3 ?dD@?Q).;^EK@&n@?????lQi?P">Dha>Oc?gξ,A>pgQ?7 ~/@@?DOB@A? #=?>=?@???(7 WDATAfDATA,(IDATA\K??=???333??? OBDXGH8XP'YOBLamp hTSp@?p@???{&?W+b=???6씾t? bfE9L"?%?_>oK?p@?p@?????m]>N?P>?v5? g>r>~@;?DOBd@A? #=?>=@???OBH8XGDXOBCubeP'Yg=)߉?@_?`?^EK@&n@????["=>??h?>P"*!A->Oc?>M=>މ?@Z?`??Q)? 3dD@?eD@? R)T(?.;Tb1}š=??,M3nA23j? 3V4?y?o}h@?DOBd@A? #=?>=?@???HddHYYDATA=)DATA,HdIDATA\dK??=???333??? MAc!YMABleu- >-??????????X1??!n?>Е>*=???n ???????@?=?==???8eH:?DATAX8ee?????????L>MAY!cMAMaterial'Y>q>\K>??????????L????2 ???????@?=?==????TEeTETexd>@???????@@????? @??<MEf.gMECubeF O   R 3???DATA OcDATA 3??II?I?I???III??II?I??IIDATA R0 """"""""""""DATAx /MEg.fMECube.084j U @0R j>|>>DATAUYDATA@39QJ>?[=KU&m7~콤9ԍk>=ฦ9&_ߠ|>d8i>Sظ=t\a#cޠ;|r<"C=QJ>[K>"ٓV.=~=>/2,rDATA0R0 ############DATAx /GLOBr JDNA18d(SDNANAME*next*prev*first*lastxyzwxminxmaxyminymax*newid*libname[24]usflagpadid*idblock*filedataname[160]totcurvecurblocktypeshowkeyposcurvaltypeadrcodetotelem*data*weightsname[32]vgroup[32]sliderminslidermax*refkeyelemstr[32]elemsizeblock*ipo*fromtotkeyslurph**scripts*flagactscripttotscript*line*formatlenblen*nameflagsnlineslines*curl*sellcurcselc*undo_bufundo_posundo_len*compiledsizeseekpassepartalphapad1clipstaclipendlensortho_scaledrawsizeYF_dofdistYF_apertureYF_bkhtypeYF_bkhbiasYF_bkhrotscriptlink*anim*ibuf*mipmap[10]oklastframelastqualitytpageflagtotbindxrepyreptwstatwendbindcode*repbind*packedfilelastupdatelastusedanimspeedreserved1reserved2texcomaptomaptonegblendtype*object*texprojxprojyprojzmappingofs[3]size[3]texflagcolormodelrgbkdef_varcolfacnorfacvarfacdispfacwarpfac*handle*pname*stnamesstypesvars*varstr*result*cfradata[32](*doit)()(*callback)()versionaipotypedata[16]*ima*cube[6]imat[4][4]stypenotlaycuberesdepthrecalclastsizenoisesizeturbulbrightcontrastrfacgfacbfacfiltersizemg_Hmg_lacunaritymg_octavesmg_offsetmg_gaindist_amountns_outscalevn_w1vn_w2vn_w3vn_w4vn_mexpvn_distmvn_coltypenoisedepthnoisetypenoisebasisnoisebasis2imaflagcropxmincropymincropxmaxcropymaxxrepeatyrepeatextendcheckerdistnablaframesoffsetsfrafie_ima*plugin*coba*envfradur[4][2]modetotexenergydistspotsizespotblendhaintatt1att2bufsizesampshadspotsizebiassoftray_sampray_sampyray_sampzray_samp_typearea_shapearea_sizearea_sizeyarea_sizeztexactshadhalostepYF_numphotonsYF_numsearchYF_phdepthYF_useqmcYF_bufsizeYF_padYF_causticblurYF_ltradiusYF_glowintYF_glowofsYF_pad3YF_glowtypeYF_pad2*mtex[10]layspecrspecgspecbmirrmirgmirbambrambbambgambemitangspectraray_mirroralpharefspeczoffsaddtranslucencyfresnel_mirfresnel_mir_ifresnel_trafresnel_tra_ifilterray_depthray_depth_traharseed1seed2mode2flarecstarclinecringchasizeflaresizesubsizeflarebooststrand_stastrand_endstrand_easergbselpr_typepr_backpr_lampseptexpad4pad5diff_shaderspec_shaderroughnessrefracparam[4]rmsdarkness*ramp_col*ramp_specrampin_colrampin_specrampblend_colrampblend_specramp_showpad3rampfac_colrampfac_specfrictionfhreflectfhdistxyfrictdynamodepad2YF_arYF_agYF_abYF_dscaleYF_dpwrYF_dsmpYF_presetYF_djitname[256]scale*bbi1j1k1i2j2k2selcol1selcol2quat[4]expxexpyexpzradrad2s*mat*imatelemsdisp**mattotcolloc[3]rot[3]wiresizerendersizethreshvec[3][3]alfaweighth1h2f1f2f3hidevec[4]mat_nrpntsupntsvresoluresolvorderuordervflaguflagv*knotsu*knotsv*bp*beztcharidxkernhnurb*bevobj*taperobj*textoncurve*path*keybevpathlenbevresolwidthext1ext2spacemodespacinglinedistshearfsizewordspaceulposulheightxofyoflinewidth*strfamily[24]*vfont*vfontb*vfonti*vfontbisepchartotboxactbox*tbselstartselend*strinfocurinfo*obname[128]maxrcttotrctvartypetotvertipoextraprtbitmask*driver*tpageuv[4][2]col[4]transptileunwrapeffect*mface*tface*dface*mvert*medge*dvert*mcol*msticky*texcomesh*oc*sumohandletotedgetotfacecubemapsizesmoothreshsubdivsubdivrsubsurftypev1v2v3v4edcodecreasedef_nr*dwtotweightco[3]no[3]co[2]*errormodifiersubdivTypelevelsrenderLevels*emCache*mCachestartlengthrandomizeseedaxistolerancepercentfaceCountstartxstartyheightnarrowspeeddamptimeoffslifetimedeformflagparentinv[4][4]cent[3]falloff*indexartotindexforceoperationpntswopntsuopntsvopntswtypeutypevtypewfufvfwdudvdw*defvec[8][3]dvec[3]max**obpartypepar1par2par3parsubstr[32]*pardata*parent*track*action*poseconstraintChannelsnetworkdefbasemodifiersdloc[3]orig[3]dsize[3]drot[3]dquat[4]obmat[4][4]colbitstransflagipoflagtrackflagupflagnlaflagprotectflagipowinscaflagscavisflagboundtypedupondupoffdupstadupendsfctimemassdampinginertiaformfactorsofttimerdampingsizefacdtdtxactcolpropsensorscontrollersactuatorsbbsize[3]dfrasactdefgameflaggameflag2softflaganisotropicFriction[3]constraintsnlastripshooks*pd*soft*lifelbufportfluidsimFlagshapenrshapeflag*fluidsimSettings*derivedDeform*derivedFinalmat[4][4]curindexactivedeflectforcefieldpdef_damppdef_rdamppdef_permf_strengthf_powermaxdistpdef_sbdamppdef_sbiftpdef_sbofttotpointtotspring*bpoint*bspringnodemassgravmediafrictrklimitphysics_speedgoalspringgoalfrictmingoalmaxgoaldefgoalvertgroupinspringinfrictefrainterval**keystotpointkeyshow_advancedoptionsresolutionxyzpreviewresxyzrealsizeguiDisplayModerenderDisplayModeviscosityValueviscosityModeviscosityExponentgravxgravygravzanimStartanimEndgstarmaxRefineiniVelxiniVelyiniVelz*orgMesh*meshSurface*meshBBsurfdataPath[240]bbStart[3]bbSize[3]mistypehorrhorghorbhorkzenrzengzenbzenkambkfastcolexposureexprangelinfaclogfacgravityactivityBoxRadiusskytypephysicsEnginemisimiststamistdistmisthistarrstargstarbstarkstarsizestarmindiststardiststarcolnoisedofstadofenddofmindofmaxaodistaodistfacaoenergyaobiasaomodeaosampaomixaocolor*aospherehemiresmaxiterdrawtypesubshootpsubshootenodelimmaxsublamppamapamielmaelmimaxnodeconvergenceradfacgammaselcolsxsy*lpFormat*lpParmscbFormatcbParmsfccTypefccHandlerdwKeyFrameEverydwQualitydwBytesPerSeconddwFlagsdwInterleaveEveryavicodecname[128]*cdParms*padcdSizeqtcodecname[128]mixratemainpad[3]*avicodecdata*qtcodecdatacfraimagesframaptoframelenblurfacedgeRedgeGedgeBfullscreenxplayyplayfreqplayattribrt1rt2stereomodedimensionspresetfiltertypemaximsizexschyschxaspyaspxpartsypartssafetyborderwinposplanesimtypebufflagqualityscemoderendererocresrpad[2]alphamodedogammaosafrs_secedgeintsame_mat_reduxgausspostmulpostgammapostaddpostigammaposthuepostsatdither_intensityzminfocuszgammazsigmazblurGIqualityGIcacheGImethodGIphotonsGIdirectYF_AAYFexportxmlYF_nobumpYF_clamprgbyfpad1GIdepthGIcausdepthGIpixelspersampleGIphotoncountGImixphotonsGIphotonradiusYF_numprocsYF_raydepthYF_AApassesYF_AAsamplesGIshadowqualityGIrefinementGIpowerGIindirpowerYF_gammaYF_exposureYF_raybiasYF_AApixelsizeYF_AAthresholdbackbuf[160]pic[160]ftype[160]col[3]framename[64]cornertypeeditbutflagdegrstepturnextr_offsdoublimitsegmentsringsvertices*camera*world*setbase*basact*groupcursor[3]twcent[3]twmin[3]twmax[3]selectmodeproportionalprop_modeeditbutsize*ed*radioframing*toolsettingsaudiomarkers*theDagdagisvaliddagflagszoomblendximyim*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*localvdlocalviewlayactscenelockaroundcamzoomgridgridviewpixsizenearfargridlinesviewbutgridflagmodeselectmenunrtexnrtwtypetwmodetwflagtwdrawflagtwmat[4][4]clip[4][4]*clipbbafterdrawzbufxrayverthormaskmin[2]max[2]minzoommaxzoomscrollkeeptotkeepaspectkeepzoomoldwinxoldwinyrowbutv2d*editipoipokeyactname[32]constname[32]totipopinbutofschannellockmedian[3]cursenscuractaligntabomainbmainbo*lockpointexfromshowgrouprectxrectycurymodeltypescriptblockre_alignoldkeypresstab[7]*filelisttotfiletitle[24]dir[160]file[80]ofssortmaxnamelencollums*libfiledataretvalmenuact(*returnfunc)()*menupoopsvisiflagtree*treestoreoutlinevisstoreflagdeps_flags*imageimanrcurtile*texttopviewlinesfont_idlheightleftshowlinenrstabnumbercurrtab_setshowsyntaxunused_paddpix_per_linetxtscrolltxtbar*scriptredrawstitle[28]fasesubfasemouse_move_redrawimafasemxmydirslidirsli_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*arg1outline[4]neutral[4]action[4]setting[4]setting1[4]setting2[4]num[4]textfield[4]textfield_hi[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_drawtypepad1[3]back[4]header[4]panel[4]shade1[4]shade2[4]hilite[4]grid[4]wire[4]select[4]lamp[4]active[4]transform[4]vertex[4]vertex_select[4]edge[4]edge_select[4]edge_seam[4]edge_facesel[4]face[4]face_select[4]face_dot[4]normal[4]bone_solid[4]bone_pose[4]strip[4]strip_select[4]vertex_sizefacedot_sizebpad[2]syntaxl[4]syntaxn[4]syntaxb[4]syntaxv[4]syntaxc[4]tuitbutstv3dtfiletipotinfotsndtacttnlatseqtimatimaseltexttoopsttimespec[4]dupflagsavetimetempdir[160]fontdir[160]renderdir[160]textudir[160]plugtexdir[160]plugseqdir[160]pythondir[160]sounddir[160]yfexportdir[160]versionsvrmlflaggameflagswheellinescrolluiflaglanguageuserprefviewzoomconsole_bufferconsole_outmixbufsizefontsizeencodingtransoptsmenuthreshold1menuthreshold2fontname[256]themesundostepscurssizetb_leftmousetb_rightmouselight[3]tw_hotspottw_flagtw_handlesizetw_sizetextimeouttexcollectrateobcenter_diavertbaseedgebaseareabase*sceneendxendysizexsizeyscenenrscreennrfullmainwinwinakthandler[8]*newvvec*v1*v2panelname[64]tabname[64]ofsxofsycontrolold_ofsxold_ofsysortcounter*paneltab*v3*v4*fullwinmat[4][4]headrctwinrctheadwinwinheadertypebutspacetypewinxwinyhead_swaphead_equalwin_swapwin_equalheadbutlenheadbutofscursorspacedatauiblockspanels*curscreen*curscenedisplaymodefileflagsglobalfname[80]*se1*se2*se3nrdone*stripdataorxory*newseqstartofsendofsstartstillendstillmachinestartdispenddispmulhandsize*strip*curelemfacf0facf1*seq1*seq2*seq3seqbase*soundlevelpancurposstrobe*effectdata*oldbasep*parseq*seqbasepmetastackedgeWidthangleforwardwipetypefMinifClampfBoostdDistdQualitybNoCompbuttypeuserjitstaendtotpartnormfacobfacrandfactexfacrandlifeforce[3]vectsizedefvec[3]mult[4]life[4]child[4]mat[4]texmapcurmultstaticstepomattimetexspeedtexflag2flag2negvertgroup_vvgroupname[32]vgroupname_v[32]*keysminfacused*idusedelemdxdylinkotypedataold*poin*oldpoinresetdistlastval*makeyqualqual2targetName[32]toggleName[32]value[32]maxvalue[32]materialName[32]damptimerdelaypropname[32]matname[32]axisflag*fromObjectsubject[32]body[32]pulsefreqtotlinks**linksinvertfreq2axisfbuttonbuttonfhathatfprecisionstr[128]*mynewinputstotslinks**slinksvalvalotime*actblendinprioritystridelengthstrideaxisreserved3sndnrmakecopycopymadepad[1]trackvolume*melinVelocity[3]localflagforceloc[3]forcerot[3]linearvelocity[3]angularvelocity[3]addedlinearvelocity[3]anotherpad[4]butstabutendminfacvisifacslowminloc[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]bone_mat[3][3]arm_head[3]arm_tail[3]arm_mat[4][4]xwidthzwidthease1ease2rad_headrad_tailboneclassbonebasechainbaseghostepghostsizeconstflagikflag*bone*childiktree*b_bone_matschan_mat[4][4]pose_mat[4][4]pose_head[3]pose_tail[3]limitmin[3]limitmax[3]stiffness[3]ikstretchchanbasestride_offset[3]actnrtimeslidename[30]enforce*tariterationsrootbonesubtarget[32]orientweightgrabtarget[3]minmaxflagstickystuckcache[3]locallockflagfollowflagoffset[3]zmaxvolmodeplaneorglengthbulgestride_axisactstartactendstridelenrepeatblendoutstridechannel[32]TYPEcharucharshortushortintlongulongfloatdoublevoidLinkListBasevec2svec2ivec2fvec2dvec3ivec3fvec3dvec4ivec4fvec4drctirctfIDLibraryFileDataIpoKeyBlockKeyScriptLinkTextLineTextPackedFileCameraImageanimImBufMTexObjectTexPluginTexCBDataColorBandEnvMapLampWaveMaterialVFontVFontDataMetaElemBoundBoxMetaBallBezTripleBPointNurbCharInfoTextBoxCurvePathIpoDriverIpoCurveTFaceMeshMFaceMVertMEdgeMDeformVertMColMStickyOcInfoMDeformWeightModifierDataSubsurfModifierDataLatticeModifierDataCurveModifierDataBuildModifierDataMirrorModifierDataDecimateModifierDataWaveModifierDataArmatureModifierDataHookModifierDataSoftbodyModifierDataBooleanModifierDataLatticebDeformGroupLBufbActionbPosePartDeflectSoftBodyLifeFluidsimSettingsDerivedMeshObHookSBVertexBodyPointBodySpringWorldRadioBaseAviCodecDataQuicktimeCodecDataAudioDataRenderDataGameFramingTimeMarkerToolSettingsSceneGroupDagForestBGpicView3DSpaceLinkScrAreaView2DSpaceInfoSpaceIpoSpaceButsSpaceSeqSpaceFiledirentryBlendHandleSpaceOopsTreeStoreSpaceImageSpaceNlaSpaceTextSpaceScriptScriptSpaceTimeSpaceImaSelImaDirOneSelectableImaThemeUIThemeSpacebThemeSolidLightUserDefbScreenScrVertScrEdgePanelFileGlobalStripElemStripPluginSeqSequencebSoundMetaStackEditingWipeVarsGlowVarsEffectBuildEffPartEffParticleWaveEffTreeStoreElemOopsbPropertybNearSensorbMouseSensorbTouchSensorbKeyboardSensorbPropertySensorbCollisionSensorbRadarSensorbRandomSensorbRaySensorbMessageSensorbSensorbControllerbJoystickSensorbExpressionContbPythonContbActuatorbAddObjectActuatorbActionActuatorbSoundActuatorbCDActuatorbEditObjectActuatorbSceneActuatorbPropertyActuatorbObjectActuatorbIpoActuatorbCameraActuatorbConstraintActuatorbGroupActuatorbRandomActuatorbMessageActuatorbGameActuatorbVisibilityActuatorFreeCamerabSamplebSoundListenerSpaceSoundGroupKeyObjectKeyGroupObjectBonebArmaturebPoseChannelbActionChannelSpaceActionbConstraintChannelbConstraintbKinematicConstraintbTrackToConstraintbRotateLikeConstraintbLocateLikeConstraintbMinMaxConstraintbActionConstraintbLockTrackConstraintbFollowPathConstraintbDistanceLimitConstraintbRotationConstraintbStretchToConstraintbActionStripTLEN  0Phtdt0XP4@l`88,T< 4DXXD<<\@4@l( 8,\T (PD$$x$(T x H8th  8 ,@0,HhH,(lDLP@< <@Lx0848l(@0pPD<,4L,,,<8,<4XSTRC                   !"#$% &'( )*+,-./012345 678 9:;<=>?@ A!BC7 "DEFGHIJKLMNO*P#$Q%R%STUVWXYZ[\]^!_`abcd&efgh'i(jklmnopqrstuvwxyz{|) }~  *stu+*,'i##FGTUE(44y*#)+,-2rstuvFG&*P.*/_rstu     ef+ +!"#$%&'()&**+,-./012345678P09:1 !_2223;<=>?@ABCDEFGHIJ4KL43; M N*/OPqQpRSTU5 VWXYZ[\]^6_WX[^777`^abcdefghij6k5lm8n`09o:63; p N'q'r's*;tu/O vQpRqwPxyz{cd49|}~0000988<'===6k5l  <> ? 3; *u/O@> ABCDE?F qQpRP@`BGXCGA`DstuEHHH"IH7  JH'i"KH'i"LHMHNHO HyPHE0'iQ H'i"RHSH'iTab06*uUUU"3FpV''_ ''*;t3;WX    N  /OQpRD      !"#P$P % & ' ( )*+,-./ 0 1 2Y3Z4[5V6V789:\;]<]=^^^'>"?@Y ABCDEFGHIJK__ZLM`NaOPQRSTUVWXYZE[\]^0__`,\abcdefghijklmnopqrs?t?u?vwxyb8rz{|}~*&Pcddd'ie  f  0ghbef]B      !"#$i%E0'jjj&'k ()*+,E-./010'l'2b3l4# 5d6m789:;<=>? @cA iBkChsgDP EnFGHEo #(jBIJKLMp5qqNOrPQRSTUVWXYZ'2o[p\]^_`aHbcdefo8ghijklmnopqr3s tuv0swxyz{|}~qqqNOrPQtqqNOrPQuqqNOrPQ0s  *+kvqqNOrPQsk lMEw qqNOrPQsI0xqqNOrPQyz {qqNOrPQs   |}qqNOrPQs#Ik~ qqNOrPQksqqNOrPQ 7k qqNOrP07kqqNOrPsQqqNOrP     0%   !"#$%$&'()*+,-./0123456789:;<=>?@ABCDEFG"HIJKLMNOPQRSTUVW_-XYZ[\]^_`abcdefghijklmnopqrs tuvwxyz{|}~E0'   l @rrrNP     %RT 4 9 }~  & 4*l$Q      4)Z,Ny| "^  "     "E0"/""0"""E' ! "#$E0" %'&' "()*+,-. /0$ 10'" %2345' W6"789:cd; <=>?<@A 5'?B"CDl'2"' EFQRGHIJ "EKL'MNOPQRST "EKLm7UVWXYZ'[ \E0!]^ / _" ' `abcdefg h!_!i j*Aklmnop7qrstuvwxyz{qqNOrPs<0]"|''*QpRD    }' ~m   "Xp/   0"wE0  QpDtX * "cW qqNOrPQsW* c 'X0'cd'c'c' 'MW6' ' 'E0p   '*W67ENDB