Script: Example in Blockly

Example in Blockly picture
Type
Blockly logo indicatorblockly
Project
Sharks
Date Created
Feb 21, 2022, 9:40:27 AM
Last Edit Date
Oct 2, 2025, 6:34:33 PM

Project Information

Aquarium of sharks GLTF / GLB import asset demo. This model is loaded from https://github.com/BabylonJS/Assets. BabylonJS team are authors of this asset and share it under CC BY 4.0 license.

View Full Project

Script Code

<xml xmlns="https://developers.google.com/blockly/xml">
 <variables>
  <variable id="/O{gwp#|?ETbZ,{CdgTZ">globalNode</variable>
  <variable id="z`4,=;!/!RV8`q#,VN3c">pointLight</variable>
  <variable id="|_}u8N6*Nm(HH,-R|e}=">pointLight2</variable>
  <variable id="x[i.eb0q4yP|N}:h_L!_">sharkMeshPromise</variable>
  <variable id="Rb.//eaC^-=NwUPn5!}8">result</variable>
  <variable id=";5h%^BJh)`CAnK}F:xTC">sharkInstances</variable>
  <variable id="w]F3AtioA-ce0PoUY`(,">i</variable>
  <variable id="~MwI1K$/`cUlVri|vBBF">j</variable>
  <variable id="m]fS9+85/f^gb95m8b$3">rotationCount</variable>
  <variable id="mmqCdOrUFKwuJH)).pk@">sharkInstance</variable>
  <variable id="1!.sAqi$3LgPaWlN[s/{">timeElapsedFromPreviousFrame</variable>
  <variable id="9yYuO^L^=eDN@I{PX._i">size</variable>
  <variable id="Sl/Sh}i.V2l`]!ci5At@">k</variable>
  <variable id="^0%.LXEQTuQf9^a1X[@7">position</variable>
  <variable id="TX@@oa.EcQQv=/a/ylAv">zCoord</variable>
 </variables>
 <block type="bitbybit.babylon.scene.backgroundColour" id="LMY:F%+asm?)lUe5[-rc" x="-4209" y="-2382">
  <value name="Colour">
   <block type="colour_picker" id="gBB[h/BCddJ:M,C-Ot,K">
    <field name="COLOUR">#333333</field>
   </block>
  </value>
  <next>
   <block type="variables_set" id="pam/]lB]^hN`sk`5zQK^">
    <field name="VAR" id="/O{gwp#|?ETbZ,{CdgTZ">globalNode</field>
    <value name="VALUE">
     <block type="bitbybit.babylon.node.createNodeFromRotation" id="qv_Q1R(q}vvL{T-Hj%BO">
      <value name="Parent">
       <block type="bitbybit.babylon.node.getRootNode" id="hD3,lh87]3$rEMy?hu6z">
       </block>
      </value>
      <value name="Origin">
       <block type="bitbybit.point.pointXYZ" id=";ds:k@Wi7yu)`@ngk+~E">
        <value name="X">
         <block type="math_number" id="jT=3Ue5o2$zN5rgch:Z8">
          <field name="NUM">0</field>
         </block>
        </value>
        <value name="Y">
         <block type="math_number" id="rk(E]PL{Sup{(5Hd3t5-">
          <field name="NUM">0</field>
         </block>
        </value>
        <value name="Z">
         <block type="math_number" id="3H*A.c}#C33iOFcI@9oW">
          <field name="NUM">0</field>
         </block>
        </value>
       </block>
      </value>
      <value name="Rotation">
       <block type="bitbybit.point.pointXYZ" id="oNiPrW@66Qs@q|wAhFch">
        <value name="X">
         <block type="math_number" id="0lF{U(e/Y(bm.:/j*;Dy">
          <field name="NUM">0</field>
         </block>
        </value>
        <value name="Y">
         <block type="math_number" id=",z$P|!V)aaTdH]br5CdV">
          <field name="NUM">0</field>
         </block>
        </value>
        <value name="Z">
         <block type="math_number" id="SDt4^(aHvy,tk$M,:..Y">
          <field name="NUM">0</field>
         </block>
        </value>
       </block>
      </value>
     </block>
    </value>
    <next>
     <block type="variables_set" id="6=PWUow~bY1e333Qm5kw">
      <field name="VAR" id="z`4,=;!/!RV8`q#,VN3c">pointLight</field>
      <value name="VALUE">
       <block type="bitbybit.babylon.scene.drawPointLight" id="^*K(Ze`[=NEFR#/2NP1_">
        <value name="Position">
         <block type="bitbybit.point.pointXYZ" id="=i3qjeHCPuKyidHS](VZ">
          <value name="X">
           <block type="math_number" id=")1k=U:TIE~99]Wq%ixhT">
            <field name="NUM">4</field>
           </block>
          </value>
          <value name="Y">
           <block type="math_number" id="znP~x,O*r}ZP.oN,c|Q6">
            <field name="NUM">9</field>
           </block>
          </value>
          <value name="Z">
           <block type="math_number" id="7BO7`!)hGFZ@y:P+k;6~">
            <field name="NUM">7</field>
           </block>
          </value>
         </block>
        </value>
        <value name="Intensity">
         <block type="math_number" id="SRDua/2#uts-FOW;,wxU">
          <field name="NUM">4000</field>
         </block>
        </value>
        <value name="Diffuse">
         <block type="colour_picker" id="Rgdc9sBjb/LOwiATIizr">
          <field name="COLOUR">#3366ff</field>
         </block>
        </value>
        <value name="Specular">
         <block type="colour_picker" id="S[$3Q_|BUjS:ol2swJ6$">
          <field name="COLOUR">#ffffff</field>
         </block>
        </value>
        <value name="Radius">
         <block type="math_number" id="Sq1nQGq38N1{o`z2df!z">
          <field name="NUM">0</field>
         </block>
        </value>
        <value name="ShadowGeneratorMapSize">
         <block type="math_number" id="}CZ(TORyfUi#Y6Faska2">
          <field name="NUM">2000</field>
         </block>
        </value>
        <value name="EnableShadows">
         <block type="logic_boolean" id="u0{Hb;oEv-=/K88ivn|)">
          <field name="BOOL">TRUE</field>
         </block>
        </value>
        <value name="ShadowDarkness">
         <block type="math_number" id="`hiVC3G=wU4?B8H/}c@k">
          <field name="NUM">0</field>
         </block>
        </value>
       </block>
      </value>
      <next>
       <block type="variables_set" id="r!jFE#~*PeUzU2N%5C{P">
        <field name="VAR" id="|_}u8N6*Nm(HH,-R|e}=">pointLight2</field>
        <value name="VALUE">
         <block type="bitbybit.babylon.scene.drawPointLight" id="qit/EOP95oytOznj:f,F">
          <value name="Position">
           <block type="bitbybit.point.pointXYZ" id="]hq5-c-Z@r%3bX-J/XbC">
            <value name="X">
             <block type="math_number" id="Gs:$NX~/$%IiZ350%#rq">
              <field name="NUM">-7</field>
             </block>
            </value>
            <value name="Y">
             <block type="math_number" id="f:pIA.cL759g|+8^(1F*">
              <field name="NUM">7</field>
             </block>
            </value>
            <value name="Z">
             <block type="math_number" id="D[e)MJFVk}F6Z`kfm3?5">
              <field name="NUM">-8</field>
             </block>
            </value>
           </block>
          </value>
          <value name="Intensity">
           <block type="math_number" id="9Z5L~D#H_tP{:6}g``At">
            <field name="NUM">4000</field>
           </block>
          </value>
          <value name="Diffuse">
           <block type="colour_picker" id="%zGv{Ro%o%wR537p$R4|">
            <field name="COLOUR">#3366ff</field>
           </block>
          </value>
          <value name="Specular">
           <block type="colour_picker" id=",fLrEzoYXFxWo5:7LG~9">
            <field name="COLOUR">#ffffff</field>
           </block>
          </value>
          <value name="Radius">
           <block type="math_number" id="EBUL.=~Y8K4E4nZLV08)">
            <field name="NUM">0</field>
           </block>
          </value>
          <value name="ShadowGeneratorMapSize">
           <block type="math_number" id="zfzjVvD$ITL*yPL7uFfM">
            <field name="NUM">2000</field>
           </block>
          </value>
          <value name="EnableShadows">
           <block type="logic_boolean" id="x12KM:t/Z1YocWn0m:5}">
            <field name="BOOL">FALSE</field>
           </block>
          </value>
          <value name="ShadowDarkness">
           <block type="math_number" id="9hC8g$C#lsD$-qwQ2:y=">
            <field name="NUM">0</field>
           </block>
          </value>
         </block>
        </value>
        <next>
         <block type="bitbybit.babylon.mesh.setParent" id="IM4+hLxkuTNG(VH2qX$!">
          <value name="BabylonMesh">
           <block type="variables_get" id="SJ!}rc)W#]5#+~KDV#6;">
            <field name="VAR" id="z`4,=;!/!RV8`q#,VN3c">pointLight</field>
           </block>
          </value>
          <value name="ParentMesh">
           <block type="variables_get" id=";vC`J@~O?;jfCa90*+qx">
            <field name="VAR" id="/O{gwp#|?ETbZ,{CdgTZ">globalNode</field>
           </block>
          </value>
          <next>
           <block type="bitbybit.babylon.mesh.setParent" id="b`{xepIU{[Id3TJuIrl_">
            <value name="BabylonMesh">
             <block type="variables_get" id="%6!w3wl]N8Lk]pF9R=[_">
              <field name="VAR" id="|_}u8N6*Nm(HH,-R|e}=">pointLight2</field>
             </block>
            </value>
            <value name="ParentMesh">
             <block type="variables_get" id="I,!/)(Ur8|n)=t9[9%]y">
              <field name="VAR" id="/O{gwp#|?ETbZ,{CdgTZ">globalNode</field>
             </block>
            </value>
            <next>
             <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="#*.f_YgH/)s)vV??CkVX">
              <value name="Entity">
               <block type="bitbybit.occt.shapes.face.createCircleFace" id="!rF]`Dyb%Q^}ji)8A3I?">
                <value name="Radius">
                 <block type="math_number" id="*)uXv1-@10HK}D:wfF2?">
                  <field name="NUM">40</field>
                 </block>
                </value>
                <value name="Center">
                 <block type="bitbybit.point.pointXYZ" id="X/:l!%_=t5G.[E?Ntqrf">
                  <value name="X">
                   <block type="math_number" id="WD@uQJ_Y)][a12TRx75X">
                    <field name="NUM">0</field>
                   </block>
                  </value>
                  <value name="Y">
                   <block type="math_number" id="LWXNzf7r_F~Gk-nH~5?G">
                    <field name="NUM">-1</field>
                   </block>
                  </value>
                  <value name="Z">
                   <block type="math_number" id="*Fah_t$Mcx`5QqE8`2[l">
                    <field name="NUM">0</field>
                   </block>
                  </value>
                 </block>
                </value>
                <value name="Direction">
                 <block type="bitbybit.point.pointXYZ" id="|:4/|^)rz{ZXv3DB|22F">
                  <value name="X">
                   <block type="math_number" id="NQNr@3DEdrUL#%Yobwy%">
                    <field name="NUM">0</field>
                   </block>
                  </value>
                  <value name="Y">
                   <block type="math_number" id="y5H[%[nh)gs,N{]m(-=%">
                    <field name="NUM">1</field>
                   </block>
                  </value>
                  <value name="Z">
                   <block type="math_number" id=",d{LvK%L+r]6J6*4+huC">
                    <field name="NUM">0</field>
                   </block>
                  </value>
                 </block>
                </value>
               </block>
              </value>
              <value name="Options">
               <block type="bitbybit.draw.optionsOcctShape" id="A~-y?|wu3V^XN*w_efrH">
                <value name="FaceOpacity">
                 <block type="math_number" id="livceSOU:T/zHD,uT5{W">
                  <field name="NUM">1</field>
                 </block>
                </value>
                <value name="EdgeOpacity">
                 <block type="math_number" id="0Fk[qO%R`ehAF(|;J8)=">
                  <field name="NUM">1</field>
                 </block>
                </value>
                <value name="EdgeColour">
                 <block type="colour_picker" id="*{bp){OBBzv]ZTfQ{~re">
                  <field name="COLOUR">#bbbbff</field>
                 </block>
                </value>
                <value name="FaceColour">
                 <block type="colour_picker" id="Y]gVhmD|l/tuIdYHa7g_">
                  <field name="COLOUR">#333333</field>
                 </block>
                </value>
                <value name="EdgeWidth">
                 <block type="math_number" id="`]Pt8]-#DP.RVKoiq@ai">
                  <field name="NUM">2</field>
                 </block>
                </value>
                <value name="DrawEdges">
                 <block type="logic_boolean" id="x79cP(i=lkq_FitrokwN">
                  <field name="BOOL">FALSE</field>
                 </block>
                </value>
                <value name="DrawFaces">
                 <block type="logic_boolean" id="I12Ld1Qe+/7`8:q,xdG[">
                  <field name="BOOL">TRUE</field>
                 </block>
                </value>
                <value name="Precision">
                 <block type="math_number" id="WMCo.V%r-NhpJbW2KXkY">
                  <field name="NUM">0.5</field>
                 </block>
                </value>
                <value name="DrawEdgeIndexes">
                 <block type="logic_boolean" id="1WzCn4?/54*Q2pPqw;Y2">
                  <field name="BOOL">FALSE</field>
                 </block>
                </value>
                <value name="EdgeIndexHeight">
                 <block type="math_number" id=",?W]l$Mjd_~2.t^hp?PS">
                  <field name="NUM">0.06</field>
                 </block>
                </value>
                <value name="EdgeIndexColour">
                 <block type="colour_picker" id="OA7Kb|gDauR,P2a~n@I#">
                  <field name="COLOUR">#bbbbff</field>
                 </block>
                </value>
                <value name="DrawFaceIndexes">
                 <block type="logic_boolean" id="%N5AVyFbY2ta/JHpVf,.">
                  <field name="BOOL">FALSE</field>
                 </block>
                </value>
                <value name="FaceIndexHeight">
                 <block type="math_number" id="?job`|qKaJ%b6v/S#Ts(">
                  <field name="NUM">0.06</field>
                 </block>
                </value>
                <value name="FaceIndexColour">
                 <block type="colour_picker" id="!LC6{vpqXp#*5A:CD^bW">
                  <field name="COLOUR">#0000ff</field>
                 </block>
                </value>
               </block>
              </value>
              <next>
               <block type="variables_set" id="Gf8dk4ibW3i$:OV5JR^W">
                <field name="VAR" id="x[i.eb0q4yP|N}:h_L!_">sharkMeshPromise</field>
                <value name="VALUE">
                 <block type="bitbybit.babylon.io.loadAssetIntoScene" id="/x/1spk}w5Hf!FuZJYQX">
                  <value name="AssetFile">
                   <block type="bitbybit.asset.getFile" id="`6[5;nv0J%;:o1X/$6}2">
                    <value name="FileName">
                     <block type="text" id="ZJM_7ZeU6c-(W@YO-qyh">
                      <field name="TEXT">shark.glb</field>
                     </block>
                    </value>
                   </block>
                  </value>
                 </block>
                </value>
                <next>
                 <block type="base_time_then" id="BM{fvzr%@W+kD$v^h.y*">
                  <field name="Result" id="Rb.//eaC^-=NwUPn5!}8">result</field>
                  <value name="Promise">
                   <block type="variables_get" id="Q?IS*j/vfXH%Hm95X2GI">
                    <field name="VAR" id="x[i.eb0q4yP|N}:h_L!_">sharkMeshPromise</field>
                   </block>
                  </value>
                  <statement name="Then">
                   <block type="bitbybit.babylon.mesh.hide" id="#ssM.N6c)?#WscB6PnDp">
                    <value name="BabylonMesh">
                     <block type="variables_get" id="B/%SwM$!w1JuV!|LElSD">
                      <field name="VAR" id="Rb.//eaC^-=NwUPn5!}8">result</field>
                     </block>
                    </value>
                    <value name="IncludeChildren">
                     <block type="logic_boolean" id="o=#N0{J{E=c,7/8u$ak8">
                      <field name="BOOL">TRUE</field>
                     </block>
                    </value>
                    <next>
                     <block type="variables_set" id="RC}eb{4q4:@C]Yw-|t`r">
                      <field name="VAR" id=";5h%^BJh)`CAnK}F:xTC">sharkInstances</field>
                      <value name="VALUE">
                       <block type="lists_create_with" id="mBY`^-K51Z1}FqqTg!q4">
                        <mutation items="0">
                        </mutation>
                       </block>
                      </value>
                      <next>
                       <block type="controls_for" id="Rk!qC_zd((x@r+8rJKZ*">
                        <field name="VAR" id="w]F3AtioA-ce0PoUY`(,">i</field>
                        <value name="FROM">
                         <block type="math_number" id="uKV%Agz+n(=Vbtx0;$Tm">
                          <field name="NUM">-10</field>
                         </block>
                        </value>
                        <value name="TO">
                         <block type="math_number" id="e^-RJn[!p^wZa4N+bYxa">
                          <field name="NUM">10</field>
                         </block>
                        </value>
                        <value name="BY">
                         <block type="math_number" id="Y1#,?co*;*Z%Qar2*!(8">
                          <field name="NUM">4</field>
                         </block>
                        </value>
                        <statement name="DO">
                         <block type="controls_for" id="%y|O(8lJr|_f|n6}~7Sx">
                          <field name="VAR" id="~MwI1K$/`cUlVri|vBBF">j</field>
                          <value name="FROM">
                           <block type="math_number" id="~|%aXB3^mtU}L{j5a48*">
                            <field name="NUM">-28</field>
                           </block>
                          </value>
                          <value name="TO">
                           <block type="math_number" id="Iexkn7^y9UE*WB@|Axl_">
                            <field name="NUM">28</field>
                           </block>
                          </value>
                          <value name="BY">
                           <block type="math_number" id="?jLBfsd!t*=C0V^?aezo">
                            <field name="NUM">7</field>
                           </block>
                          </value>
                          <statement name="DO">
                           <block type="variables_set" id="x~fU1A`gh#0M$ygHuXIG">
                            <field name="VAR" id="mmqCdOrUFKwuJH)).pk@">sharkInstance</field>
                            <value name="VALUE">
                             <block type="bitbybit.babylon.mesh.createMeshInstance" id="m,2VB?pa?Si_V4aMi8L}">
                              <value name="Mesh">
                               <block type="variables_get" id="@m?u8]zaOwI@ax;S;2/]">
                                <field name="VAR" id="Rb.//eaC^-=NwUPn5!}8">result</field>
                               </block>
                              </value>
                             </block>
                            </value>
                            <next>
                             <block type="variables_set" id="x??]Hv2gtjJlhwuR:n7Z">
                              <field name="VAR" id="9yYuO^L^=eDN@I{PX._i">size</field>
                              <value name="VALUE">
                               <block type="bitbybit.math.remap" id="_-4(r?qAs!PjFIZpsw{L">
                                <value name="Number">
                                 <shadow type="math_number" id="}Ekk3xkT|y0j5(i7YDr[">
                                  <field name="NUM">5</field>
                                 </shadow>
                                 <block type="bitbybit.math.random" id=",B-p~VQgvI]=d|S2KS!K">
                                 </block>
                                </value>
                                <value name="FromLow">
                                 <block type="math_number" id="=8W4+lKVZ|E.(g}N%bWK">
                                  <field name="NUM">0</field>
                                 </block>
                                </value>
                                <value name="FromHigh">
                                 <block type="math_number" id="]wVrcY|E0;Wzb7:-{g%l">
                                  <field name="NUM">1</field>
                                 </block>
                                </value>
                                <value name="ToLow">
                                 <block type="math_number" id="FX;buD;(@%v%m9K*^S,6">
                                  <field name="NUM">0.002</field>
                                 </block>
                                </value>
                                <value name="ToHigh">
                                 <block type="math_number" id="H@y[yb+.v@nbi,6$mPFm">
                                  <field name="NUM">0.004</field>
                                 </block>
                                </value>
                               </block>
                              </value>
                              <next>
                               <block type="bitbybit.babylon.mesh.setScale" id="SV/3i[o,$J;SqG_=)VN`">
                                <value name="BabylonMesh">
                                 <block type="variables_get" id="Do2f@#l9v/73%hZ[TQ*/">
                                  <field name="VAR" id="mmqCdOrUFKwuJH)).pk@">sharkInstance</field>
                                 </block>
                                </value>
                                <value name="Scale">
                                 <block type="bitbybit.point.pointXYZ" id=",o~YDQ9/:Zph2@21=j}I">
                                  <value name="X">
                                   <block type="variables_get" id="Mu5/8xA]HpE(;-DMGu05">
                                    <field name="VAR" id="9yYuO^L^=eDN@I{PX._i">size</field>
                                   </block>
                                  </value>
                                  <value name="Y">
                                   <block type="variables_get" id="6+{13U4yiKCUURVpU$)E">
                                    <field name="VAR" id="9yYuO^L^=eDN@I{PX._i">size</field>
                                   </block>
                                  </value>
                                  <value name="Z">
                                   <block type="variables_get" id="3f$bR@rD!_Y(f#${@[8x">
                                    <field name="VAR" id="9yYuO^L^=eDN@I{PX._i">size</field>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                                <next>
                                 <block type="bitbybit.babylon.mesh.setPosition" id="5Gcq:o_^oq?dDPE-b:YF">
                                  <value name="BabylonMesh">
                                   <block type="variables_get" id="$.|o229HE|S1jHw;VM#+">
                                    <field name="VAR" id="mmqCdOrUFKwuJH)).pk@">sharkInstance</field>
                                   </block>
                                  </value>
                                  <value name="Position">
                                   <block type="bitbybit.point.pointXYZ" id="D%0HL)QG$7`2sAZP_fRI">
                                    <value name="X">
                                     <block type="math_arithmetic" id="-pu)g;L_kE3Oxqytv}~h">
                                      <field name="OP">ADD</field>
                                      <value name="A">
                                       <block type="variables_get" id="4iE!5!rO6_y][f_Y3{2z">
                                        <field name="VAR" id="w]F3AtioA-ce0PoUY`(,">i</field>
                                       </block>
                                      </value>
                                      <value name="B">
                                       <block type="math_arithmetic" id="@3c8$EM@r)}/IE|SPRdD">
                                        <field name="OP">MULTIPLY</field>
                                        <value name="A">
                                         <block type="math_number" id="4wv_*~)ws_l$y!IGrf-n">
                                          <field name="NUM">2</field>
                                         </block>
                                        </value>
                                        <value name="B">
                                         <block type="bitbybit.math.random" id="?[=)mLkIChvP$tp0fL/;">
                                         </block>
                                        </value>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                    <value name="Y">
                                     <block type="math_arithmetic" id="sL,~=%]LPC:EItoN(jsC">
                                      <field name="OP">MULTIPLY</field>
                                      <value name="A">
                                       <block type="math_number" id="|qQ(A/Fh/VL?mC(#jGUm">
                                        <field name="NUM">5</field>
                                       </block>
                                      </value>
                                      <value name="B">
                                       <block type="bitbybit.math.random" id="S=gmGly3%D$YY@iH%T|W">
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                    <value name="Z">
                                     <block type="math_arithmetic" id="u?,OP-Lp|8MGzix9Bs/k">
                                      <field name="OP">ADD</field>
                                      <value name="A">
                                       <block type="variables_get" id="3/.!yK=I!}F5S`RHS;n8">
                                        <field name="VAR" id="~MwI1K$/`cUlVri|vBBF">j</field>
                                       </block>
                                      </value>
                                      <value name="B">
                                       <block type="math_arithmetic" id="3G{7amdaK6l6,`UyvctE">
                                        <field name="OP">MULTIPLY</field>
                                        <value name="A">
                                         <block type="math_number" id="guD_n?RX-~Qj!)=p7E8n">
                                          <field name="NUM">2</field>
                                         </block>
                                        </value>
                                        <value name="B">
                                         <block type="bitbybit.math.random" id="n0`n6Rd]CExgdHhSM2A;">
                                         </block>
                                        </value>
                                       </block>
                                      </value>
                                     </block>
                                    </value>
                                   </block>
                                  </value>
                                  <next>
                                   <block type="lists_setIndex" id="^0|5:k.=FK!2]Djp=f%V">
                                    <mutation at="false">
                                    </mutation>
                                    <field name="MODE">INSERT</field>
                                    <field name="WHERE">LAST</field>
                                    <value name="LIST">
                                     <block type="variables_get" id="0TAf?gdgn*c:]k#;.}##">
                                      <field name="VAR" id=";5h%^BJh)`CAnK}F:xTC">sharkInstances</field>
                                     </block>
                                    </value>
                                    <value name="TO">
                                     <block type="variables_get" id="G04x;=xp(6c^S-ykh8GO">
                                      <field name="VAR" id="mmqCdOrUFKwuJH)).pk@">sharkInstance</field>
                                     </block>
                                    </value>
                                   </block>
                                  </next>
                                 </block>
                                </next>
                               </block>
                              </next>
                             </block>
                            </next>
                           </block>
                          </statement>
                         </block>
                        </statement>
                        <next>
                         <block type="variables_set" id="Is.wGjR)Tft2Yw^4jq_c">
                          <field name="VAR" id="m]fS9+85/f^gb95m8b$3">rotationCount</field>
                          <value name="VALUE">
                           <block type="math_number" id="8afma:@l;KciFQ2rUsF#">
                            <field name="NUM">0</field>
                           </block>
                          </value>
                          <next>
                           <block type="base_time_update" id="NUOkugRzL68qx@K7sWkq">
                            <field name="TimePassedMs" id="1!.sAqi$3LgPaWlN[s/{">timeElapsedFromPreviousFrame</field>
                            <statement name="Update">
                             <block type="math_change" id="2Nf2(THYa!:N`U4ANi^P">
                              <field name="VAR" id="m]fS9+85/f^gb95m8b$3">rotationCount</field>
                              <value name="DELTA">
                               <shadow type="math_number" id="!jhhhC}1U~#rmo+s$BgL">
                                <field name="NUM">0.3</field>
                               </shadow>
                              </value>
                              <next>
                               <block type="bitbybit.babylon.mesh.setRotation" id="G8OQ+5Kld31hU+%}A[~n">
                                <value name="BabylonMesh">
                                 <block type="variables_get" id="NCC=i;:Lkgd0P[x8T3qv">
                                  <field name="VAR" id="/O{gwp#|?ETbZ,{CdgTZ">globalNode</field>
                                 </block>
                                </value>
                                <value name="Rotation">
                                 <block type="bitbybit.point.pointXYZ" id="Qj7]3wif`perewo9d6FE">
                                  <value name="X">
                                   <block type="math_number" id="Z[D$Rzv(;.$e^,?BJSjQ">
                                    <field name="NUM">0</field>
                                   </block>
                                  </value>
                                  <value name="Y">
                                   <block type="variables_get" id="_DncD+cxQn*K/q(XcAZW">
                                    <field name="VAR" id="m]fS9+85/f^gb95m8b$3">rotationCount</field>
                                   </block>
                                  </value>
                                  <value name="Z">
                                   <block type="math_number" id="NM$B%5-q|5x54];8^qW`">
                                    <field name="NUM">0</field>
                                   </block>
                                  </value>
                                 </block>
                                </value>
                                <next>
                                 <block type="controls_forEach" id="1X2=J14Srsug(uQfSuay">
                                  <field name="VAR" id="Sl/Sh}i.V2l`]!ci5At@">k</field>
                                  <value name="LIST">
                                   <block type="variables_get" id="E)-8r4j30)C$[q`lr{);">
                                    <field name="VAR" id=";5h%^BJh)`CAnK}F:xTC">sharkInstances</field>
                                   </block>
                                  </value>
                                  <statement name="DO">
                                   <block type="bitbybit.babylon.mesh.moveForward" id="e)n=xHh{wed=b{.E$SlD">
                                    <value name="BabylonMesh">
                                     <block type="variables_get" id="~xQd[ms.`_93Bx`[]u3}">
                                      <field name="VAR" id="Sl/Sh}i.V2l`]!ci5At@">k</field>
                                     </block>
                                    </value>
                                    <value name="Distance">
                                     <block type="math_number" id="$gn|V[qW(#S#y789^;t+">
                                      <field name="NUM">0.05</field>
                                     </block>
                                    </value>
                                    <next>
                                     <block type="variables_set" id=";i!y:[BwB@scirpGBhs0">
                                      <field name="VAR" id="^0%.LXEQTuQf9^a1X[@7">position</field>
                                      <value name="VALUE">
                                       <block type="bitbybit.babylon.mesh.getPosition" id="MSo_jH`v%ZFF:52SISnB">
                                        <value name="BabylonMesh">
                                         <block type="variables_get" id="BDtCh/p%]jOW^8xjJG7#">
                                          <field name="VAR" id="Sl/Sh}i.V2l`]!ci5At@">k</field>
                                         </block>
                                        </value>
                                       </block>
                                      </value>
                                      <next>
                                       <block type="variables_set" id="#xujn]{iCIE@[lMH@bWp">
                                        <field name="VAR" id="TX@@oa.EcQQv=/a/ylAv">zCoord</field>
                                        <value name="VALUE">
                                         <block type="bitbybit.point.getZ" id="!goK-Ajwb]j~L]JM:DGl">
                                          <value name="Point">
                                           <block type="variables_get" id="z*@6Gj9vtvh*me|mZNDf">
                                            <field name="VAR" id="^0%.LXEQTuQf9^a1X[@7">position</field>
                                           </block>
                                          </value>
                                         </block>
                                        </value>
                                        <next>
                                         <block type="controls_if" id="/%4oRY]/iQ-zM[5R]iis">
                                          <value name="IF0">
                                           <block type="logic_compare" id="B+Y=}zK,f7KCkZebbeFT">
                                            <field name="OP">GT</field>
                                            <value name="A">
                                             <block type="variables_get" id="Vbzg(`[w_ZsezX6c[Kf,">
                                              <field name="VAR" id="TX@@oa.EcQQv=/a/ylAv">zCoord</field>
                                             </block>
                                            </value>
                                            <value name="B">
                                             <block type="math_number" id="CmDp~fDju0r4/lk}Sjzr">
                                              <field name="NUM">28</field>
                                             </block>
                                            </value>
                                           </block>
                                          </value>
                                          <statement name="DO0">
                                           <block type="bitbybit.babylon.mesh.setPosition" id="lTKaR}5A]ttZ`I;/7]TE">
                                            <value name="BabylonMesh">
                                             <block type="variables_get" id="nD91l]Cmk_LESaPtIeaZ">
                                              <field name="VAR" id="Sl/Sh}i.V2l`]!ci5At@">k</field>
                                             </block>
                                            </value>
                                            <value name="Position">
                                             <block type="bitbybit.point.pointXYZ" id=")=+H-t:,ES#}RTw[mt,.">
                                              <value name="X">
                                               <block type="bitbybit.point.getX" id="-(I%;B9!N3u?HRZS~49K">
                                                <value name="Point">
                                                 <block type="variables_get" id="Qb|TlT}G7_#E~nF;c!l?">
                                                  <field name="VAR" id="^0%.LXEQTuQf9^a1X[@7">position</field>
                                                 </block>
                                                </value>
                                               </block>
                                              </value>
                                              <value name="Y">
                                               <block type="bitbybit.point.getY" id=".U?ihd.e-~PcR@*Z/R)%">
                                                <value name="Point">
                                                 <block type="variables_get" id="7yFky}WI9E|1P[lIvhx^">
                                                  <field name="VAR" id="^0%.LXEQTuQf9^a1X[@7">position</field>
                                                 </block>
                                                </value>
                                               </block>
                                              </value>
                                              <value name="Z">
                                               <block type="math_number" id="yL*j2o::/LCQ,]z=`ORF">
                                                <field name="NUM">-28</field>
                                               </block>
                                              </value>
                                             </block>
                                            </value>
                                           </block>
                                          </statement>
                                         </block>
                                        </next>
                                       </block>
                                      </next>
                                     </block>
                                    </next>
                                   </block>
                                  </statement>
                                 </block>
                                </next>
                               </block>
                              </next>
                             </block>
                            </statement>
                           </block>
                          </next>
                         </block>
                        </next>
                       </block>
                      </next>
                     </block>
                    </next>
                   </block>
                  </statement>
                 </block>
                </next>
               </block>
              </next>
             </block>
            </next>
           </block>
          </next>
         </block>
        </next>
       </block>
      </next>
     </block>
    </next>
   </block>
  </next>
 </block>
</xml>