
blocklySmall collection of our new public assets. We began to build up the library of good looking assets that you can pick up for free. Follow this example to understand how to load them.
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="Q,g3%+jO?7L5Byb+eNqx">tree1</variable>
<variable id="EZ1Gng.B`Gis859C^OV=">tree2</variable>
<variable id="rv+g]pz(!$zt.+K]f.YM">pine1</variable>
<variable id="l}Tphwgz6^8;Hg9oyMPN">pine2</variable>
<variable id="5/.)}z,ut8V+_be(EKnc">whiteBirch</variable>
<variable id="{rF{7MMopRC6/;x/Wf(x">allAssets</variable>
<variable id="9BivO)yxwppHnvfROW,6">result</variable>
<variable id="ak6A{QogN/vk`#,4JpR)">itemCount</variable>
<variable id="h8eer-T8LyeiFPKIusr@">i</variable>
</variables>
<block type="bitbybit.babylon.scene.enableSkybox" id=";lq@ZO)sH~!K}wMAlB+S" x="-1" y="-560">
<value name="Skybox">
<block type="bitbybit.babylon.enums.skyboxEnum" id="/Ya^-T/)gfnCS2fX9H-s">
<field name="bitbybit.babylon.enums.skyboxEnum">'clearSky'</field>
</block>
</value>
<value name="Size">
<block type="math_number" id="Ch7]qhv6=JBSxLAue5x|">
<field name="NUM">1000</field>
</block>
</value>
<value name="Blur">
<block type="math_number" id="^/?hI/V0x0@54kJ6ANE`">
<field name="NUM">0.1</field>
</block>
</value>
<value name="EnvironmentIntensity">
<block type="math_number" id="~hiWJ,O!7V@%u{7xrTj)">
<field name="NUM">0.7</field>
</block>
</value>
<next>
<block type="bitbybit.draw.drawGridMeshNoReturn" id="18.Ng_BhJ`})Yl63#t;c">
<value name="Width">
<block type="math_number" id="e+`EtF8P3Nk3=q}5Sp%_">
<field name="NUM">400</field>
</block>
</value>
<value name="Height">
<block type="math_number" id="2Cn0#9*{ho;g@i{|oamx">
<field name="NUM">400</field>
</block>
</value>
<value name="Subdivisions">
<block type="math_number" id="Mfafd@`a=OVFKr$/~ziI">
<field name="NUM">10</field>
</block>
</value>
<value name="MajorUnitFrequency">
<block type="math_number" id="d0uWIR~fH3zRSoRqsric">
<field name="NUM">10</field>
</block>
</value>
<value name="MinorUnitVisibility">
<block type="math_number" id="=X,Kzsd`=?c#DyBUYy^3">
<field name="NUM">0.45</field>
</block>
</value>
<value name="GridRatio">
<block type="math_number" id="9X}rvg2EDS/$J$Eex%a;">
<field name="NUM">0.5</field>
</block>
</value>
<value name="Opacity">
<block type="math_number" id="g7Q9,%k$;TAVS|FsY)^U">
<field name="NUM">0.5</field>
</block>
</value>
<value name="BackFaceCulling">
<block type="logic_boolean" id="hR;xoyxd@Z`+(z9SiTYU">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="MainColor">
<block type="colour_picker" id="8fl_ENwk5emoAsT82_Y0">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<next>
<block type="variables_set" id="G-{nbnP4;5E}a#-HXzGS">
<field name="VAR" id="Q,g3%+jO?7L5Byb+eNqx">tree1</field>
<value name="VALUE">
<block type="bitbybit.babylon.io.loadAssetIntoSceneFromRootUrl" id="](|qf,AyzS1j=4p]5b/C">
<value name="AssetFile">
<block type="text" id="mYxg;:qac{}w~2zjl4|F">
<field name="TEXT">tree1.glb</field>
</block>
</value>
<value name="RootUrl">
<block type="text" id="I0GG2JM-.oRH8/j)EAbJ">
<field name="TEXT">https://cdn.jsdelivr.net/gh/bitbybit-dev/bitbybit-assets@0.0.1/nature/trees/white/</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="bn?CCLC*kaQ;Wi`6L)2k">
<field name="VAR" id="EZ1Gng.B`Gis859C^OV=">tree2</field>
<value name="VALUE">
<block type="bitbybit.babylon.io.loadAssetIntoSceneFromRootUrl" id="*)Nc!b`[3(~n?z7FLDI;">
<value name="AssetFile">
<block type="text" id="1s*3PWtOLi(itsDruG^a">
<field name="TEXT">tree2.glb</field>
</block>
</value>
<value name="RootUrl">
<block type="text" id="1YJP*Gl:YM%~3`G,[9+1">
<field name="TEXT">https://cdn.jsdelivr.net/gh/bitbybit-dev/bitbybit-assets@0.0.1/nature/trees/white/</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="@W[@U[nqSA`5(B.|UYwS">
<field name="VAR" id="rv+g]pz(!$zt.+K]f.YM">pine1</field>
<value name="VALUE">
<block type="bitbybit.babylon.io.loadAssetIntoSceneFromRootUrl" id="!77[o[JeNc3gr!?/jEkw">
<value name="AssetFile">
<block type="text" id="=Bsq+*k_H]Ip),WAVirS">
<field name="TEXT">pine1.glb</field>
</block>
</value>
<value name="RootUrl">
<block type="text" id="Kp0dihtD#WSj8z8~1T!@">
<field name="TEXT">https://cdn.jsdelivr.net/gh/bitbybit-dev/bitbybit-assets@0.0.6/nature/trees/white/</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="prSAF;_tGJhk5FVK,5R-">
<field name="VAR" id="l}Tphwgz6^8;Hg9oyMPN">pine2</field>
<value name="VALUE">
<block type="bitbybit.babylon.io.loadAssetIntoSceneFromRootUrl" id="p#O}}tRW;yei{Xr`B/|s">
<value name="AssetFile">
<block type="text" id="HVy7e6D(mO2#N(;A?(_H">
<field name="TEXT">pine2.glb</field>
</block>
</value>
<value name="RootUrl">
<block type="text" id="K/:Fp~z|7j@@`-b1#A+,">
<field name="TEXT">https://cdn.jsdelivr.net/gh/bitbybit-dev/bitbybit-assets@0.0.11/nature/trees/white/</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="~^f3=@a?|e^d[VKDDd^e">
<field name="VAR" id="5/.)}z,ut8V+_be(EKnc">whiteBirch</field>
<value name="VALUE">
<block type="bitbybit.babylon.io.loadAssetIntoSceneFromRootUrl" id="g@abE?}2D44,V_3@2yqg">
<value name="AssetFile">
<block type="text" id="2jE[3y[oQ{|L?PNjqnd{">
<field name="TEXT">white-birch1.glb</field>
</block>
</value>
<value name="RootUrl">
<block type="text" id="omI(mEHe/jf:av42InP/">
<field name="TEXT">https://cdn.jsdelivr.net/gh/bitbybit-dev/bitbybit-assets@0.0.6/nature/trees/white/</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="^^a?nwev=1j7[]X@Q.p_">
<field name="VAR" id="{rF{7MMopRC6/;x/Wf(x">allAssets</field>
<value name="VALUE">
<block type="lists_create_with" id="0yn1LDansjiFpYh?YO,@">
<mutation items="5">
</mutation>
<value name="ADD0">
<block type="variables_get" id="XE`-[?yIQK:m?{.f?yuE">
<field name="VAR" id="Q,g3%+jO?7L5Byb+eNqx">tree1</field>
</block>
</value>
<value name="ADD1">
<block type="variables_get" id="qxM}/d6F*|3TH;EdM,qk">
<field name="VAR" id="EZ1Gng.B`Gis859C^OV=">tree2</field>
</block>
</value>
<value name="ADD2">
<block type="variables_get" id=":~b})8TPQJ)n[$we;^ga">
<field name="VAR" id="rv+g]pz(!$zt.+K]f.YM">pine1</field>
</block>
</value>
<value name="ADD3">
<block type="variables_get" id="BI[)FsS,MlKJ,a?^F#er">
<field name="VAR" id="l}Tphwgz6^8;Hg9oyMPN">pine2</field>
</block>
</value>
<value name="ADD4">
<block type="variables_get" id="Vhr%!%4vJPlX+#Vqibl]">
<field name="VAR" id="5/.)}z,ut8V+_be(EKnc">whiteBirch</field>
</block>
</value>
</block>
</value>
<next>
<block type="base_time_then" id="UR0jE?Woa|e$.r2.%2O5">
<field name="Result" id="9BivO)yxwppHnvfROW,6">result</field>
<value name="Promise">
<block type="variables_get" id="cdKi)Bdk/1lYK16yEXJ%">
<field name="VAR" id="{rF{7MMopRC6/;x/Wf(x">allAssets</field>
</block>
</value>
<statement name="Then">
<block type="variables_set" id="/vn2-VfP6oLF@/q_(|#*">
<field name="VAR" id="ak6A{QogN/vk`#,4JpR)">itemCount</field>
<value name="VALUE">
<block type="math_number" id="m_*dEEbBf!@AtGc?{,?#">
<field name="NUM">-20</field>
</block>
</value>
<next>
<block type="controls_forEach" id="Nw6v2Yg+Z~nRT@kz8sRB">
<field name="VAR" id="h8eer-T8LyeiFPKIusr@">i</field>
<value name="LIST">
<block type="variables_get" id="9/7N6%J4*%MNXfd-P77/">
<field name="VAR" id="9BivO)yxwppHnvfROW,6">result</field>
</block>
</value>
<statement name="DO">
<block type="bitbybit.babylon.mesh.moveForward" id="t:Th9_GpdRG3lvLe#+nL">
<value name="BabylonMesh">
<block type="variables_get" id="m9aMPiv@(w/%6+p:^J!o">
<field name="VAR" id="h8eer-T8LyeiFPKIusr@">i</field>
</block>
</value>
<value name="Distance">
<block type="variables_get" id="QsN.(:xZ@k5eStb.pGOZ">
<field name="VAR" id="ak6A{QogN/vk`#,4JpR)">itemCount</field>
</block>
</value>
<next>
<block type="variables_set" id="S=,@Cv6@{|vFZdntC5nk">
<field name="VAR" id="ak6A{QogN/vk`#,4JpR)">itemCount</field>
<value name="VALUE">
<block type="math_arithmetic" id="$-326!;RhcA.gI.iLe_i">
<field name="OP">ADD</field>
<value name="A">
<block type="variables_get" id="gjr4.a8;#vu4aeu-WzqX">
<field name="VAR" id="ak6A{QogN/vk`#,4JpR)">itemCount</field>
</block>
</value>
<value name="B">
<block type="math_number" id="dBKuo:$wq[=im28@u(Sq">
<field name="NUM">10</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
<next>
<block type="bitbybit.draw.drawAnyAsyncNoReturn" id="Vg)x5.7yoM#j~o*GY3s[">
<value name="Entity">
<block type="bitbybit.jscad.shapes.cuboid" id="~~avEgH7gTJ{R?k,,6Yo">
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="l{]l0$,46HzfZOJ*)ODf">
<value name="X">
<block type="math_number" id="K`?gW6yBO$RO%WLr,Qu%">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="fm|og,kq.M|uM^hxoASq">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="1Y/*,)0;L;@x=U2viXwI">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="Width">
<block type="math_number" id="::QcT(ydn^86lOS{(DH+">
<field name="NUM">25</field>
</block>
</value>
<value name="Length">
<block type="math_number" id="KcD`N^4]f`AoA4xsA.%I">
<field name="NUM">100</field>
</block>
</value>
<value name="Height">
<block type="math_number" id="q/@K:lC_#=BE1^=PwWw(">
<field name="NUM">0.1</field>
</block>
</value>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsSimple" id="^/f+KdNNf;v`[f!r,YeJ">
<value name="Colours">
<block type="colour_picker" id="vC|fJtS4#k;Je4VXx51f">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="Size">
<block type="math_number" id="HNj%EsU#+.|9{v.q/ta0">
<field name="NUM">3</field>
</block>
</value>
<value name="Opacity">
<block type="math_number" id="C0?u~0`8T!U#`]t2QyWu">
<field name="NUM">1</field>
</block>
</value>
<value name="Updatable">
<block type="logic_boolean" id="hp|M1r{v(CgVu28d5wE,">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<next>
<block type="bitbybit.babylon.scene.drawDirectionalLightNoReturn" id="sDkt[l/uOg#,AQsOz0^A">
<value name="Direction">
<block type="bitbybit.point.pointXYZ" id="5~6Me4/[A1PB{kz`ehBy">
<value name="X">
<block type="math_number" id="@KN,MV8lxfdxibn)F9hc">
<field name="NUM">-100</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="$O0h]xyB4u97Jfn?FK1A">
<field name="NUM">-100</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="DX0`E)3~yEw`e6g7P;jW">
<field name="NUM">-100</field>
</block>
</value>
</block>
</value>
<value name="Intensity">
<block type="math_number" id="G4)R#%CMS(rG${gmFp;p">
<field name="NUM">0.5</field>
</block>
</value>
<value name="Diffuse">
<block type="colour_picker" id="4MT)GN1N,x2huaoiTG2?">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="Specular">
<block type="colour_picker" id="4/X,DE0,cPg;FLG4?T$0">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="ShadowGeneratorMapSize">
<block type="math_number" id="vB0qDZPY%Oza1yfB^oN@">
<field name="NUM">1024</field>
</block>
</value>
<value name="EnableShadows">
<block type="logic_boolean" id="5-%|5!EK?)I_pD`!O%l*">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="ShadowDarkness">
<block type="math_number" id="DE0dDJpR,[@E=w{Qnm6:">
<field name="NUM">0</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</xml>
Select the perfect plan for your 3D development needs