Spinning 3D Text Animation

Spinning 3D Text Animation script details
Author
matas
Type
Blockly logo image
blockly
App Version
0.13.4
Visibility
public
Date Created
Dec 9, 2023, 9:30:41 PM
Last Edit Date
Jan 4, 2024, 6:34:39 PM

Script Details

The Code
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="9qK{46BEa[%JNof32beo">drawOptions</variable> <variable id="`UBxs9A?N(Eple.[DQS^">text3d</variable> <variable id="CcPj9{IDRaxvkk.a8)#:">charactersMesh</variable> <variable id="5/%:eo19SOBSNA!-e.V}">characterMeshes</variable> <variable id="T2J%evl-rz3f[Gdlea=%">characterCenterPoints</variable> <variable id="sH2:hn]WtsBwZ#YV_4[7">timeElapsedFromPreviousFrame</variable> <variable id="=(B2GJpx]4xG-_S?QIx|">index</variable> <variable id="q!u?2#]An#5vQf^6.1z;">characterMesh</variable> <variable id="G$UONlj.bXPO$-|R2h!=">currentPoint</variable> </variables> <block type="bitbybit.babylon.scene.drawPointLightNoReturn" id="NoK_z0B_jEt`LvYWXE[r" x="215" y="-297"> <value name="Position"> <block type="bitbybit.point.pointXYZ" id="}{@c/(xMqUpi`3J`*aj@"> <value name="X"> <block type="math_number" id=":tk-IQtF2|/nVPf3#ML9"> <field name="NUM">3</field> </block> </value> <value name="Y"> <block type="math_number" id="rm)=1Zx(+sWcM8hEv8J-"> <field name="NUM">3</field> </block> </value> <value name="Z"> <block type="math_number" id="XZbiwRjI6mXPk*HV3K7{"> <field name="NUM">-5</field> </block> </value> </block> </value> <value name="Intensity"> <block type="math_number" id="_q;vl*L^B(B2,,uV1Tiv"> <field name="NUM">1000</field> </block> </value> <value name="Diffuse"> <block type="colour_picker" id=".c_h-=^P}Uw:={`mms#3"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="Specular"> <block type="colour_picker" id=",F9ldas7Rs^:)9e3zEPn"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="Radius"> <block type="math_number" id="KdVUr8s,%f*_f7kSQg}N"> <field name="NUM">0</field> </block> </value> <value name="ShadowGeneratorMapSize"> <block type="math_number" id="x!QasL;{eb;m=6Gr$/~8"> <field name="NUM">1024</field> </block> </value> <value name="EnableShadows"> <block type="logic_boolean" id="%vOk`!u1fIH6k]Q8Npf3"> <field name="BOOL">TRUE</field> </block> </value> <value name="ShadowDarkness"> <block type="math_number" id="qRjuVYI@rGsVfpF5{^s2"> <field name="NUM">0</field> </block> </value> <next> <block type="bitbybit.babylon.scene.drawPointLightNoReturn" id="0dCBd!FlYqZbv2E+}]Tl"> <value name="Position"> <block type="bitbybit.point.pointXYZ" id="~@@%)^qwQqfMn1Wx0;GD"> <value name="X"> <block type="math_number" id=".)|bi(fboCbo4O+$n/BT"> <field name="NUM">3</field> </block> </value> <value name="Y"> <block type="math_number" id="~lq_tqFAu]N_h:QK{11,"> <field name="NUM">3</field> </block> </value> <value name="Z"> <block type="math_number" id="CfMfR8.Soe1@UX}{=v+A"> <field name="NUM">5</field> </block> </value> </block> </value> <value name="Intensity"> <block type="math_number" id="N7zmU7WZ-#+;AD3#Khxa"> <field name="NUM">1000</field> </block> </value> <value name="Diffuse"> <block type="colour_picker" id=":orEs,uDj($b4P=0UQ9]"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="Specular"> <block type="colour_picker" id="?bXsNXb@tTMJtFCoDv8|"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="Radius"> <block type="math_number" id="KK~wXcaablu84SU?S9Cm"> <field name="NUM">0</field> </block> </value> <value name="ShadowGeneratorMapSize"> <block type="math_number" id="`~_bDDO11|3ZGn9(yNX/"> <field name="NUM">1024</field> </block> </value> <value name="EnableShadows"> <block type="logic_boolean" id="P!/rm|5[@{C0X}yv#A#%"> <field name="BOOL">TRUE</field> </block> </value> <value name="ShadowDarkness"> <block type="math_number" id="[rsQmjyu$nTlnTmhBJh]"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id=")JYIGgB25DUBJ.m#kzHr"> <field name="VAR" id="9qK{46BEa[%JNof32beo">drawOptions</field> <value name="VALUE"> <block type="bitbybit.draw.optionsOcctShapeSimple" id="Pj2S0MW_G[2):qK]VZB{"> <value name="Precision"> <block type="math_number" id="jow+Oy=EF.mGu+A=r[MH"> <field name="NUM">0.01</field> </block> </value> <value name="DrawFaces"> <block type="logic_boolean" id="G[f~DHOyW%NZTrJEaEq@"> <field name="BOOL">TRUE</field> </block> </value> <value name="FaceColour"> <block type="colour_picker" id="#(sc+=l80YI|9K2Q~?xu"> <field name="COLOUR">#ff9966</field> </block> </value> <value name="DrawEdges"> <block type="logic_boolean" id="AQ)mytd!1BdX=L:?JnI~"> <field name="BOOL">TRUE</field> </block> </value> <value name="EdgeColour"> <block type="colour_picker" id="0l$Xf?COaiZ8,y6-b}-,"> <field name="COLOUR">#ffffff</field> </block> </value> <value name="EdgeWidth"> <block type="math_number" id="YCEqZKug3W?wh+:Q`ry]"> <field name="NUM">2</field> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.scene.backgroundColour" id="7Bt)-?.Be%zwN#8SggtC"> <value name="Colour"> <block type="colour_picker" id="_cN]eU8m.-C}H?Hb}gJI"> <field name="COLOUR">#ffffff</field> </block> </value> <next> <block type="base_time_async_context" id="w9Dov,~W)P$gp?ui$^1K"> <statement name="Then"> <block type="bitbybit.draw.drawAnyAsyncNoReturn" id="a|y^3*{S!lK~a.y;R*EF"> <value name="Entity"> <block type="bitbybit.occt.shapes.face.createCircleFace" id="gLbVI{j}/r(%:?2N|X($"> <value name="Radius"> <block type="math_number" id="CkbCw(xu7%lRr]w}gU3w"> <field name="NUM">20</field> </block> </value> <value name="Center"> <block type="bitbybit.point.pointXYZ" id="*rZx+a%(B]uu!5kzvNZ!"> <value name="X"> <block type="math_number" id="i{Tj]LG@~j8QKYyra6.8"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="%~eu2:*AV+H5$@_FcU2#"> <field name="NUM">-3</field> </block> </value> <value name="Z"> <block type="math_number" id="9Ifk^30a.Ie0[#uzJKz2"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="Direction"> <block type="bitbybit.vector.vectorXYZ" id="DhkV%rV]6Gaq_Sy=a=nU"> <value name="X"> <block type="math_number" id="-mnslC^},G8NzL?kw^F4"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="akkZCs^bAN`_wBY!SSl("> <field name="NUM">1</field> </block> </value> <value name="Z"> <block type="math_number" id="0n8T*cEntW+Ok3xog3DC"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> <value name="Options"> <block type="variables_get" id="Ot(~CX!Ov*DkA@I0xtEq"> <field name="VAR" id="9qK{46BEa[%JNof32beo">drawOptions</field> </block> </value> <next> <block type="variables_set" id=".uwkyaYB*mH-2ZDs`7-1"> <field name="VAR" id="`UBxs9A?N(Eple.[DQS^">text3d</field> <value name="VALUE"> <block type="base_time_await_return" id="XWO{byVi|Y,R:a0/v^fQ"> <value name="Promise"> <block type="bitbybit.advanced.text3d.create" id="AqHY=K+Y`ddKL[g_|!?l"> <value name="Text"> <block type="text" id="oavF0H:Y|yB0*r{ieG$!"> <field name="TEXT">b i t b y b i t . d e v</field> </block> </value> <value name="FontType"> <block type="bitbybit.advanced.text3d.fontsEnum" id="(z6,kx$kK[Le~G=M{xLQ"> <field name="bitbybit.advanced.text3d.fontsEnum">'Tektur'</field> </block> </value> <value name="FontVariant"> <block type="bitbybit.advanced.text3d.fontVariantsEnum" id="Tz;)2Yzkg@=o*_NfL*H0"> <field name="bitbybit.advanced.text3d.fontVariantsEnum">'Regular'</field> </block> </value> <value name="FontSize"> <block type="math_number" id="Xt@T-tzXXE.dnoAl*m4["> <field name="NUM">2</field> </block> </value> <value name="Height"> <block type="math_number" id="c*f;.=3_zoU2wG4%DT$T"> <field name="NUM">0.7</field> </block> </value> <value name="Rotation"> <block type="math_number" id="Z%(4msks$0k%tJVJ:E)h"> <field name="NUM">-90</field> </block> </value> <value name="Origin"> <block type="bitbybit.vector.vectorXYZ" id="W:w3wFgf92DJNXkAzmU2"> <value name="X"> <block type="math_number" id="iPV;Qy^+^U0}7.iW6Q1N"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="Cza@k.ba.g=i.Jg!{%%Q"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="giBWu*lay@r_39N*8nr7"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="Direction"> <block type="bitbybit.vector.vectorXYZ" id=",%+q}`+a#@45)P,dLVjj"> <value name="X"> <block type="math_number" id="(/Cr]WWHUAdWY2OEk^aN"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id=".7npkR!{A+9CZl7B#L#a"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="J06xR+ts[933H=zPr;)W"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="OriginAlignment"> <block type="bitbybit.advanced.text3d.recAlignmentEnum" id="H#`+jSEze4CgVYsFd/ot"> <field name="bitbybit.advanced.text3d.recAlignmentEnum">'centerMiddle'</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id=":|{0Y^JG)|h]|D5K@`ZL"> <field name="VAR" id="CcPj9{IDRaxvkk.a8)#:">charactersMesh</field> <value name="VALUE"> <block type="base_time_await_return" id="19]d52Vriv{D/c^n;!$Y"> <value name="Promise"> <block type="bitbybit.draw.drawAnyAsync" id="NKFz4C5pB3wkYQzM:rXJ"> <value name="Entity"> <block type="bitbybit.advanced.text3d.getCharacterShapes" id="{!dz+m/Oeu=?kE=jMJ6["> <value name="Model"> <block type="variables_get" id="pp#(f,()mV?YjT6Q@#[^"> <field name="VAR" id="`UBxs9A?N(Eple.[DQS^">text3d</field> </block> </value> </block> </value> <value name="Options"> <block type="variables_get" id="jj?zrU.SuanQ~eFg:@/p"> <field name="VAR" id="9qK{46BEa[%JNof32beo">drawOptions</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="mTcf~2GXGHRzn9hSU$T`"> <field name="VAR" id="5/%:eo19SOBSNA!-e.V}">characterMeshes</field> <value name="VALUE"> <block type="bitbybit.babylon.mesh.getChildMeshes" id="6|e3bHCw{m,joj,K(ls@"> <value name="BabylonMesh"> <block type="variables_get" id=".}L8!iUJnCvJ8pf7-i9}"> <field name="VAR" id="CcPj9{IDRaxvkk.a8)#:">charactersMesh</field> </block> </value> <value name="DirectDescendantsOnly"> <block type="logic_boolean" id="O3xo*]tTybl`y57%W,7`"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <next> <block type="variables_set" id="9kNE+R#4ZY?@gaPV2-Q5"> <field name="VAR" id="T2J%evl-rz3f[Gdlea=%">characterCenterPoints</field> <value name="VALUE"> <block type="bitbybit.advanced.text3d.getCharacterCenterCoordinates" id="9,e1#~qW#O4kksPE$-[q"> <value name="Model"> <block type="variables_get" id="4yo8ueI.Pu(o]z9]5v`b"> <field name="VAR" id="`UBxs9A?N(Eple.[DQS^">text3d</field> </block> </value> </block> </value> <next> <block type="base_time_update" id="p6OlA7OPq-omgl)::+2*"> <field name="TimePassedMs" id="sH2:hn]WtsBwZ#YV_4[7">timeElapsedFromPreviousFrame</field> <statement name="Update"> <block type="variables_set" id="A(REyOQU(81%f!5{(cl("> <field name="VAR" id="=(B2GJpx]4xG-_S?QIx|">index</field> <value name="VALUE"> <block type="math_number" id="S1P}PO,.b-,bVj$Al$;`"> <field name="NUM">0</field> </block> </value> <next> <block type="controls_forEach" id="OSkDr+TVl;xUY/5SIU]f"> <field name="VAR" id="q!u?2#]An#5vQf^6.1z;">characterMesh</field> <value name="LIST"> <block type="variables_get" id="He2I`PaVjq}9G!]73N}]"> <field name="VAR" id="5/%:eo19SOBSNA!-e.V}">characterMeshes</field> </block> </value> <statement name="DO"> <block type="variables_set" id="GIm:c#^CAsIs~^ip~+:~"> <field name="VAR" id="G$UONlj.bXPO$-|R2h!=">currentPoint</field> <value name="VALUE"> <block type="bitbybit.lists.getItem" id="A~o0,^_oDn[^;`Rvuj@]"> <value name="List"> <block type="variables_get" id="X#0L~?D9,UL_XH1i%;9E"> <field name="VAR" id="T2J%evl-rz3f[Gdlea=%">characterCenterPoints</field> </block> </value> <value name="Index"> <block type="variables_get" id="C.@7FCPN9P|@65)%xpxq"> <field name="VAR" id="=(B2GJpx]4xG-_S?QIx|">index</field> </block> </value> </block> </value> <next> <block type="bitbybit.babylon.mesh.rotateAroundAxisWithPosition" id="5E);BmZ3S793hXrkPdNS"> <value name="Mesh"> <block type="variables_get" id="Oe*[2/D$RQ,zaSMrlL6;"> <field name="VAR" id="q!u?2#]An#5vQf^6.1z;">characterMesh</field> </block> </value> <value name="Position"> <block type="variables_get" id="k2c`4._yyT,Y}a0o~!d1"> <field name="VAR" id="G$UONlj.bXPO$-|R2h!=">currentPoint</field> </block> </value> <value name="Axis"> <block type="bitbybit.vector.vectorXYZ" id="Eh=Eo6Nml2|NR{2d%oR$"> <value name="X"> <block type="math_number" id="B+ZYdbN0m!~9p1|)0ue0"> <field name="NUM">0</field> </block> </value> <value name="Y"> <block type="math_number" id="L1(=PQ~1M?;,VP;TK0=s"> <field name="NUM">1</field> </block> </value> <value name="Z"> <block type="math_number" id="#]n/~f)G=BJ]=,h6;[gc"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="Angle"> <block type="math_number" id="YBMY7PP]h#o[H9LXfo!z"> <field name="NUM">1</field> </block> </value> <next> <block type="bitbybit.babylon.mesh.rotateAroundAxisWithPosition" id="a7e.(#sjbqfGqrg4a*Hf"> <value name="Mesh"> <block type="variables_get" id="#Gd!w#[g+@097ORny@ie"> <field name="VAR" id="q!u?2#]An#5vQf^6.1z;">characterMesh</field> </block> </value> <value name="Position"> <block type="variables_get" id="6whl#Bq1,9]J~R$#GGh1"> <field name="VAR" id="G$UONlj.bXPO$-|R2h!=">currentPoint</field> </block> </value> <value name="Axis"> <block type="bitbybit.vector.vectorXYZ" id="SvP{Rb[,xC]=tI_^OO4X"> <value name="X"> <block type="math_number" id="GX~xBbHxqK5V!9@MB(AJ"> <field name="NUM">1</field> </block> </value> <value name="Y"> <block type="math_number" id="S-x?/}#w_#$)ykRkU;v9"> <field name="NUM">0</field> </block> </value> <value name="Z"> <block type="math_number" id="3}5f9q]+nn4/64WP9^-R"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="Angle"> <block type="math_number" id="+u?/UzXaSe$E2a7L=9W@"> <field name="NUM">-0.1</field> </block> </value> <next> <block type="math_change" id="p9|#2_gg)=z?!ByBrVy#"> <field name="VAR" id="=(B2GJpx]4xG-_S?QIx|">index</field> <value name="DELTA"> <shadow type="math_number" id="E9pr~JBQ7dsFcMUMvWc!"> <field name="NUM">1</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>