Virtual Reality VR Example

Virtual Reality VR Example script details
Type
Blockly logo image
blockly
App Version
0.13.0
Visibility
public
Date Created
Jan 13, 2023, 7:18:32 PM
Last Edit Date
Dec 5, 2023, 5:18:24 PM

Script Details

The Code
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="ygt}HM)dD*KF:%Cpcco@">grid</variable> <variable id="?+#ABz~-|aC~:,|5odG5">cam</variable> <variable id="a^4EPQMsW-l,]?p[lR(Y">ground</variable> <variable id="TdC_N!/];C;~WO5Q[$y4">towerMesh</variable> <variable id="kdn@NiG`9sdA*4pG|n[f">climbWalls</variable> <variable id="nNjM~t(6%)alsr@xF/#a">vrColSurfaces</variable> <variable id="y!ZGb/~F4TT.8DrP7/_6">step</variable> <variable id="{qE5xXTecl0.^S2U`S7l">i</variable> <variable id="mGqc!(.L[k(u}_CUP)Qp">j</variable> <variable id="|H9~$?9$CL81zC#]b_w#">instanceTower</variable> <variable id="A!gGu{NE8_ABa`eiMc@L">instanceWalls</variable> <variable id="ETu5!]_A;t^1=k}s$,g$">cylinderCollision</variable> <variable id="=aO):O(Y:10E*}T]r}MP">position</variable> <variable id="2Sc=T}Bs|vvIc9L=R|k2">rotation</variable> <variable id="z*``^D:eXa-VuczvLhjq">scale</variable> </variables> <block type="bitbybit.babylon.scene.enableSkybox" id="ss3_q`%i)sS*Rdz-x?|j" x="331" y="-908"> <value name="Skybox"> <block type="bitbybit.babylon.enums.skyboxEnum" id="YZF]w?ws83d[;aRe1e@#"> <field name="bitbybit.babylon.enums.skyboxEnum">'clearSky'</field> </block> </value> <value name="Size"> <block type="math_number" id="M@a{!RqkoDVS5WsDl4P,"> <field name="NUM">1000</field> </block> </value> <value name="Blur"> <block type="math_number" id="v(.`%)|?12$2~o*:|.;~"> <field name="NUM">0.1</field> </block> </value> <value name="EnvironmentIntensity"> <block type="math_number" id="dhZ=MH4hH_[FUW]=V0H1"> <field name="NUM">0.5</field> </block> </value> <next> <block type="variables_set" id="sQKbe8=R((.-?8{~O%bk"> <field name="VAR" id="ygt}HM)dD*KF:%Cpcco@">grid</field> <value name="VALUE"> <block type="bitbybit.draw.drawGridMesh" id="djYIMjS6EL1:d0oEV;m="> <value name="Width"> <block type="math_number" id="J~I$XA@M#ie6Y-fI~L8k"> <field name="NUM">300</field> </block> </value> <value name="Height"> <block type="math_number" id="m=(]Zxue@]0L8|qNG6|]"> <field name="NUM">300</field> </block> </value> <value name="Subdivisions"> <block type="math_number" id="Dqkm)k,m@NX69^Z)g`PJ"> <field name="NUM">10</field> </block> </value> <value name="MajorUnitFrequency"> <block type="math_number" id="cA8q$[8aG!#-IBrtmKS3"> <field name="NUM">10</field> </block> </value> <value name="MinorUnitVisibility"> <block type="math_number" id="q=,gXjFni(7^Hgi8@j3G"> <field name="NUM">0.45</field> </block> </value> <value name="GridRatio"> <block type="math_number" id="a$Wl0Fb_/qvKx3FSFDp["> <field name="NUM">0.5</field> </block> </value> <value name="Opacity"> <block type="math_number" id="Ly@@/#c=$fW:#tn0~D1("> <field name="NUM">0.5</field> </block> </value> <value name="BackFaceCulling"> <block type="logic_boolean" id="wuMIx=`70)sbIM-BuVr2"> <field name="BOOL">TRUE</field> </block> </value> <value name="MainColor"> <block type="colour_picker" id="eN32o;|9YNlOb|0uPX`E"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="SecondaryColor"> <block type="colour_picker" id="RYN:Yadxp|YRHg[N.u,*"> <field name="COLOUR">#ffffff</field> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.scene.drawDirectionalLightNoReturn" id="jHOd3}voQq:n%La7UWgh"> <value name="Direction"> <block type="bitbybit.point.pointXYZ" id="!9jA}y00dBx0R@qVohHS"> <value name="X"> <block type="math_number" id="},NEAXo,H[c`,::nyq{E"> <field name="NUM">-50</field> </block> </value> <value name="Y"> <block type="math_number" id="luXJDOaQhGCB}.$O[[[b"> <field name="NUM">-10</field> </block> </value> <value name="Z"> <block type="math_number" id="{:XzZIVM}6y~6#sU93Tw"> <field name="NUM">30</field> </block> </value> </block> </value> <value name="Intensity"> <block type="math_number" id="JD@GVy[q0yYETvbR)PgE"> <field name="NUM">0.7</field> </block> </value> <value name="Diffuse"> <block type="colour_picker" id="wH;v)-shbolA!6oA#?B~"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="Specular"> <block type="colour_picker" id="Fg0},VNYkk[!?-[UhQTu"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="ShadowGeneratorMapSize"> <block type="math_number" id="tC:t$o$vle#g^?d!ri8l"> <field name="NUM">2000</field> </block> </value> <value name="EnableShadows"> <block type="logic_boolean" id="?MusJl0h!#d5vMc$h=r{"> <field name="BOOL">TRUE</field> </block> </value> <value name="ShadowDarkness"> <block type="math_number" id="j6Q5Cjc/lf3fdIXbmEk+"> <field name="NUM">0.5</field> </block> </value> <next> <block type="bitbybit.babylon.scene.drawDirectionalLightNoReturn" id="*EG^t0VBKeprQvu#!MD@"> <value name="Direction"> <block type="bitbybit.point.pointXYZ" id="*~rJLpv)81qo;(^g[tPJ"> <value name="X"> <block type="math_number" id="`lH(@y/nJU8cTXaKl1kP"> <field name="NUM">50</field> </block> </value> <value name="Y"> <block type="math_number" id="0NMvnw5Mt]8xx}xk(zX/"> <field name="NUM">-10</field> </block> </value> <value name="Z"> <block type="math_number" id="|28nG)JxY/J6!TZt#!_L"> <field name="NUM">30</field> </block> </value> </block> </value> <value name="Intensity"> <block type="math_number" id="E0Vn{g#vqBOIDUd33hZu"> <field name="NUM">0.7</field> </block> </value> <value name="Diffuse"> <block type="colour_picker" id="]]N}@:k|8jzxT#G;L/+M"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="Specular"> <block type="colour_picker" id="K`xzG*~,BK.xuH,bir*k"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="ShadowGeneratorMapSize"> <block type="math_number" id="s}$c1sa_W]s_$yen]Wcm"> <field name="NUM">2000</field> </block> </value> <value name="EnableShadows"> <block type="logic_boolean" id="extrXVBb_(6=n0J=HTQP"> <field name="BOOL">TRUE</field> </block> </value> <value name="ShadowDarkness"> <block type="math_number" id="0JrXfF8sS)aZ@]P[m_Xs"> <field name="NUM">0.5</field> </block> </value> <next> <block type="variables_set" id="GDU$NZ%FNT$r1ZxUs:Y~"> <field name="VAR" id="?+#ABz~-|aC~:,|5odG5">cam</field> <value name="VALUE"> <block type="bitbybit.babylon.camera.free.create" id="R!^RR,1}dI$8D7rWyB]T"> <value name="Position"> <block type="bitbybit.point.pointXYZ" id="x7`#Tz/[g?67}ixU#Z}*"> <value name="X"> <block type="math_number" id="+S=f-Kd]eo45!}dxFfng"> <field name="NUM">10</field> </block> </value> <value name="Y"> <block type="math_number" id="tHtq#.;urIbT!-B$rlM_"> <field name="NUM">1.8</field> </block> </value> <value name="Z"> <block type="math_number" id="C9xPne!5W|oNN.Y+I?[U"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="Target"> <block type="bitbybit.point.pointXYZ" id="eyHQ9@2_RnqL9k~}aWv4"> <value name="X"> <block type="math_number" id="8@O@ej=`S-zfek24xH3|"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="b]bJQzu{Urs:6e5Rs%e-"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="guoFM1p.aJ:+?JzL^`*x"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.scene.activateCamera" id="DpF%Y?xb,R4k9RS+e-il"> <value name="Camera"> <block type="variables_get" id="AiE3k^##rXNR{oPPeyF%"> <field name="VAR" id="?+#ABz~-|aC~:,|5odG5">cam</field> </block> </value> <next> <block type="bitbybit.babylon.webxr.createDefaultXRExperienceWithTeleportation" id=",k?o-]Aa.AdzKH!UqS%E"> <value name="GroundMeshes"> <block type="lists_create_with" id="z!Xh{we;@_MC/kU0+_Y0"> <mutation items="1"> </mutation> <value name="ADD0"> <block type="variables_get" id="DD8i`a,,g7h6c~aaGK*_"> <field name="VAR" id="ygt}HM)dD*KF:%Cpcco@">grid</field> </block> </value> </block> </value> <next> <block type="variables_set" id="g25I~AwY3N?:bqOA/~*B"> <field name="VAR" id="a^4EPQMsW-l,]?p[lR(Y">ground</field> <value name="VALUE"> <block type="bitbybit.draw.drawAnyAsync" id="/x]1qY[!ADza}k4O7kyO"> <value name="Entity"> <block type="bitbybit.occt.shapes.face.createCircleFace" id="LIsC#ub9`:=b?sW*AA#Z"> <value name="Radius"> <block type="math_number" id="nD(,U{mzeSiTXJhQo|tE"> <field name="NUM">100</field> </block> </value> <value name="Center"> <block type="bitbybit.point.pointXYZ" id="@Tg.FEq^KpH|8{mg*8M("> <value name="X"> <block type="math_number" id="pewc5xQ/vj=-XeHKadv!"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="SFk!.{29VLnI^Z8itQ+V"> <field name="NUM">-0.3</field> </block> </value> <value name="Z"> <block type="math_number" id="Zfu.qb(#47L_tR3GEAp{"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="Direction"> <block type="bitbybit.point.pointXYZ" id=")xbOTH~N7JhdGkYa?x,?"> <value name="X"> <block type="math_number" id="IFPJ8?yqDCW-(741.(iz"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="RJkm=q*nRm}X(,*xPZOB"> <field name="NUM">1</field> </block> </value> <value name="Z"> <block type="math_number" id="E.[a[9B;!3qe_o)]fhs9"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <value name="Options"> <block type="bitbybit.draw.optionsOcctShapeSimple" id="8l0K9FVx:,j$^M;-]A-%"> <value name="Precision"> <block type="math_number" id="luPLXIv$xh`!G+GTe)QZ"> <field name="NUM">0.05</field> </block> </value> <value name="DrawFaces"> <block type="logic_boolean" id="Ecyqc@b[H%,+307X`2KX"> <field name="BOOL">TRUE</field> </block> </value> <value name="FaceColour"> <block type="bitbybit.color.rgbToHex" id="Gt!FHL,s+Wd2i:wNmg~p"> <value name="R"> <block type="math_number" id="KAv#Z^:Kz^?RZac0Why["> <field name="NUM">85</field> </block> </value> <value name="G"> <block type="math_number" id="uhYHBHt-;$c_ff`!?:Vk"> <field name="NUM">85</field> </block> </value> <value name="B"> <block type="math_number" id="pMqF-(s[Im1TDI]NrUnW"> <field name="NUM">255</field> </block> </value> </block> </value> <value name="DrawEdges"> <block type="logic_boolean" id="}CRB7![WR0#b$F=Z?#V$"> <field name="BOOL">FALSE</field> </block> </value> <value name="EdgeColour"> <block type="colour_picker" id="cex87wh+H%3@|y.*~`/5"> <field name="COLOUR">#bbbbff</field> </block> </value> <value name="EdgeWidth"> <block type="math_number" id="!,qvvhLr)2kZF?%$!1}p"> <field name="NUM">2</field> </block> </value> </block> </value> </block> </value> <next> <block type="base_time_async_context" id="M-VrONajqEh|nNMf4*ko"> <statement name="Then"> <block type="variables_set" id="#UA;B%$dm%Z-:~xDl;d="> <field name="VAR" id="TdC_N!/];C;~WO5Q[$y4">towerMesh</field> <value name="VALUE"> <block type="base_time_await_return" id="P.J2oo~ywLjfdbj!nPH:"> <value name="Promise"> <block type="bitbybit.babylon.io.loadAssetIntoScene" id="3*Ej^k~~#1_M/cgt_I*J"> <value name="AssetFile"> <block type="bitbybit.asset.getFile" id="g_27tGq5m(jOZ`wh`jF("> <value name="FileName"> <block type="text" id="hLUyc3Nu{pzMIT_:oor]"> <field name="TEXT">parametric-structural-tower-facade.glb</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="IZwp}P*tm}(@;~7,tOY5"> <field name="VAR" id="kdn@NiG`9sdA*4pG|n[f">climbWalls</field> <value name="VALUE"> <block type="base_time_await_return" id="-=CUaL~rmVgDV?TYH#et"> <value name="Promise"> <block type="bitbybit.babylon.io.loadAssetIntoScene" id="ECDu{xtnSz.]aj;cnX*L"> <value name="AssetFile"> <block type="bitbybit.asset.getFile" id="=`t%nx}Pm+W_X2l,$8-Y"> <value name="FileName"> <block type="text" id="`M+{M$]uy69://Ixi3tw"> <field name="TEXT">tower.stl</field> </block> </value> </block> </value> <value name="Hidden"> <block type="logic_boolean" id="cWwxpOE4BRY;_=jOhzWv"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.mesh.moveUp" id="qv_Z`9zP0V/;3~kFz{:$"> <value name="BabylonMesh"> <block type="variables_get" id="XW/nltLVFeb}d|y9X=f/"> <field name="VAR" id="ygt}HM)dD*KF:%Cpcco@">grid</field> </block> </value> <value name="Distance"> <block type="math_number" id="doD^:pn:BT,o,zR3O/L)"> <field name="NUM">0.01</field> </block> </value> <next> <block type="variables_set" id="VaEOJ?vpf}nr(6`=XAR9"> <field name="VAR" id="nNjM~t(6%)alsr@xF/#a">vrColSurfaces</field> <value name="VALUE"> <block type="lists_create_with" id="aIygTKk,/3KUh4}U8G,U"> <mutation items="0"> </mutation> </block> </value> <next> <block type="variables_set" id="J:Dtw=:|Y8EuGg-,ePsj"> <field name="VAR" id="y!ZGb/~F4TT.8DrP7/_6">step</field> <value name="VALUE"> <block type="math_number" id="8n+=}gb`J!wvW[_/gDas"> <field name="NUM">70</field> </block> </value> <next> <block type="controls_for" id="FMLd17xE++dkuPlG!p,s"> <field name="VAR" id="{qE5xXTecl0.^S2U`S7l">i</field> <value name="FROM"> <block type="math_number" id="{;`:Ndme!U(MmY`7T,:="> <field name="NUM">-0.5</field> </block> </value> <value name="TO"> <block type="math_number" id="Md-LRVRsRB;BQMR((@aG"> <field name="NUM">0.5</field> </block> </value> <value name="BY"> <block type="math_number" id="Q|I(:G+h+LakFO%TF!kY"> <field name="NUM">1</field> </block> </value> <statement name="DO"> <block type="controls_for" id="mo=deG(/4tBv5z.*3fKE"> <field name="VAR" id="mGqc!(.L[k(u}_CUP)Qp">j</field> <value name="FROM"> <block type="math_number" id="[8sT?z?(H++PsJ$mNYUu"> <field name="NUM">-0.5</field> </block> </value> <value name="TO"> <block type="math_number" id="t*9DcVg|ATwcxSD/0c)0"> <field name="NUM">0.5</field> </block> </value> <value name="BY"> <block type="math_number" id=",t|C@hhNcWYtm_*G6Yb2"> <field name="NUM">1</field> </block> </value> <statement name="DO"> <block type="variables_set" id="4QvaLt[rf[05i#(_rU17"> <field name="VAR" id="|H9~$?9$CL81zC#]b_w#">instanceTower</field> <value name="VALUE"> <block type="bitbybit.babylon.mesh.createMeshInstance" id="fr|lkE+37THneJOv4~T:"> <value name="Mesh"> <block type="variables_get" id="^`nSq`gFXlY;=o.z)QPt"> <field name="VAR" id="TdC_N!/];C;~WO5Q[$y4">towerMesh</field> </block> </value> </block> </value> <next> <block type="variables_set" id=")(6GUhuZLS!GasE_DuC|"> <field name="VAR" id="A!gGu{NE8_ABa`eiMc@L">instanceWalls</field> <value name="VALUE"> <block type="bitbybit.babylon.mesh.createMeshInstance" id="yf#g3c]8hesqmq.Gc1rr"> <value name="Mesh"> <block type="variables_get" id="EJ}j%Fq]%5m=Qr`p*PFJ"> <field name="VAR" id="kdn@NiG`9sdA*4pG|n[f">climbWalls</field> </block> </value> </block> </value> <next> <block type="variables_set" id="l+%*.^I;?RCJ4kizG{=K"> <field name="VAR" id="=aO):O(Y:10E*}T]r}MP">position</field> <value name="VALUE"> <block type="bitbybit.point.pointXYZ" id="bHhk_8/HV/3rGJy8kz[#"> <value name="X"> <block type="math_arithmetic" id="3l=PDjE7~2Yr+Yo.`aNK"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="3Y,h9SF[]kVMIV^frM/="> <field name="VAR" id="{qE5xXTecl0.^S2U`S7l">i</field> </block> </value> <value name="B"> <block type="variables_get" id="1sf~kw+hv=SVIBA`/:6$"> <field name="VAR" id="y!ZGb/~F4TT.8DrP7/_6">step</field> </block> </value> </block> </value> <value name="Y"> <block type="math_number" id=".rD:]A7a,x+S7^gNmg3,"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_arithmetic" id="s#b(::]sKui95v#B~QLA"> <field name="OP">MULTIPLY</field> <value name="A"> <block type="variables_get" id="V@O$9J7:G{H5`XFx_$h."> <field name="VAR" id="mGqc!(.L[k(u}_CUP)Qp">j</field> </block> </value> <value name="B"> <block type="variables_get" id="lDUTebZq-3P`w+[sT]c-"> <field name="VAR" id="y!ZGb/~F4TT.8DrP7/_6">step</field> </block> </value> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.mesh.setPosition" id="6lWsYj0j~!s+,R/~s!_r"> <value name="BabylonMesh"> <block type="variables_get" id=")#]u=vLlt:]/k-KL/@V/"> <field name="VAR" id="|H9~$?9$CL81zC#]b_w#">instanceTower</field> </block> </value> <value name="Position"> <block type="variables_get" id="XOQ$1N+y.TywaAp/#mMG"> <field name="VAR" id="=aO):O(Y:10E*}T]r}MP">position</field> </block> </value> <next> <block type="bitbybit.babylon.mesh.setPosition" id="OXsZEnK[bTN|D:!2T|}J"> <value name="BabylonMesh"> <block type="variables_get" id="(H?k|=`W_h.i{A=q9)Pc"> <field name="VAR" id="A!gGu{NE8_ABa`eiMc@L">instanceWalls</field> </block> </value> <value name="Position"> <block type="variables_get" id="3q=$xzYttNQKOwMyoSE|"> <field name="VAR" id="=aO):O(Y:10E*}T]r}MP">position</field> </block> </value> <next> <block type="variables_set" id="qe_EyaFbl0B3E]?|~eC%"> <field name="VAR" id="2Sc=T}Bs|vvIc9L=R|k2">rotation</field> <value name="VALUE"> <block type="bitbybit.math.remap" id="W{V:u:mz,t03:5n,Yu~F"> <value name="Number"> <shadow type="math_number" id="IUxPqMNTk0BXy`}@!wX-"> <field name="NUM">5</field> </shadow> <block type="bitbybit.math.random" id="2pMX~fo(YN-+hPz17=gZ"> </block> </value> <value name="FromLow"> <block type="math_number" id="_U}B5.)eV[o)bi?.;+BZ"> <field name="NUM">0</field> </block> </value> <value name="FromHigh"> <block type="math_number" id="=h{}Zaz[74|]S/W}H9X7"> <field name="NUM">1</field> </block> </value> <value name="ToLow"> <block type="math_number" id="e~Pb{KMiGH`Sj!j!@|Bf"> <field name="NUM">0</field> </block> </value> <value name="ToHigh"> <block type="math_number" id="~a@=[UPaaLwPG;9+_cz6"> <field name="NUM">360</field> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.mesh.setRotation" id=")u=6P9^=UZ[h|[t*o=,9"> <value name="BabylonMesh"> <block type="variables_get" id="NcLw86e`;qqHEbbdCs5}"> <field name="VAR" id="|H9~$?9$CL81zC#]b_w#">instanceTower</field> </block> </value> <value name="Rotation"> <block type="bitbybit.point.pointXYZ" id="C}jBS}bc:MtS7w+34IC,"> <value name="X"> <block type="math_number" id="1OUT*Tm/7*FyqK9aHa%D"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="variables_get" id="BhHLq;$RN?-D!].B}Y*F"> <field name="VAR" id="2Sc=T}Bs|vvIc9L=R|k2">rotation</field> </block> </value> <value name="Z"> <block type="math_number" id="eecS?9#@X.-N%fQW3/HT"> <field name="NUM">0</field> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.mesh.setRotation" id="JRqD4j,Y-8Wyl?v3i`5A"> <value name="BabylonMesh"> <block type="variables_get" id="~I`gFMU7eUoo@2C%4J@v"> <field name="VAR" id="A!gGu{NE8_ABa`eiMc@L">instanceWalls</field> </block> </value> <value name="Rotation"> <block type="bitbybit.point.pointXYZ" id="}QExlbx:2]J_z.*Iv~)z"> <value name="X"> <block type="math_number" id="(Ou`|ubYz7|,{HQOI*`O"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="variables_get" id="tI|0R7xA2Q1X{{H~G8bt"> <field name="VAR" id="2Sc=T}Bs|vvIc9L=R|k2">rotation</field> </block> </value> <value name="Z"> <block type="math_number" id="ttUWb~gi6:g~~-.q?x7#"> <field name="NUM">0</field> </block> </value> </block> </value> <next> <block type="variables_set" id="kwHq%9ndL=.^=-^e,N3w"> <field name="VAR" id="z*``^D:eXa-VuczvLhjq">scale</field> <value name="VALUE"> <block type="bitbybit.math.remap" id="=5%agPCUu9[cc/pJn=}z"> <value name="Number"> <shadow type="math_number" id="IUxPqMNTk0BXy`}@!wX-"> <field name="NUM">5</field> </shadow> <block type="bitbybit.math.random" id="Ow8b2uC+R(!e`dW+A7$M"> </block> </value> <value name="FromLow"> <block type="math_number" id="Gj2ox*/5mywhOv,]F4PJ"> <field name="NUM">0</field> </block> </value> <value name="FromHigh"> <block type="math_number" id="-2Yp)?_2l!Yfq6q!6{UN"> <field name="NUM">1</field> </block> </value> <value name="ToLow"> <block type="math_number" id="0[=KI3:0E^~_9F$`te!@"> <field name="NUM">3</field> </block> </value> <value name="ToHigh"> <block type="math_number" id="px)ApH`p7:mzyjv]tH7q"> <field name="NUM">4</field> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.mesh.setScale" id="$?0}em`Vwnz_@oJnZ1_f"> <value name="BabylonMesh"> <block type="variables_get" id="|--6$/:O;q4-D:TE!vZS"> <field name="VAR" id="|H9~$?9$CL81zC#]b_w#">instanceTower</field> </block> </value> <value name="Scale"> <block type="bitbybit.point.pointXYZ" id="6E:dw1UKM)^cF*H,ZZz~"> <value name="X"> <block type="variables_get" id="g{xXucZ4]ZO?*nHH8@IB"> <field name="VAR" id="z*``^D:eXa-VuczvLhjq">scale</field> </block> </value> <value name="Y"> <block type="variables_get" id="xj?gz*3.=29aCfNCgShW"> <field name="VAR" id="z*``^D:eXa-VuczvLhjq">scale</field> </block> </value> <value name="Z"> <block type="variables_get" id="g6U9.?tnKPmDL|k:uj%Y"> <field name="VAR" id="z*``^D:eXa-VuczvLhjq">scale</field> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.mesh.setScale" id="W0+b+!8McBSRHDM$zk.x"> <value name="BabylonMesh"> <block type="variables_get" id="8xK:5E5*#px@;7*P)1?V"> <field name="VAR" id="A!gGu{NE8_ABa`eiMc@L">instanceWalls</field> </block> </value> <value name="Scale"> <block type="bitbybit.point.pointXYZ" id="6ln?69hEi(3k~pQYIUD^"> <value name="X"> <block type="math_arithmetic" id="5}T+De4Q9U{=ngPYaZyA"> <field name="OP">DIVIDE</field> <value name="A"> <block type="variables_get" id="OJU5joKVRfx{o-w}S}4k"> <field name="VAR" id="z*``^D:eXa-VuczvLhjq">scale</field> </block> </value> <value name="B"> <block type="math_number" id="s-SiJtI7t.zSHpoz+$0$"> <field name="NUM">10</field> </block> </value> </block> </value> <value name="Y"> <block type="math_arithmetic" id="em7y#dRxVfGEAbEP5KdX"> <field name="OP">DIVIDE</field> <value name="A"> <block type="variables_get" id="ug%C0d)TV-rrd]i5jY.m"> <field name="VAR" id="z*``^D:eXa-VuczvLhjq">scale</field> </block> </value> <value name="B"> <block type="math_number" id="HnT9L42NS/r4.,vVwbBo"> <field name="NUM">10</field> </block> </value> </block> </value> <value name="Z"> <block type="math_arithmetic" id="?BX/jHN3ywc1M[S_A.=q"> <field name="OP">DIVIDE</field> <value name="A"> <block type="variables_get" id="S)bHe}^M_`EY^=jfIQpU"> <field name="VAR" id="z*``^D:eXa-VuczvLhjq">scale</field> </block> </value> <value name="B"> <block type="math_number" id="OdCXF,f[flj.H@P)l)ah"> <field name="NUM">10</field> </block> </value> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.mesh.hide" id="bC}GF}1myQy_03?ME-=J"> <value name="BabylonMesh"> <block type="variables_get" id="11mxIa4WRSW+2Q`Wxo+B"> <field name="VAR" id="A!gGu{NE8_ABa`eiMc@L">instanceWalls</field> </block> </value> <value name="IncludeChildren"> <block type="logic_boolean" id="{,@LM|Pp.osJc3?DxM/-"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="lists_setIndex" id=",pH6.zWWtZQjvL,XBL}7"> <mutation at="false"> </mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="(8.N$iAr!Zsmz/r$C)58"> <field name="VAR" id="nNjM~t(6%)alsr@xF/#a">vrColSurfaces</field> </block> </value> <value name="TO"> <block type="variables_get" id=")#0)Juzo5?(-x(0::NWR"> <field name="VAR" id="A!gGu{NE8_ABa`eiMc@L">instanceWalls</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="lists_setIndex" id="qrV8U{iV27KQPM7sNTDq"> <mutation at="false"> </mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="m!Ar]^nW,8zJ%j*+uPYN"> <field name="VAR" id="nNjM~t(6%)alsr@xF/#a">vrColSurfaces</field> </block> </value> <value name="TO"> <block type="variables_get" id="Hcv(N0t93lYG(~djai~p"> <field name="VAR" id="ygt}HM)dD*KF:%Cpcco@">grid</field> </block> </value> <next> <block type="lists_setIndex" id="D6pRG$X1B+/-piwu]C]C"> <mutation at="false"> </mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="Wp}66r7Kv6-#?+r%J5_o"> <field name="VAR" id="nNjM~t(6%)alsr@xF/#a">vrColSurfaces</field> </block> </value> <value name="TO"> <block type="variables_get" id="HA}x6hg,O5%8h#kW8Q*r"> <field name="VAR" id="a^4EPQMsW-l,]?p[lR(Y">ground</field> </block> </value> <next> <block type="variables_set" id="j(5[KuD?R~$GiJ4W2y}C"> <field name="VAR" id="ETu5!]_A;t^1=k}s$,g$">cylinderCollision</field> <value name="VALUE"> <block type="base_time_await_return" id="meMSm8?U/c%RL3CRo7zV"> <value name="Promise"> <block type="bitbybit.draw.drawAnyAsync" id="A=$uLcwdap[PY5gz#nbS"> <value name="Entity"> <block type="bitbybit.occt.shapes.face.getFace" id="XN}9jz{iAbey#$;A?2|D"> <value name="Shape"> <block type="bitbybit.occt.shapes.solid.createCylinder" id="nwLAH3FktkR;O_xq^a-F"> <value name="Radius"> <block type="math_number" id="T[m.On+x^1OYAG_d|wWG"> <field name="NUM">100</field> </block> </value> <value name="Height"> <block type="math_number" id="Y^hMSu1$MJ,TT1Bk@WR)"> <field name="NUM">200</field> </block> </value> <value name="Center"> <block type="bitbybit.point.pointXYZ" id="9Q)G^5c[W4U^#gpf-IKc"> <value name="X"> <block type="math_number" id=";jC:W1H+B|faqjc~u}6:"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="tl}yT$Rm4@Sj[}h:HPG#"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="Y:wGISUp~!ufj[:7Ial_"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="Direction"> <block type="bitbybit.point.pointXYZ" id="M35~h-c4qE/v~A|*Vt[o"> <value name="X"> <block type="math_number" id="g/EX(aG+-{lmCP#LY|D:"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="yf(,d|hnO8UkDi=+P*QR"> <field name="NUM">1</field> </block> </value> <value name="Z"> <block type="math_number" id="=i_vQyVh+LX1A9V4#_Z5"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <value name="Index"> <block type="math_number" id="oHdndxh],jQ27o0F#OY-"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="Options"> <block type="bitbybit.draw.optionsOcctShapeSimple" id="t+zxG7zs6a;EmR/Zj4(F"> <value name="Precision"> <block type="math_number" id="(Uy-jx_qC6umh+.NE/M`"> <field name="NUM">0.1</field> </block> </value> <value name="DrawFaces"> <block type="logic_boolean" id="(7WYRJfRvY-5K0=y(u~R"> <field name="BOOL">TRUE</field> </block> </value> <value name="FaceColour"> <block type="colour_picker" id="GL4LM@^9%DcjR%JCz1L`"> <field name="COLOUR">#0000ff</field> </block> </value> <value name="DrawEdges"> <block type="logic_boolean" id="G,=7k{MI{rVZzxx5f~^g"> <field name="BOOL">TRUE</field> </block> </value> <value name="EdgeColour"> <block type="colour_picker" id="!b4$uB|wep_,:7dxOa5}"> <field name="COLOUR">#bbbbff</field> </block> </value> <value name="EdgeWidth"> <block type="math_number" id="5EPk3^)NhsZ]^$Z6oD^3"> <field name="NUM">2</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.mesh.hide" id="1Zncs9QpPWAi%:UmUjjj"> <value name="BabylonMesh"> <block type="variables_get" id="Xk{zxh]]+W(%c1V4MgFB"> <field name="VAR" id="ETu5!]_A;t^1=k}s$,g$">cylinderCollision</field> </block> </value> <value name="IncludeChildren"> <block type="logic_boolean" id="Y@dtC=~^piNSGCIgkgbN"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="lists_setIndex" id="a//r7{%tY*f)z3-Hw/mI"> <mutation at="false"> </mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="w]JG$5?)Rgc;Wa$eEW[/"> <field name="VAR" id="nNjM~t(6%)alsr@xF/#a">vrColSurfaces</field> </block> </value> <value name="TO"> <block type="variables_get" id="T_y:LmpSl9jwlW5M!P?["> <field name="VAR" id="ETu5!]_A;t^1=k}s$,g$">cylinderCollision</field> </block> </value> <next> <block type="bitbybit.babylon.webxr.createDefaultXRExperienceWithTeleportation" id="THdT)4D`a/uEv.vabqEC"> <value name="GroundMeshes"> <block type="variables_get" id="wh]H.eN|est!gW8aS?zI"> <field name="VAR" id="nNjM~t(6%)alsr@xF/#a">vrColSurfaces</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </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>