From 76f6a45fc4b07538716933f5254c78878fcf683f Mon Sep 17 00:00:00 2001 From: Mark Moissette Date: Tue, 14 Nov 2023 13:24:59 +0100 Subject: [PATCH] feat(examples): added basics of multi-level example (#46) * added basic assets & logic for scene switching upon reaching a trigger zone ! Works ! * added toggling of physics debug * added handling of nested colliders for LevelTransitions * fix/ addition for point light intensity scaling & shadows * closes #40 --- Cargo.lock | 12 + Cargo.toml | 4 +- .../basic_xpbd_physics/assets/advanced.blend | Bin 1288056 -> 1288056 bytes .../multiple_levels/Cargo.lock | 4629 +++++++++++++++++ .../multiple_levels/Cargo.toml | 13 + .../multiple_levels/README.md | 12 + .../assets/assets_core.assets.ron | 1 + .../assets/assets_game.assets.ron | 9 + .../multiple_levels/assets/models/Level1.glb | Bin 0 -> 3524 bytes .../multiple_levels/assets/models/Level2.glb | Bin 0 -> 3284 bytes .../assets/models/StartLevel.glb | Bin 0 -> 4740 bytes .../assets/models/library/Container.glb | Bin 0 -> 5940 bytes .../assets/models/library/Health_Pickup.glb | Bin 0 -> 5448 bytes .../assets/models/library/LevelTransition.glb | Bin 0 -> 8704 bytes .../assets/models/library/MagicTeapot.glb | Bin 0 -> 24028 bytes .../assets/models/library/Pillar.glb | Bin 0 -> 3984 bytes .../assets/models/library/Player.glb | Bin 0 -> 28712 bytes .../models/library/Unused_in_level_test.glb | Bin 0 -> 5552 bytes .../assets/multiple_levels.blend | Bin 0 -> 1564196 bytes .../assets/scenes/save.scn.ron | 485 ++ .../multiple_levels/src/assets/assets_core.rs | 5 + .../multiple_levels/src/assets/assets_game.rs | 16 + .../multiple_levels/src/assets/mod.rs | 35 + .../src/core/camera/camera_replace_proxies.rs | 24 + .../src/core/camera/camera_tracking.rs | 81 + .../multiple_levels/src/core/camera/mod.rs | 25 + .../core/lighting/lighting_replace_proxies.rs | 31 + .../multiple_levels/src/core/lighting/mod.rs | 18 + .../multiple_levels/src/core/mod.rs | 32 + .../src/core/physics/controls.rs | 21 + .../multiple_levels/src/core/physics/mod.rs | 36 + .../core/physics/physics_replace_proxies.rs | 102 + .../multiple_levels/src/core/physics/utils.rs | 175 + .../src/core/relationships/mod.rs | 11 + ...lationships_insert_dependant_components.rs | 15 + .../src/core/save_load/loading.rs | 218 + .../multiple_levels/src/core/save_load/mod.rs | 70 + .../multiple_levels/src/core/save_load/old.rs | 137 + .../src/core/save_load/saveable.rs | 14 + .../src/core/save_load/saving.rs | 87 + .../multiple_levels/src/game/in_game.rs | 85 + .../multiple_levels/src/game/in_main_menu.rs | 113 + .../src/game/level_transitions.rs | 86 + .../multiple_levels/src/game/mod.rs | 121 + .../multiple_levels/src/game/picking.rs | 34 + .../multiple_levels/src/main.rs | 33 + .../multiple_levels/src/state.rs | 54 + .../multiple_levels/src/test_components.rs | 80 + 48 files changed, 6922 insertions(+), 2 deletions(-) create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/Cargo.lock create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/Cargo.toml create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/README.md create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/assets_core.assets.ron create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/assets_game.assets.ron create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/Level1.glb create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/Level2.glb create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/StartLevel.glb create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Container.glb create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Health_Pickup.glb create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/LevelTransition.glb create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/MagicTeapot.glb create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Pillar.glb create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Player.glb create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Unused_in_level_test.glb create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/multiple_levels.blend create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/assets/scenes/save.scn.ron create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_core.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_game.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/assets/mod.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_replace_proxies.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_tracking.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/mod.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/lighting_replace_proxies.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/mod.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/mod.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/controls.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/mod.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/physics_replace_proxies.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/utils.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/mod.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/relationships_insert_dependant_components.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/loading.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/mod.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/old.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/saveable.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/saving.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/game/in_game.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/game/in_main_menu.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/game/level_transitions.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/game/mod.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/game/picking.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/main.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/state.rs create mode 100644 examples/bevy_gltf_blueprints/multiple_levels/src/test_components.rs diff --git a/Cargo.lock b/Cargo.lock index 479cd2e..19d0691 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -797,6 +797,18 @@ dependencies = [ "rand", ] +[[package]] +name = "bevy_gltf_blueprints_multiple_levels" +version = "0.3.0" +dependencies = [ + "bevy", + "bevy_asset_loader", + "bevy_editor_pls", + "bevy_gltf_blueprints", + "bevy_rapier3d", + "rand", +] + [[package]] name = "bevy_gltf_components" version = "0.2.0" diff --git a/Cargo.toml b/Cargo.toml index 6b50b00..5fd3c5a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,8 +5,8 @@ members = [ "examples/bevy_gltf_components/basic/", "examples/bevy_gltf_blueprints/basic/", "examples/bevy_gltf_blueprints/basic_xpbd_physics/", - "examples/bevy_gltf_blueprints/animation/" - + "examples/bevy_gltf_blueprints/animation/", + "examples/bevy_gltf_blueprints/multiple_levels/" ] resolver = "2" diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/advanced.blend b/examples/bevy_gltf_blueprints/basic_xpbd_physics/assets/advanced.blend index 1fa9ed88a2c491a7435755c3226f6dbee6239ccd..e0bf557eb6ae97f1e2902adaf0591f18fe28c7e8 100644 GIT binary patch delta 16297 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
  • !AwT<5gdh#KOWibt_YmsRg_t_7$1)5 zn};(lqUmGMg4XNU`p4T1BKz5Rh5oyX)~8;{rq}IKnw)Towz!@}?%sMOf$;n46(3C> z)2aZrwYCoRPkQO;svY5&?AZPX-=1Y(R&C$DJ{%*ze?jZ%msvhQTt$O2C<&Zz9&Yf{ zL}^NyLNonWy^CwDqd~ce9RLy{eT9@~WLV>G$M!n5ragKs293F|c_xGpSfMU{1>?=b zRg7{$>tnB&l(g3BCWH?lk}3>NcA##tj|PIw*k1fwtdB-lUVbuLYk%Sgw6;FRGM7^p z^uLH*3c0p%VN>aP^F6NAP6`k6-M-abzB z1G5=#o~F3O`}D2Tl=B{2Q`|kDIu!Nj$LA|@v=eP5{J6P7aSaT28NBGPW7_c4{^Ucg zcZG73_#qz0v$PkVkZYyU;@180Y>Bp7_RAI8;v{7#7MqilEUD3 zH0Q0S delta 16018 zcmb_i3w%`7nZNhWOfry}J3$f>36KY`0C_(lBs1X^0s#_U3i3t>3Bp2bz(j&GJXWZQ z7Q8JN*jT`#q9CO^=%rLi(EfH|7cI85Yg>zmEXEdj^ubaWbNBn7d(X_p^3c`!{Z7tz z&i&5!{Gacfxsx03PP*~#q%HOK^4*utZf%&RB#BvDZ#tFT;yLAz*s27iYf6c0VC3Mz zgY{v&S_}EpvH!d2mzL zTG2mh)F>TNCrp^|joU*HJ)}>WGUe;YiN7uL`0?X|n_RVGg4gTSVd2Dy6Lp%@$BY@H zS5{VnR`kAWgPY|VF%eA21o_06c(Ad67Av0A#^B~?Vk|8!WlTupj2ScZ$&)9ubYe`; z6i=_U!It}K#O{z-Qc|K97ZL7CAv?Oa<0BtaNmG(!(yc8fd?L7?o%%R!Q#}#qAfo^Uuk>1zjFHVnAFEpu2pMk(Apiqx3>-L6@pT=hRCVo@K#LiO03^TwJsO2R z*qpXljLON$(ZQ6KmZtcey_GDP+;R4zJ{6i3zb`hpIitpwi9#`G&>+^v49nDqSjPO> zz?@8dV0H$0l*F6`wydnI;D(&#VkSw~Q&Us*yu3Vp%7|ROpdeqTfHRYk1U$>g%+xb; zbM$^ic}il@0vk5QhP+xaHzOlMM}roUs81V}ujgcE>BwMiZZ4Zo&CAv^NxWsvK`uck1f5)wj1ON#RL4Q%5I0R{c3N(VBKByp9PcJHDet{9@;n~!pVkKe1 zavPZ+Y%U%oDp|c|q6Z(TGx1Q`pU_E`*Hnl`^xDV{^+W ziQdUdbdEg=iUBfmE!gZ$7L|>CW0ap4#zdiHqZJhuDIfao&qa=BjLFxtC`bq*GJ)Ws z;Tgtgzys!}XG)q%T{b4Xl!OOX*p)5mF6Gd8rxKG8t(;1CDu?>nD-#kD^u)wO<}R{; zAo9>ujmXoB$QxLX%?P95AxA3^4Af#DB5WuEnNy}mu2``Gh6S5PlH!#M>`HW<{n#V1J)JeHfBpJAi^l6-dv|PG`tMq5-^Y%(-$C2Ceg)EK0kJ?UjfOBF{a=hJ!L#3L32_H(k#r;W*LZ5j;bKLiC6L zdh$&1Yc%jKJmEs=P+)=yr>w^sYKmv}3ikxY zxqSI@AT!uJp}$y(Vv3^|wG5d>7O+QvpycFamPPo&Pc*I;l?y6?Kp+ojBor$8oJJ2+ z(h-5Jf{X<>O*fgb{m`6DWB5HHX^Yx)rnQ)v#Gt9(Mk7sZzWz=xg#$aIDO2b5e z1}2Rl(7-?V!jWkrQXhmIXJv+JB6ih=2NsBh*s>gf$P4_0iKRnxNQjYmz!(acFcWQ5 zT)T7MF%OuN@?i6fnWA!GTyz2=iM@u>j)v$$Fr|@@Q`;RGfQ!h+;>C-BwqWx^izyBj z&LMza+3+0Z4$2@JpoboU0o%cug!_D|P{lJnumli5!C*LCcuz5aNiv(b6-~dMhjlDRls*J!omR*=ojBqX?!?I*d3Xn3Wn{3odUq84pw^BFAZ*7 zv`mZxFCd2NUO|2y<3TZsTwNE1{fjM0Ji!gsbt2oZ0C65&cpwP4HBU}fvr)GRn{3+w zzqBob{u;VCAbz~&jw`04m$n!HjN=ztxF*_Cv|ARiGt#kBgH4Y%iG5jh z&dZ>SNCwLX7_op?E)oK->2z_~hz>T_o7EVV21XX;(qgmJA!LXOk_K&qsTR;}PDw0V zP>FhhqXJej{(Q1BCxcmvZwE*+8ouy?@4*Kj)N#c|^e_hf@WT)53l}Z~kFuh1kaD_< zUAejX21_Ay78hhQ*-SUt$9q;S=~kIaw&?jYyTb+q9nRugBiR#dZdf43VF98J1F;`W zCR9n~s^qFb)kFgyjD-NSoE)R^lmpQS1bQ??l#dZvnzMY#s8Rxr@o}67J#Vyz_>yh; z^xbRMn%GF-lA5B+^wq#)&x9=Cw}1cs%qHllsi|Q>!}i00g&y?);7^=Tt5iAd4+3rY zK8V1Zg_`+{z@YJ3fgU$O=tW!*EUWrP9eK}Ih@4=P!zaWY=!G41b#*Mh@Rv87YRDDENAb+9Rp#f! z;EwJ?Rl!>181|!q<_&&=hmSdJ=34n)M67bvZdVRP#w+b)bGSth#2Nz+hFs9d5p?i* z8Y@4Jyx+3UDudJZCETu@oLs%oJ5JALw&v|S zE$w<3-EBk7n!k2UDI0}u>_9PF3}m`M>+ig~Q%g(fY{ zpT-!V0M_w^hzbNl7*_}$Eaplfm@DSH49~C@a`22B4cRFq3;iv0kvYL8$x2uXM%ELJ z`QE*IGo_%R06jH&9n;?r1=yNAGEj=`!q=k*4~$3I!8HI;!U>KwXfPO1GE)*-3pu!A z!8sl=lqKkZJdzXKwXrhtK7oClo4)wNWxpUefBL!bY)e14^T4sQ7$?zFNgXl4HA<;( z$#T5^c})71;L9yhj=VDwf^bGMR^#u9KTYj^g;w0i*v?k+Cr56?UWX*~!H%u95nb2s z{Tn9Y*Y8!^;>0n*-P;?*sBv2uS3LDfm-fRSh)+gz-G0eE0CqH7)-qbfM6v751BSYr2bemo^*OOo zbj3JCaK)q7l6Q%3h<1?bN4v$69Bs65dkt_K3&3ru@ej%=(tS zn!ZOoCQ3xK{YdN~+MkZTep#iNn3q1=D~k4iBCFMIy`)$z;zcn|vQ?fwt0nCdV@3PO zgPd{V%c5xe!@=uX)hl>#4G-!xlCX9^N%*9a3|bc}#j4v5h`RlZjfRk~zWS;d?6$pA z*GEtS%E?yNt91v(VjJ0~9Xd$TY=7Q=U4>lj4?h%N~^WDVyTZ975%B< z3iT}JYMNL2*NE;vhx6(MuXH@>a**XRo_fZi{naPMM5yOfTddZ*OiGX>o1_+%OJ~Jo zb-@N(Kdoe(R2bz>9aYV8u&Yh9bDLoU^~Ut!2Wi@M z(Bww14Vx*wAxZ~(svqtaV^!BIX|VV+wQ!d7o2b_*B*@}#5ByDypDj&u@7u7Dq3}dg z@3WT`v8B7#GFuuaO20jzR=y(kP(Pa^1>G$axg+FbKWazR$s6q5)%Lkkx*gKAYjdSX z1}LTNNqytRUm+6gBMMF-Qg91=PNZ3U6S_wUAE~TM*ZUVM&PN}{`!Rd zP0>b_dXD^m>14nzM!oQ%5jN_zGwbNN9W(0jHe1X~FK-}*_6~!AdhPH=2mn?8q117N-V<2=Ju(c{)tNNZ}nWP?8 z95LGIt&R(#`o>lwPbiLVPCG?oyLx=5CtZ~<+4^Xyt&W$)tyNLl2hTb3UsR(Xut$kI zjpxs-73EDcMn_PKq~@g7g<4l_#^|V$ix6~C$!@REE(~@}7BT#UhQqb`G}kpzU3=0U zspPenYlkyjABiq{`YE;Y@_5Sif?c`l>>QU<`yk6TNW#iLvX!HAUB{WAKN-V(b9l)Z z7Lr^re`cr|=9(-)?qzBnrrbQuQS9nx1J@Pes?ZvIuAhkNt7MFNILk9ks~zF`&JdeT zNYXxB=Bl%4m-e|jL~ZD!uEPad)k@H3UUAj`Ni7}ZiC0%XDSxhJtar$2%m2Ew`roK` zF~G)un%BwdN{&%J-+$wC0nn~F6-PUuZh^ClNT5tnlNPz0>ecP;?T&bGs>j#LYgFe> zcan|9s_!HBKyAuS_YW)@7f&F9mB71zCa$Svi&fR1q)oSK3 z@qV@ag4@pKx3#%r>>Xs8dhP;IM}B(jteVy4-flmn>$)2Fp*v0L@T&)Z=q|Fu?rj&{ zXVmsx?gj_*M$JAZ#;LoHyY1$0*EN>T!3h_S4<&C63--cDo_X;eQtS4)6KynxgK^p```pjm$w6_y`!U0}rv2ZVZ>a~rns3QJcE{O6X}+PBA9k1i zLxyMMT3n?Jcf5N`hLzo|cD4P4+o65*n)@$y2V*y)F#TulL}^B@y837Cr^Kf<@eOyv z?Zcp1Qau0Iw-yH1@q2|qqZBte{=sDiRdSVsI`#BFxU7-OH|$nW4}CWb>RRpR@4Aa` zlfV<=-z~abN4O!&L_8X=@#5-lRtC+N(_T@jk@=WI|<slds+moEqgTK{Rr8=+EDVQ>^yP{@Xo)S$f@_7T%g)rvjhITzA$|fw4ce=r6tm z*3FV^sldOK)ZU*XjtT{FM+ptczUZ=(%yBja{8mzv$2Uie`4+ z#1Foz{Y;jBBid*}ZAbBq?j|SO@mS68CXb~%=-O`b3c4wM)=f@x*alzyLd`lR#z*dU z&_#?^508^GB5clcU#QD^%WLhB&*0`SjUon`$1yjOE>KtLKz%!-$V(l40=|VuYrLyU z_LP9``=h83E&iyP=w#vx_}=Syp3k@K$vDdA+p><<_)Ix%@pI~Zrku9&xH+8mw{6KN z3NbajH-{9LXKS`F+NNQXf3v z3t+X$w-4RJliRz zmu<+ODYPvdtpM9vd>#?y$}BvVNC$j=pqg73PC>v2MEHsSp zfRE=M2oEm^_`*CwAiO(-fR#TyA7~5X!^#tA3+=cBQV`CuQ78;c1+N^a4`}NG3r{Jps8D9%zh$1M_scwH z8vR}<;Q0d0a|)X0n$M%g-;STxex#byTqbIPC9Q#QY65h&_<4@QHJc(EupT;=1*}GJ z1<0jA2Uv~Z=YaJf!?A4U-jZU=8R94Ftfydjfe^6H!was=%ER+Y&)axv-~dk<=rE7q zHI8MRzJdULzhPaHFZ>|jMJ`P**`Z_bl(LHm=eKNC%lXjm<(MG7UgX}8lVsW2*7``mTh`y$~tFkbTAxx^>r`L9q}CFKmk9%Ve%Z~cQz}3 z7V-0WqS;9X`Kd#{87nm*y(NCV{5uQ+*$LgO=!0!RY~AyM$;-zzZ#d zC#9<=L`wqR{qwc47CJsm`vp2SLQH)^^!m=^5G}D6sfM6uItNOy~;v2m^A5ss&kFy!4o0+ z`ObAAS`s#f=<|Ixg=k55%0fSFp|@CQ#X@fj(NA{n5CnfH)UBZh&v)($(US0dh(6!v zg%B+X`z-W+3w_W+|HMKc4$;qdY9ZP$2}eVN=R4mF(UQ;}qR;nvJ48#uzgg&$7W$Nh z{)L79Wr%*N^VcC-65a=0Nq+?4$E-QB7Jaw}#SW zQuoNv;V15xp)&O|KXXxVO;^fI@?&Ro}uj6FCI{)c=?5vn)$kTh&!9B{C>fpv!UI+KJ-k}a^R0mt`Py$=% z_XQN*Z&LlV*8OswqaVHXWWUx`y<*gF{ub4Iz3EIXyCp+`DfGkSqJNbKMcRndc&+L> z%I|#HN97ALdt-_hscP0q*@4mP5uWdNRZsm&ZnTjaqeRU=BRiz3SG3G-o>*CJI#18| z3s^P!V|qp}U_VUsJmAolchFnjguB?OUHwd6>IvA^Q{&(kW|A%o>oZ7=XRB>#QdzZZCZDH`vppBw6FvO}wJP;Qp!tiwxetz;Ojl}29C zem~q(BH3Xfi){q1Q1k;vk=K(YZq^?0dVcBXcgFm;6rSg8_WxmdZ*69IcP2&LV*dO( zxr_RPF`foH7!BiF$~?)^HoN-cGS49MbQ6S~JA!T17ZXd_>2|5ila_3pd+qF$*tz5W z(ko;Qaj`Ktuc*VudJ>6E*R!4eHZ(2(!f?1?Y*QP@dNS=y?t!tMUZSX;q;=geabooo zZ6{Yh;bY>}zZ-n?gKkVC1${m9l!8lyydOe+R*49*L;lg zK)I*b4{FZ$UTUM}GdOjfrs#9Y92+D0TZ)yqNRbpD8kdB%d_Ck{n!MRZt&ME;LbJE) zE+4hFcTWABjcJNL=P*vOOtiBF5FiMlSb9bEyW>2GlQ9h$T#mtZj>XQ93%lFdnCpcN zumxk-ZLar$|BCu|63cRGn#h1T`Z>*19N=QcSUU+Z|3x!Q)!`T z2v}0xla2pnhwihfKOOI>q)c|H@MO~OFT<##3{&QoRj|x`x5AT1^DkF;eAInPqdfRl zU7b=o<;X$rPRbs}J9qrnw|C_i-W@yEu`!uax}^Hzo4^ATS3JSfD;ZwCb812BIF~rD zsP|8@cz{Q28vOLZQohVo$i^&02PT;w7@T`aXlaQ7B(|9SxuShK$eY*ndE&v{KsS9b8vVA5Ow^SI zCQ2>s>q$``YNU%lvFz^a>7gEM^pr=gzdn=9v8mag$Z=}SLyKIEC574Ko z`e6NL;y_5~CXHl!e0*lk`Obd^`RSV%olfVUZ#$juaQ%AHJDifNu6;wgQ!?;{ud=4B zNSD0(P?belZw;_zYbW=`wXe4Je(Y`Cid3iEl7!s)svedFn0ZRceM0=F#utH9|5p2J z(mf;Z-X34(!@-B9z8p`Aely8(aj7-px%6r8BNm znn;V=c348nNp|bAtDq?fkXj_WaeIrTDx0|$+fdXBD&PeXPxFNFt>$Cjk8i}t%3{*x0qB>Bb9K>N@b`>pt_LS zQR;+qlEIMC5Rd40@`)c;2#mv7kerjFVV-BzIe}wN#@WZ>t*@3K&p7aX0WM9ca#Bkm z5R3D`+bvD1K)JF&dCXuP2@NyKP>osX;aLpr`8A#3_++Z zx7s=+FhD*-T!G1Ksx-14nQmYPC9sJ)YZSs?N~LHxtPSVKVzsWUAml^Fw;?+(1R?hp zTnNuRr}HLSZ_7}nB!{Aw3u(1TR4Nd22t8$;L!4Wcu#|<+5DGa!86v=~_25yS-TAKv zW8`RE@U##xnKEvWAk0X_qp~s3oMupm8Lp%jHs+s@0^vukWXKWZ>H5gpG)bVBUa>M2 z!Xg1Q(C@M`T3-j{Hkm{17 zNIJ)rKmp*e_>6?4LB2Sn^#kdVYb6HJ9C3gM>DoqNvdvJCtZ))!Cpb#0OKgg|#stb$ zu$vI;OUqK;{O^2>`}w+Dlur%*T-yCtF3wGfGR-xrltkWQ#qfmfH=?ara~oC5D5Vg0 z@VA9KgJ(lZODd7hC=XmIbQu)OkQ^|tLmSjW#0ER-Sx=htla@2a2s8HmW_XJ#9VVgh zavZu4W`oo${StC_Q{JK+AUhpYQfReWP-&e^$mg33J)2Rq>Cc4^>rlXFKZXcI-(nnP zWIkRjNDiaGC~JH*%<`G8*X0Dg@&t1L#;B&6_=oay(DJoCb9_}D_$I^1&_6CGgAawT z;}mg~)gF^XS-r{naiGI|z!Bc4iztN#t&hcw*o?-4f~}bOfxw9|WG3-}ma6**1_MhR zdZrImGtUYSofX0h9dm@1a@%rbO;Zi8CQW#qlB3?q-sxWNFwPl=z2k#d`><+4PGA4N z+v^?wd`U?+m~mKK5Bp(@c(h$8)Y0u(AD`;7ni=zIa&zOW_e1|N9@;NQb>YWR_6gIJ3LR60!DTeWgnPCf3AlsOdhq@0U4gbXC5z`n(>3RRZ8xUR zjdx=ZU6Kt;tnQA)hz%%P*(bZN_Fo-ikWChJU$j-U)74$$_kA&FFndZ1R=m##JUD;W z=wW|}`RY-XwOhkco9-1b$f8&mFvJ04yXR;t_v~eE~3rJ%rL<_^-6HcZmDj uzi|uCo!RxUp40IR-y*%GefbG*Um~fq={oR5-r2T?^*5cDpuFt7===-MjoPXJ literal 0 HcmV?d00001 diff --git a/examples/bevy_gltf_blueprints/multiple_levels/assets/models/Level2.glb b/examples/bevy_gltf_blueprints/multiple_levels/assets/models/Level2.glb new file mode 100644 index 0000000000000000000000000000000000000000..5d10ec2fdb0a3448f58f883874ffd9f28013e8bf GIT binary patch literal 3284 zcmcgv?@k*>5OfId~9 zp%2vG?w!FH6x>z{lFxhN*`1l+{AOkuWyfz`bUK~CzwLA)e10DEjus@XDp!;4f{a}5 z%Cs&@(k1V%%OWqTtr50t?PM;$bmi9m5529qh;_^@iOAfQ)wsx^%wtM!BjP^QF88A9 zm&#p|?g@Ff*FVq3qwBglpU(1OJxeokwyM~7zt6_yhRWW@r%r^pF#?kdGAuG5!3mA2 zNtm)y8g02%MzM%RG-e5t%o>Z2R$5X4hsJsEyuKk_C52+KWP)mCE$2ES_07~F%4q>L z#GR)T|N1_>-bP>9VoWIm*k9kOAh&0?$Z|CVO-Prvt15urVp6-w^t@33PQ|73zf!=? zBN53+Mf&U(a4&yZc*>M1lon*S$g(j=24oLib?x~y@!#H1d-~h5nB|uMfFldlFwNiw z(#*N#lqH5rWvQUX=NKubG_i{Fgfb-*Wb1111Ge)jOY6Ym6B!$77&TPmX_=A{jp$i` z8W}Is;L3`_L3muI!{5gFsCRW0s_2C4m`2j#vF(?zGDznxz3|QwA5|O7ZrI)iQx^5o zi)|VUE2xl)8$p?|R)`2fDGXy;BOopO z+!iJ_3Ccoi z;N~s^9OwWZ&{KjW4W{YGe9x63_Gn!NfP7b{<;d0Dty408i2`U{xJRy7xg^ZN~aS|o54IBbb+LV7O()U?<)siwB2f@~Zc(OeHYalAN$g~nn zYN5HHD&jGU00qwwgP|5h;R92N;K&O%oGE4Qh`(_Z{D~;UL(2Y-bTAfM%QzPrm2NG{ ze$y~O|6yo44_fwvJ~YKhpSoc^o}*&@&A`9(eQP3J(S@hWJT(^YWU;yp!C;VuQMkA((Jakf+se>JCuo`TRwJ$Ja(pqX{p*6f z?+x~k_j^ZS_#E~6hp!HRYDA7-|GL}j^?y32r0ZcE=a=K5-y-g@^Iaj#+jNMZs-kSb zyqH~Gx$?uVi^;UeU0xrDYYwUzSDqmzE$)QK<0SorDXY*IBju;rWQ-f%$#xLn z2}zs553hG|MZl0)Js+MvbN-ih^MA3MKe7!Z9@`GW5ZnF5Zm|36;8h>jn`p)NRjdL| z7dN##aQUdlokUuw;(a;wk^E+m0e>`iBxDK0vs?X9o9-0=WYuiqV+aHEdAn?FFPiql z&Eh`(HujZ(aRUIA{>1+dJNrj??)`;_|K4dnck87b-~P8CZ)Kl<#M|c}>TJ69dO^3@ QcDMef^AeJmofn;d06`3)i2wiq literal 0 HcmV?d00001 diff --git a/examples/bevy_gltf_blueprints/multiple_levels/assets/models/StartLevel.glb b/examples/bevy_gltf_blueprints/multiple_levels/assets/models/StartLevel.glb new file mode 100644 index 0000000000000000000000000000000000000000..01232e8bd3ae76108c1fc491dd8f28bf75fed930 GIT binary patch literal 4740 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 literal 0 HcmV?d00001 diff --git a/examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/LevelTransition.glb b/examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/LevelTransition.glb new file mode 100644 index 0000000000000000000000000000000000000000..aa95a41a7b0cec4d6ea63d4b50abb78b6bedd959 GIT binary patch literal 8704 zcmeHLd2kd}9&V8P47;EpAYlYK9ER?mnV!Qefdr5v7fHAYLr>C41|~CcW)g@25&{Gi zA`2oSu2sNFc9mKX!38^1yJB}NZm7Z2^kb^-bWN?-n3KX9bkVF1}!D$#<81Vc2 z!T179iBIw>zC0xmKYDO_e5u(anMAw6Xed&b%rhE-xmdv90q2k|D} zD)OS);jl`QO>#(xfEVy=vpGb;!J7rM*}`mA!C{f?4jXTENH*9hDBUkQB(kqw*{7Iz z-h!Ic&#du|Y@$uFNMxcF!3UehF}o{i`nL|+x5LhzbgTc?A04J&tKy9Dp{yAjzuU?qC{Pf@RhpU z-Vz1wi`{`#C4|%G$<6ea6cp-5uiW64g9>)Z9~dd;(ls&_1>^D_vl9ryCIxK}Qfb0>IlGD>Ohr4)# zQ$)Xce0iQ+HpR@&QUgCyX0ypibwP!~zO#~tr3}k#Fdv1xgZE#quISJ^#CE&7Qgei_{_LA} z%=Os~>xwSEoo@jbMY!WECYvBh4!a=XwziAZaky&Gg1Fvs1LEGpjVRcoO^0_5Zb;mZ zcC#qitPZmocasra$J;DC?+|b!;pWF`m~lPChHZz_b;l5IHy__oe#ZQUC1NMI;R4rt z&y1I8B!NixA*JglC-#)n33r!;loZ8R5W<%*3({lH>G}EeJrT}Aa-e{HWi(q*SauKU zOWkoQTdJ{h&4@YHE#ATC!0vp;p7?%82~L_gEB!%*m<%nr@$q%nq=<0=#JQ6+xy(^$>M z(O7+2R5#)7f#n{q=`SA3izlmxvfzwYk7(6Hi%2Iec{-}!+_*wJ;hRhLTj@?qK2%@b zppQB7=Pha%=R6vpRkl(+ZktcKXKSx|WL*X6pL#gdncFH!JJ+>QkN;%>=~c(y*tb4z zA?cE)fqgG6TSR(F`?|ef+Vwck&HeqJ{#}=n{f}ca5&{FBByHOGM#3iVa?(lC$%J(S zYe-9Lk0(6*qpmL|y_4Yl6!%{6B3?ZNqTMBGtS;m zts*V0yt3!={HIB8e7I)s>Y1xacink<@7dI6NN;n+?>p3Y4e532xP8Jub)ETMRaB?c zZBVP?bo=DjpHmN5^ttyvvPyk#s=j7*aGB~^toy2UFIGd_^cZHhs#LYV>#`Yr;)$4OB zt-iA*I-cos&&{A1n67vA2~nPu=q`&1cUcJ!ipp+J`Ntk>2sz z_gdYXQ%E;mcSY-7G@10r{eIA1Xg!JavPnN^y=o^!?I{`KqvMO(W|L;?eDHZDX}12W zZ;T_&{CeKXAkE@&p4RKY;`H|k*97s8doqp2u)GF#)iujE`EV-PSslLKrE6B7q_92y z!bxpFczoILFSU&DI(v5iP4k7t7FP4}|MbF!E5eKAXE7iqW|J@q9;+vKQY?-7oT zIl2DLsGiuZ1&tX~DMalURv8)3bYz{tmaFQqVk3=b_LJ+AqPph39;Dei{HNP#{gr#0 z?f<;SGX!I~SdGWZ))RNqm{`5D*%RvFEiK3%tFeam%Ehf@kJa5u$JLYZ;8`A@~>bG0j8?)x!F?W0KZV&vzJ9ecjZx~CfC)Q(pPS1mCw}5n~?So0WtMxYsaZ)PeZ&{bPuCtW6^>xi^a#^&!5}X&Uja6*Gv-+AGAU z8}Ywe`H1&b2kPp7!nHg<@jZi4VT}ZrFZ- zxMq1fsvE`=zqZ3deDK{-#9y44MvQfc7gkjf*DPO7{Op=F#8{s=vY)T**g?;lsuII5 z@zEnkh`%^-g81y2GsG7!Tp+%7^(yhgDt#Z9E@?^mAx`2|D?1TCyXIcv-#y=*81WO= zZt6=M*}qq|>idVh$iDk^2eGCOAwKX{GBNTc{^-M0;-g10i9b80?;Gks&!@hUiO-(N zC;s-ES;VLh@%P`A5MR6cIPs19v)r_s>b~6Mq&&}WTt*B#@!;L(!gjrHcb_xRIv7u! z6BI>Zm zdJvu-g6_+;hHl06gMJ9wh^PM0{h%Ml(*WrH&;#)_5PAS~PpCG))?8a)8?GI&EwBf; zJ+K|HJGeb}Kez+1J+K?N1J@PYfx8df5!eBEFSsMu1sn(L2P+jscGYW&lTnGlAoPqrh3fOyHy7Y+x2}BzQb98#n?y0XQBw96S*? z0hkP)1e^#=0#61`0uBRD0Zs-MgQo(g0R7-;z^OnVI0rZlSOlI9%mI4AF5q3a$#z72E=F K1^&=l!2K6)xt-qt literal 0 HcmV?d00001 diff --git a/examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/MagicTeapot.glb b/examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/MagicTeapot.glb new file mode 100644 index 0000000000000000000000000000000000000000..63dc03551cb0cb4384fdc10f77a85c2835777a0c GIT binary patch literal 24028 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 literal 0 HcmV?d00001 diff --git a/examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Unused_in_level_test.glb b/examples/bevy_gltf_blueprints/multiple_levels/assets/models/library/Unused_in_level_test.glb new file mode 100644 index 0000000000000000000000000000000000000000..dff3f8768c2374731bf6edbeab88e8f39061eae4 GIT binary patch literal 5552 zcmb7GOLrqz5w0YJ437z~BoIhI>G1G`9;F|8gC#u9OvV|HZDf0R7}K<*mfV?Ex9Dzp ztTASC4tq8n7FlPP4cUc_?FB0iYtG>>uz^3og0HUn+E+7@t+B1rr`vVEs`_r#m3zU~ zt!Iholb4BJx?R{tdtoo#({^<&X(OsuGcuH5+aWW>F5sco-gCpA*V!CUEZ*AiydMC{zgDJ}9*fKM33y0v~GG%5oH@u8+e~7dHZTG`VuybAxox z*+8Acf$DnK?fLC3&mBamy1X3@ac+(uj`Md?FTwL&6p_U}S3it89w%w&=I#+nke?5= zvqQ-COe1xAUexzeoFf-?e%PEaN~mcIZa*4^Y0WaOK{M9HNB`l$vO7qIfwz!bIKZhH zdTvy^Zstur_mDqc%jx_empxG)=s7GFbIi8s?t3^4Ru-RFobyjjzvp*uL>;u1_Ra_u z_-&*p%b!|GJL(UjP_!8fan|kP1Uu0Xkv5S$`X!Br9u7Mjf?IA|Oxg~TwQbWVluISE zWLSl2+0^k1uJd`~F28J+;3By<<$Tr5VmV)|;>V~I3T3NQEFGbqbHxX7G(fH9c!0Ab zdpC$4@Q4js@m(*)y!h>AH0MwMCt11rbEjVOnDu?`$n!JQDh1#zp6;eS_@6PJ7tGnT|ys zPnlNh;@W}cvD@*7V$MtBIk)Ue!K@$+jH~|;+xQfapP}1%1IoK`+v)iGTFuh60P`R) zKh}VpbTr`ZSzd3h-E3|`sHoF%+yg(s-QxFfA!cF2$O-(ukGoYYK=@4Hfg85n`yNXi zvjgtL@x;4n8vCsw29HmCV|{aFYh`^+Tvu!B&AUsh<2%I@wDikW{O1okfOZ>#h+a;q^ zF4}gXY8yD>s{W)G!uNd$u){<7IK%ZR6jS`bkqLb7=CUnr2(<{@u$LBb(SAtw2^_*O;Bq;A~fFIWgyviQOq zlg+VtOgHa-^z>wG+bDA}N_hLcmaGmXc^fl{7Ru#vA6zB6v9d^AxzQ_+N+>O&YT>xMZI+=E1C6rbFW?FzX=wFT|V! z^Ft4j&zzWhL;7Ecm3d)JFi@T#or+7d9)8GHI_^*EsPXF@UM<;mI z8DovtkL5c1N&i`UXYu^+zkg#5DF27x6faQ&)=o12h7z~IF=zSn9?7HTrp8tGPVpD9 z)VQiY=W$u>s*i#fAJa!_wa7Jd&YX*ykFs|{=S%#BK3VOe7S&(Db(LSi6ZuT>7yOw& z<3)9E7MJ^^uGG6YYhCFR_K`hSSK}(0hHZ%D|kX5bzRL9I>_0ntGQ+VLWf!Y3g<*zh4Vzg+&`SB z><5Xte`F35{-{y*Jl88R&&A@Ddqb`_*jK4V-ajHP*7^PseUWhr|BQ3m-V>SgJbM)$ zc`i@X`&eAAi{nn@{}|6%4$x3y_LqB)6|C~e9uWPe=r3nMtk1dkEUu!1oLQ0oGxS;d z3O$3@3-la)gWiCBgT73kqp#8{u&>Zn`VxJI-h_RVzD8f5m#GWeC6`{J@6jIY9<}M~ z^i5iTU7#F&i}F;4Ez>pnHhrJof_;lL`T-TG3R|Tg(sxOx7&fLJU8f(>5$q8q^fsAP zhpkhE3UrHBVOOa^C0e8<*d?mbPiT#ruuXc0eoQxL1UsVN(=u()1K0=jJ9?My&^GKg z-KF>FS-Jvyg|=v&enva6JG4pn==1aX literal 0 HcmV?d00001 diff --git a/examples/bevy_gltf_blueprints/multiple_levels/assets/multiple_levels.blend b/examples/bevy_gltf_blueprints/multiple_levels/assets/multiple_levels.blend new file mode 100644 index 0000000000000000000000000000000000000000..d1f88f17dc4e25374a395ed2f78cfdd1623d35fd GIT binary patch literal 1564196 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

    ;p`R}@m@hK8O~dMN!K%(i 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 z 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 literal 0 HcmV?d00001 diff --git a/examples/bevy_gltf_blueprints/multiple_levels/assets/scenes/save.scn.ron b/examples/bevy_gltf_blueprints/multiple_levels/assets/scenes/save.scn.ron new file mode 100644 index 0000000..ed30389 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/assets/scenes/save.scn.ron @@ -0,0 +1,485 @@ +( + resources: {}, + entities: { + 20: ( + components: { + "bevy_render::camera::projection::Projection": Perspective(( + fov: 0.3995965, + aspect_ratio: 1.7777778, + near: 0.1, + far: 100.0, + )), + "bevy_render::primitives::Frustum": (), + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 34.821884, + y: 49.024857, + z: -36.79615, + ), + rotation: (-0.1694689, 0.82838506, 0.40884802, 0.3433684), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core_pipeline::tonemapping::Tonemapping": BlenderFilmic, + "bevy_core_pipeline::tonemapping::DebandDither": Enabled, + "bevy_render::view::ColorGrading": ( + exposure: 0.0, + gamma: 1.0, + pre_saturation: 1.0, + post_saturation: 1.0, + ), + "bevy_core::name::Name": ( + hash: 17702508670109176045, + name: "Camera", + ), + "advanced::core::camera::camera_tracking::CameraTrackingOffset": (( + x: 26.0, + y: 48.0, + z: -26.0, + )), + "bevy_pbr::light::ClusterConfig": FixedZ( + total: 4096, + z_slices: 24, + z_config: ( + first_slice_depth: 5.0, + far_z_mode: MaxLightRange, + ), + dynamic_resizing: true, + ), + "bevy_core_pipeline::bloom::settings::BloomSettings": ( + intensity: 0.01, + low_frequency_boost: 0.7, + low_frequency_boost_curvature: 0.95, + high_pass_frequency: 1.0, + prefilter_settings: ( + threshold: 0.0, + threshold_softness: 0.0, + ), + composite_mode: Additive, + ), + }, + ), + 34: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 4.697565, + y: 1.5983224, + z: 8.962274, + ), + rotation: (0.000000000000000031724054, -0.00000000000000000000647681, -0.000013119204, 1.0), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 9837288155836662016, + name: "Health_Pickup.001", + ), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "advanced::game::picking::Pickable": (), + }, + ), + 54: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 8.799996, + y: 1.02484, + z: -10.799994, + ), + rotation: (0.0, 0.0, 0.0, 1.0), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 17978181434632022651, + name: "Player", + ), + "advanced::core::camera::camera_tracking::CameraTrackable": (), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Player"), + "advanced::game::Player": (), + "advanced::game::SoundMaterial": Wood, + }, + ), + 60: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 3.6351967, + y: 1.7298106, + z: -7.313273, + ), + rotation: (0.0, 0.0, 0.0, 1.0), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 7225506896223411979, + name: "MagicTeapot.001", + ), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("MagicTeapot"), + }, + ), + 64: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: -4.6068983, + y: 1.5983224, + z: -10.579347, + ), + rotation: (0.000000000000000031724054, 0.00000000000000000000647681, 0.000013119204, 1.0), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 3089896164553476909, + name: "Health_Pickup.002", + ), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "advanced::game::picking::Pickable": (), + }, + ), + 72: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: -11.560788, + y: 0.0, + z: 7.6554174, + ), + rotation: (0.0, 0.0, 0.0, 1.0), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 16961132108296874979, + name: "Container.001", + ), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), + "advanced::game::picking::Pickable": (), + }, + ), + 80: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: -21.397858, + y: 0.3833189, + z: -0.32418346, + ), + rotation: (0.0, 0.0, 0.0, 1.0), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 5104740624378885265, + name: "Container.002", + ), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Container"), + "advanced::game::picking::Pickable": (), + }, + ), + 82: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 2.9156065, + y: 1.4984571, + z: 2.1909573, + ), + rotation: (0.058853183, 0.0726243, 0.2048649, 0.97431636), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 107557640935939866, + name: "test5159735758431545549", + ), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "advanced::game::picking::Pickable": (), + "bevy_rapier3d::dynamics::rigid_body::Velocity": ( + linvel: ( + x: -1.2580805, + y: -0.39687577, + z: 0.4816798, + ), + angvel: ( + x: 0.2979751, + y: 0.07926611, + z: 0.8434645, + ), + ), + }, + ), + 86: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 0.26087752, + y: 1.5525806, + z: 1.5980839, + ), + rotation: (0.059497803, -0.0000018232388, 0.13145457, 0.9895351), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 3398656236303073559, + name: "test7470642598731063943", + ), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "advanced::game::picking::Pickable": (), + "bevy_rapier3d::dynamics::rigid_body::Velocity": ( + linvel: ( + x: -0.9268077, + y: -0.19806683, + z: 0.41948256, + ), + angvel: ( + x: 0.26946256, + y: -0.000006710977, + z: 0.5953494, + ), + ), + }, + ), + 90: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 2.6515265, + y: 1.5944021, + z: -4.391837, + ), + rotation: (-0.030030435, -0.0000006527225, 0.029748484, 0.9991062), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 12541900054595385134, + name: "test3938024405863834719", + ), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "advanced::game::picking::Pickable": (), + "bevy_rapier3d::dynamics::rigid_body::Velocity": ( + linvel: ( + x: -0.28430828, + y: -0.022357654, + z: -0.2870027, + ), + angvel: ( + x: -0.17986917, + y: -0.0000035613396, + z: 0.17818078, + ), + ), + }, + ), + 94: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: -4.2356462, + y: 1.596993, + z: 0.7254991, + ), + rotation: (-0.0221751, -0.0000000001891749, 0.011065631, 0.99969286), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 6757906322211730861, + name: "test11007490954016878479", + ), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "advanced::game::picking::Pickable": (), + "bevy_rapier3d::dynamics::rigid_body::Velocity": ( + linvel: ( + x: -0.21747473, + y: -0.014912919, + z: -0.43581253, + ), + angvel: ( + x: -0.2727097, + y: -0.0000000034594905, + z: 0.13608481, + ), + ), + }, + ), + 98: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 3.1525247, + y: 1.5518407, + z: -2.9611976, + ), + rotation: (-0.09219627, 0.1602262, -0.11205085, 0.9763565), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 12588565107899185946, + name: "test5980867849331267699", + ), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "advanced::game::picking::Pickable": (), + "bevy_rapier3d::dynamics::rigid_body::Velocity": ( + linvel: ( + x: 0.8323179, + y: -0.20597076, + z: -0.68975484, + ), + angvel: ( + x: -0.37971017, + y: 0.49603412, + z: -0.6079359, + ), + ), + }, + ), + 4294967310: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 4.826278, + y: 1.2710563, + z: -3.1997645, + ), + rotation: (-0.303028, 0.00000087800436, -0.23889118, 0.9225535), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 15533546218717453536, + name: "test12380979123759326444", + ), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "advanced::game::picking::Pickable": (), + "bevy_rapier3d::dynamics::rigid_body::Velocity": ( + linvel: ( + x: 1.2146912, + y: -1.1640646, + z: -1.5408095, + ), + angvel: ( + x: -1.1932359, + y: 0.000002945365, + z: -0.94068503, + ), + ), + }, + ), + 4294967314: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 3.9906094, + y: 1.4824095, + z: 2.4394412, + ), + rotation: (0.06015042, 0.085218765, 0.2215642, 0.9695509), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 2466794778849297109, + name: "test12475628281920299197", + ), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "advanced::game::picking::Pickable": (), + "bevy_rapier3d::dynamics::rigid_body::Velocity": ( + linvel: ( + x: -1.0818624, + y: -0.37798148, + z: 0.45334253, + ), + angvel: ( + x: 0.25961447, + y: 0.14854014, + z: 0.7426717, + ), + ), + }, + ), + 4294967321: ( + components: { + "bevy_transform::components::transform::Transform": ( + translation: ( + x: 2.2306876, + y: 0.989814, + z: -1.3596333, + ), + rotation: (0.30614096, 0.002587511, -0.42789298, 0.8503991), + scale: ( + x: 1.0, + y: 1.0, + z: 1.0, + ), + ), + "bevy_core::name::Name": ( + hash: 1545925632270385398, + name: "test15780367212768138828", + ), + "bevy_gltf_blueprints::spawn_from_blueprints::BlueprintName": ("Health_Pickup"), + "advanced::game::picking::Pickable": (), + "bevy_rapier3d::dynamics::rigid_body::Velocity": ( + linvel: ( + x: 1.3027526, + y: -1.8947054, + z: 1.6179247, + ), + angvel: ( + x: 1.4565696, + y: -0.16299045, + z: -1.3631926, + ), + ), + }, + ), + }, +) \ No newline at end of file diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_core.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_core.rs new file mode 100644 index 0000000..29b577a --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_core.rs @@ -0,0 +1,5 @@ +use bevy::prelude::*; +use bevy_asset_loader::prelude::*; + +#[derive(AssetCollection, Resource)] +pub struct CoreAssets {} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_game.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_game.rs new file mode 100644 index 0000000..c65934f --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/assets/assets_game.rs @@ -0,0 +1,16 @@ +use bevy::gltf::Gltf; +use bevy::prelude::*; +use bevy::utils::HashMap; +use bevy_asset_loader::prelude::*; + +#[derive(AssetCollection, Resource)] +pub struct GameAssets { + #[asset(key = "world")] + pub world: Handle, + #[asset(key = "level1")] + pub level1: Handle, + #[asset(key = "level2")] + pub level2: Handle, + #[asset(key = "models", collection(typed, mapped))] + pub models: HashMap>, +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/assets/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/assets/mod.rs new file mode 100644 index 0000000..a2c8b22 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/assets/mod.rs @@ -0,0 +1,35 @@ +pub mod assets_core; +pub use assets_core::*; + +pub mod assets_game; +pub use assets_game::*; + +use bevy::prelude::*; +use bevy_asset_loader::prelude::*; + +use crate::state::AppState; + +pub struct AssetsPlugin; +impl Plugin for AssetsPlugin { + fn build(&self, app: &mut App) { + app + // load core assets (ie assets needed in the main menu, and everywhere else before loading more assets in game) + .add_loading_state( + LoadingState::new(AppState::CoreLoading).continue_to_state(AppState::MenuRunning), + ) + .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( + AppState::CoreLoading, + "assets_core.assets.ron", + ) + .add_collection_to_loading_state::<_, CoreAssets>(AppState::CoreLoading) + // load game assets + .add_loading_state( + LoadingState::new(AppState::AppLoading).continue_to_state(AppState::AppRunning), + ) + .add_dynamic_collection_to_loading_state::<_, StandardDynamicAssetCollection>( + AppState::AppLoading, + "assets_game.assets.ron", + ) + .add_collection_to_loading_state::<_, GameAssets>(AppState::AppLoading); + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_replace_proxies.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_replace_proxies.rs new file mode 100644 index 0000000..9055c95 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_replace_proxies.rs @@ -0,0 +1,24 @@ +use bevy::core_pipeline::bloom::{BloomCompositeMode, BloomSettings}; +use bevy::core_pipeline::tonemapping::{DebandDither, Tonemapping}; +use bevy::prelude::*; + +use super::CameraTrackingOffset; + +pub fn camera_replace_proxies( + mut commands: Commands, + mut added_cameras: Query<(Entity, &mut Camera), (Added, With)>, +) { + for (entity, mut camera) in added_cameras.iter_mut() { + info!("detected added camera, updating proxy"); + camera.hdr = true; + commands + .entity(entity) + .insert(DebandDither::Enabled) + .insert(Tonemapping::BlenderFilmic) + .insert(BloomSettings { + intensity: 0.01, + composite_mode: BloomCompositeMode::Additive, + ..default() + }); + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_tracking.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_tracking.rs new file mode 100644 index 0000000..71b0ed7 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/camera_tracking.rs @@ -0,0 +1,81 @@ +use bevy::prelude::*; + +#[derive(Component, Reflect, Debug)] +#[reflect(Component)] +/// Component for cameras, with an offset from the Trackable target +/// +pub struct CameraTracking { + pub offset: Vec3, +} +impl Default for CameraTracking { + fn default() -> Self { + CameraTracking { + offset: Vec3::new(0.0, 6.0, 8.0), + } + } +} + +#[derive(Component, Reflect, Debug, Deref, DerefMut)] +#[reflect(Component)] +/// Component for cameras, with an offset from the Trackable target +pub struct CameraTrackingOffset(Vec3); +impl Default for CameraTrackingOffset { + fn default() -> Self { + CameraTrackingOffset(Vec3::new(0.0, 6.0, 8.0)) + } +} + +impl CameraTrackingOffset { + fn new(input: Vec3) -> Self { + CameraTrackingOffset(input) + } +} + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +/// Add this component to an entity if you want it to be tracked by a Camera +pub struct CameraTrackable; + +// this system ensures that the camera is at the correct position immediatly after spawning +pub fn init_camera_track( + mut tracking_cameras: Query< + (&mut Transform, &CameraTrackingOffset), + ( + With, + With, + Without, + ), + >, + camera_tracked: Query<&Transform, (With, Added)>, +) { + for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { + for tracked_transform in camera_tracked.iter() { + println!("ADDED tracking camera"); + + let target_position = tracked_transform.translation + tracking_offset.0; + camera_transform.translation = target_position; + *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); + } + } +} + +pub fn camera_track( + mut tracking_cameras: Query< + (&mut Transform, &CameraTrackingOffset), + ( + With, + With, + Without, + ), + >, + camera_tracked: Query<&Transform, With>, +) { + for (mut camera_transform, tracking_offset) in tracking_cameras.iter_mut() { + for tracked_transform in camera_tracked.iter() { + let target_position = tracked_transform.translation + tracking_offset.0; + let eased_position = camera_transform.translation.lerp(target_position, 0.1); + camera_transform.translation = eased_position; // + tracking.offset;// tracked_transform.translation + tracking.offset; + *camera_transform = camera_transform.looking_at(tracked_transform.translation, Vec3::Y); + } + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/mod.rs new file mode 100644 index 0000000..216183c --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/camera/mod.rs @@ -0,0 +1,25 @@ +pub mod camera_tracking; +pub use camera_tracking::*; + +pub mod camera_replace_proxies; +pub use camera_replace_proxies::*; + +use bevy::prelude::*; +use bevy_gltf_blueprints::GltfBlueprintsSet; + +pub struct CameraPlugin; +impl Plugin for CameraPlugin { + fn build(&self, app: &mut App) { + app.register_type::() + .register_type::() + .register_type::() + .add_systems( + Update, + ( + camera_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), + init_camera_track, + camera_track, + ), + ); + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/lighting_replace_proxies.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/lighting_replace_proxies.rs new file mode 100644 index 0000000..729ba44 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/lighting_replace_proxies.rs @@ -0,0 +1,31 @@ +use bevy::prelude::*; + +use bevy::pbr::{CascadeShadowConfig, CascadeShadowConfigBuilder}; + +pub fn lighting_replace_proxies( + mut added_dirights: Query<(Entity, &mut DirectionalLight), Added>, + mut added_spotlights: Query<&mut SpotLight, Added>, + mut added_pointlights: Query<&mut PointLight, Added>, + + mut commands: Commands, +) { + for (entity, mut light) in added_dirights.iter_mut() { + light.illuminance *= 5.0; + light.shadows_enabled = true; + let shadow_config: CascadeShadowConfig = CascadeShadowConfigBuilder { + first_cascade_far_bound: 15.0, + maximum_distance: 135.0, + ..default() + } + .into(); + commands.entity(entity).insert(shadow_config); + } + for mut light in added_spotlights.iter_mut() { + light.shadows_enabled = true; + } + + for mut light in added_pointlights.iter_mut() { + light.intensity *= 0.001; // arbitrary/ eyeballed to match the levels of Blender + light.shadows_enabled = true; + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/mod.rs new file mode 100644 index 0000000..c9688cd --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/lighting/mod.rs @@ -0,0 +1,18 @@ +mod lighting_replace_proxies; +use lighting_replace_proxies::*; + +use bevy::pbr::{DirectionalLightShadowMap, NotShadowCaster}; +use bevy::prelude::*; + +pub struct LightingPlugin; +impl Plugin for LightingPlugin { + fn build(&self, app: &mut App) { + app + .insert_resource(DirectionalLightShadowMap { size: 4096 }) + // FIXME: adding these since they are missing + .register_type::() + + .add_systems(PreUpdate, lighting_replace_proxies) // FIXME: you should actually run this in a specific state most likely + ; + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/mod.rs new file mode 100644 index 0000000..6dc214f --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/mod.rs @@ -0,0 +1,32 @@ +pub mod camera; +pub use camera::*; + +pub mod lighting; +pub use lighting::*; + +pub mod relationships; +pub use relationships::*; + +pub mod physics; +pub use physics::*; + +// pub mod save_load; +// pub use save_load::*; + +use bevy::prelude::*; +use bevy_gltf_blueprints::*; + +pub struct CorePlugin; +impl Plugin for CorePlugin { + fn build(&self, app: &mut App) { + app.add_plugins(( + LightingPlugin, + CameraPlugin, + PhysicsPlugin, + // SaveLoadPlugin, + BlueprintsPlugin { + library_folder: "models/library".into(), + }, + )); + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/controls.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/controls.rs new file mode 100644 index 0000000..433128e --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/controls.rs @@ -0,0 +1,21 @@ +use bevy::prelude::{info, Input, KeyCode, Res, ResMut}; +use bevy_rapier3d::{prelude::RapierConfiguration, render::DebugRenderContext}; + +pub fn pause_physics(mut physics_config: ResMut) { + info!("pausing physics"); + physics_config.physics_pipeline_active = false; +} + +pub fn resume_physics(mut physics_config: ResMut) { + info!("unpausing physics"); + physics_config.physics_pipeline_active = true; +} + +pub fn toggle_physics_debug( + mut debug_config: ResMut, + keycode: Res>, +) { + if keycode.just_pressed(KeyCode::D) { + debug_config.enabled = !debug_config.enabled; + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/mod.rs new file mode 100644 index 0000000..c9fa115 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/mod.rs @@ -0,0 +1,36 @@ +pub mod physics_replace_proxies; +use bevy_rapier3d::{ + prelude::{NoUserData, RapierPhysicsPlugin}, + render::RapierDebugRenderPlugin, +}; +pub use physics_replace_proxies::*; + +pub mod utils; + +pub mod controls; +pub use controls::*; + +use crate::state::GameState; +use bevy::prelude::*; +// use super::blueprints::GltfBlueprintsSet; +use bevy_gltf_blueprints::GltfBlueprintsSet; +// use crate::Collider; +pub struct PhysicsPlugin; +impl Plugin for PhysicsPlugin { + fn build(&self, app: &mut App) { + app.add_plugins(( + RapierPhysicsPlugin::::default(), + RapierDebugRenderPlugin::default(), + )) + .register_type::() + .register_type::() + .add_systems( + Update, + physics_replace_proxies.after(GltfBlueprintsSet::AfterSpawn), + ) + // physics controls + .add_systems(OnEnter(GameState::InGame), resume_physics) + .add_systems(OnExit(GameState::InGame), pause_physics) + .add_systems(Update, toggle_physics_debug); + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/physics_replace_proxies.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/physics_replace_proxies.rs new file mode 100644 index 0000000..7e4d5fc --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/physics_replace_proxies.rs @@ -0,0 +1,102 @@ +use bevy::prelude::*; +// use bevy::render::primitives::Aabb; +use bevy_rapier3d::geometry::Collider as RapierCollider; +use bevy_rapier3d::prelude::{ActiveCollisionTypes, ActiveEvents, ComputedColliderShape}; + +use super::utils::*; + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +pub enum Collider { + Ball(f32), + Cuboid(Vec3), + Capsule(Vec3, Vec3, f32), + #[default] + Mesh, +} + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +pub enum AutoAABBCollider { + #[default] + Cuboid, + Ball, + Capsule, +} + +// replaces all physics stand-ins with the actual rapier types +pub fn physics_replace_proxies( + meshes: Res>, + mesh_handles: Query<&Handle>, + mut proxy_colliders: Query< + (Entity, &Collider, &Name, &mut Visibility), + (Without, Added), + >, + // needed for tri meshes + children: Query<&Children>, + + mut commands: Commands, +) { + for proxy_colider in proxy_colliders.iter_mut() { + let (entity, collider_proxy, name, mut visibility) = proxy_colider; + // we hide the collider meshes: perhaps they should be removed altogether once processed ? + if name.ends_with("_collider") || name.ends_with("_sensor") { + *visibility = Visibility::Hidden; + } + // also entities marked with collider names are actually children colliders + + let mut rapier_collider: RapierCollider; + match collider_proxy { + Collider::Ball(radius) => { + info!("generating collider from proxy: ball"); + rapier_collider = RapierCollider::ball(*radius); + commands.entity(entity) + .insert(rapier_collider) + .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! + ; + } + Collider::Cuboid(size) => { + info!("generating collider from proxy: cuboid"); + rapier_collider = RapierCollider::cuboid(size.x, size.y, size.z); + commands.entity(entity) + .insert(rapier_collider) + .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! + ; + } + Collider::Capsule(a, b, radius) => { + info!("generating collider from proxy: capsule"); + rapier_collider = RapierCollider::capsule(*a, *b, *radius); + commands.entity(entity) + .insert(rapier_collider) + .insert(ActiveEvents::COLLISION_EVENTS) // FIXME: this is just for demo purposes !!! + ; + } + Collider::Mesh => { + info!("generating collider from proxy: mesh"); + for (_, collider_mesh) in + Mesh::search_in_children(entity, &children, &meshes, &mesh_handles) + { + rapier_collider = RapierCollider::from_bevy_mesh( + collider_mesh, + &ComputedColliderShape::TriMesh, + ) + .unwrap(); + commands + .entity(entity) + .insert(rapier_collider) + // FIXME: this is just for demo purposes !!! + .insert( + ActiveCollisionTypes::default() + | ActiveCollisionTypes::KINEMATIC_STATIC + | ActiveCollisionTypes::STATIC_STATIC + | ActiveCollisionTypes::DYNAMIC_STATIC, + ) + .insert(ActiveEvents::COLLISION_EVENTS); + // .insert(ActiveEvents::COLLISION_EVENTS) + // break; + // RapierCollider::convex_hull(points) + } + } + } + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/utils.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/utils.rs new file mode 100644 index 0000000..7886710 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/physics/utils.rs @@ -0,0 +1,175 @@ +use bevy::prelude::*; +use bevy::render::mesh::{MeshVertexAttributeId, PrimitiveTopology, VertexAttributeValues}; +// TAKEN VERBATIB FROM https://github.com/janhohenheim/foxtrot/blob/src/util/trait_extension.rs + +pub(crate) trait Vec3Ext: Copy { + fn is_approx_zero(self) -> bool; + fn split(self, up: Vec3) -> SplitVec3; +} +impl Vec3Ext for Vec3 { + #[inline] + fn is_approx_zero(self) -> bool { + self.length_squared() < 1e-5 + } + + #[inline] + fn split(self, up: Vec3) -> SplitVec3 { + let vertical = up * self.dot(up); + let horizontal = self - vertical; + SplitVec3 { + vertical, + horizontal, + } + } +} + +#[derive(Debug, Clone, Copy, PartialEq)] +pub(crate) struct SplitVec3 { + pub(crate) vertical: Vec3, + pub(crate) horizontal: Vec3, +} + +pub(crate) trait Vec2Ext: Copy { + fn is_approx_zero(self) -> bool; + fn x0y(self) -> Vec3; +} +impl Vec2Ext for Vec2 { + #[inline] + fn is_approx_zero(self) -> bool { + self.length_squared() < 1e-5 + } + + #[inline] + fn x0y(self) -> Vec3 { + Vec3::new(self.x, 0., self.y) + } +} + +pub(crate) trait MeshExt { + fn transform(&mut self, transform: Transform); + fn transformed(&self, transform: Transform) -> Mesh; + fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]>; + fn search_in_children<'a>( + parent: Entity, + children: &'a Query<&Children>, + meshes: &'a Assets, + mesh_handles: &'a Query<&Handle>, + ) -> Vec<(Entity, &'a Mesh)>; +} + +impl MeshExt for Mesh { + fn transform(&mut self, transform: Transform) { + for coords in self.read_coords_mut(Mesh::ATTRIBUTE_POSITION.clone()) { + let vec3 = (*coords).into(); + let transformed = transform.transform_point(vec3); + *coords = transformed.into(); + } + for normal in self.read_coords_mut(Mesh::ATTRIBUTE_NORMAL.clone()) { + let vec3 = (*normal).into(); + let transformed = transform.rotation.mul_vec3(vec3); + *normal = transformed.into(); + } + } + + fn transformed(&self, transform: Transform) -> Mesh { + let mut mesh = self.clone(); + mesh.transform(transform); + mesh + } + + fn read_coords_mut(&mut self, id: impl Into) -> &mut Vec<[f32; 3]> { + // Guaranteed by Bevy for the current usage + match self + .attribute_mut(id) + .expect("Failed to read unknown mesh attribute") + { + VertexAttributeValues::Float32x3(values) => values, + // Guaranteed by Bevy for the current usage + _ => unreachable!(), + } + } + + fn search_in_children<'a>( + parent: Entity, + children_query: &'a Query<&Children>, + meshes: &'a Assets, + mesh_handles: &'a Query<&Handle>, + ) -> Vec<(Entity, &'a Mesh)> { + if let Ok(children) = children_query.get(parent) { + let mut result: Vec<_> = children + .iter() + .filter_map(|entity| mesh_handles.get(*entity).ok().map(|mesh| (*entity, mesh))) + .map(|(entity, mesh_handle)| { + ( + entity, + meshes + .get(mesh_handle) + .expect("Failed to get mesh from handle"), + ) + }) + .map(|(entity, mesh)| { + assert_eq!(mesh.primitive_topology(), PrimitiveTopology::TriangleList); + (entity, mesh) + }) + .collect(); + let mut inner_result = children + .iter() + .flat_map(|entity| { + Self::search_in_children(*entity, children_query, meshes, mesh_handles) + }) + .collect(); + result.append(&mut inner_result); + result + } else { + Vec::new() + } + } +} + +pub(crate) trait F32Ext: Copy { + fn is_approx_zero(self) -> bool; + fn squared(self) -> f32; + fn lerp(self, other: f32, ratio: f32) -> f32; +} + +impl F32Ext for f32 { + #[inline] + fn is_approx_zero(self) -> bool { + self.abs() < 1e-5 + } + + #[inline] + fn squared(self) -> f32 { + self * self + } + + #[inline] + fn lerp(self, other: f32, ratio: f32) -> f32 { + self.mul_add(1. - ratio, other * ratio) + } +} + +pub(crate) trait TransformExt: Copy { + fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform; + fn lerp(self, other: Transform, ratio: f32) -> Transform; +} + +impl TransformExt for Transform { + fn horizontally_looking_at(self, target: Vec3, up: Vec3) -> Transform { + let direction = target - self.translation; + let horizontal_direction = direction - up * direction.dot(up); + let look_target = self.translation + horizontal_direction; + self.looking_at(look_target, up) + } + + fn lerp(self, other: Transform, ratio: f32) -> Transform { + let translation = self.translation.lerp(other.translation, ratio); + let rotation = self.rotation.slerp(other.rotation, ratio); + let scale = self.scale.lerp(other.scale, ratio); + Transform { + translation, + rotation, + scale, + } + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/mod.rs new file mode 100644 index 0000000..4128453 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/mod.rs @@ -0,0 +1,11 @@ +pub mod relationships_insert_dependant_components; +pub use relationships_insert_dependant_components::*; + +use bevy::prelude::*; + +pub struct EcsRelationshipsPlugin; +impl Plugin for EcsRelationshipsPlugin { + fn build(&self, app: &mut App) { + app; + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/relationships_insert_dependant_components.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/relationships_insert_dependant_components.rs new file mode 100644 index 0000000..4e9ad17 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/relationships/relationships_insert_dependant_components.rs @@ -0,0 +1,15 @@ +use bevy::prelude::*; + +pub fn insert_dependant_component< + Dependant: Component, + Dependency: Component + std::default::Default, +>( + mut commands: Commands, + entities_without_depency: Query<(Entity, &Name), (With, Without)>, +) { + for (entity, name) in entities_without_depency.iter() { + let name = name.clone().to_string(); + commands.entity(entity).insert(Dependency::default()); + warn!("found an entity called {} with a {} component but without an {}, please check your assets", name.clone(), std::any::type_name::(), std::any::type_name::()); + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/loading.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/loading.rs new file mode 100644 index 0000000..73ef523 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/loading.rs @@ -0,0 +1,218 @@ +use bevy::prelude::*; +use bevy_gltf_blueprints::{clone_entity::CloneEntity, GameWorldTag, SpawnHere}; + +use crate::{ + assets::GameAssets, + state::{AppState, GameState, InAppRunning}, +}; + +use super::Saveable; + +const SCENE_FILE_PATH: &str = "scenes/save.scn.ron"; + +#[derive(Component, Debug)] +pub struct TempLoadedSceneMarker; + +#[derive(Component, Debug)] +pub struct SaveablesToRemove(Vec<(Entity, Name)>); + +#[derive(Component, Event)] +pub struct LoadRequest { + pub path: String, +} + +pub fn should_load(save_requested_events: EventReader) -> bool { + return save_requested_events.len() > 0; +} + +pub fn load_prepare( + mut next_app_state: ResMut>, + mut next_game_state: ResMut>, +) { + next_app_state.set(AppState::LoadingGame); + next_game_state.set(GameState::None); + info!("--loading: prepare") +} + +/// unload the level recursively +pub fn _unload_world_old(world: &mut World) { + let entities: Vec = world + // .query_filtered::, With)>>() + .query_filtered::>() // our level/world contains this component + .iter(world) + .collect(); + for entity in entities { + // Check the entity again in case it was despawned recursively + if world.get_entity(entity).is_some() { + world.entity_mut(entity).despawn_recursive(); + } + } +} + +pub fn unload_world(mut commands: Commands, gameworlds: Query>) { + for e in gameworlds.iter() { + info!("--loading: despawn old world/level"); + commands.entity(e).despawn_recursive(); + } +} + +// almost identical to setup_game, !!?? +pub fn load_world( + mut commands: Commands, + game_assets: Res, + // scenes: ResMut, +) { + info!("--loading: loading world/level"); + + commands.spawn(( + SceneBundle { + scene: game_assets.world.clone(), + ..default() + }, + bevy::prelude::Name::from("world"), + GameWorldTag, + InAppRunning, + )); +} + +pub fn load_saved_scene(mut commands: Commands, asset_server: Res) { + commands.spawn(( + DynamicSceneBundle { + // Scenes are loaded just like any other asset. + scene: asset_server.load(SCENE_FILE_PATH), + ..default() + }, + TempLoadedSceneMarker, + )); + // commands.entity(world).add_child(child_scene); + info!("--loading: loaded saved scene"); +} + +pub fn process_loaded_scene( + loaded_scene: Query<(Entity, &Children), With>, + named_entities: Query<(Entity, &Name, &Parent)>, // FIXME: very inneficient + mut commands: Commands, + + mut game_world: Query<(Entity, &Children), With>, + saveables: Query<(Entity, &Name), With>, + asset_server: Res, +) { + for (loaded_scene, children) in loaded_scene.iter() { + info!("--loading: post processing loaded scene"); + + let mut entities_to_load: Vec<(Entity, Name)> = vec![]; + + for loaded_entity in children.iter() { + if let Ok((source, name, _)) = named_entities.get(*loaded_entity) { + entities_to_load.push((source, name.clone())); + + let mut found = false; + for (e, n, p) in named_entities.iter() { + // if we have an entity with the same name as in same file, overwrite + if e != source && name.as_str() == n.as_str() { + // println!("found entity with same name {} {} {:?} {:?}", name, n, source, e); + // source is entity within the newly loaded scene (source), e is within the existing world (destination) + info!("copying data from {:?} to {:?}", source, e); + commands.add(CloneEntity { + source: source, + destination: e, + }); + // FIXME: issue with hierarchy & parenting, would be nice to be able to filter out components from CloneEntity + commands.entity(p.get()).add_child(e); + commands.entity(source).despawn_recursive(); + found = true; + break; + } + } + // entity not found in the list of existing entities (ie entities that came as part of the level) + // so we spawn a new one + if !found { + info!("generating new entity"); + let world = game_world.single_mut(); + let world = world.1[0]; + + let new_entity = commands + .spawn((bevy::prelude::Name::from(name.clone()), SpawnHere)) + .id(); + + commands.add(CloneEntity { + source: source, + destination: new_entity, + }); + + commands.entity(world).add_child(new_entity); + info!("copying data from {:?} to {:?}", source, new_entity); + } + } + } + commands.spawn(SaveablesToRemove(entities_to_load.clone())); + + // if an entity is present in the world but NOT in the saved entities , it should be removed from the world + // ideally this should be run between spawning of the world/level AND spawn_placeholders + + // remove the dynamic scene + info!("--loading: DESPAWNING LOADED SCENE"); + commands.entity(loaded_scene).despawn_recursive(); + + asset_server.mark_unused_assets(); + asset_server.free_unused_assets(); + } + //for saveable in saveables.iter(){ + // println!("SAVEABLE BEFORE {:?}", saveable) + //} +} + +pub fn final_cleanup( + saveables_to_remove: Query<(Entity, &SaveablesToRemove)>, + mut commands: Commands, + saveables: Query<(Entity, &Name), With>, + mut next_app_state: ResMut>, + mut next_game_state: ResMut>, +) { + if let Ok((e, entities_to_load)) = saveables_to_remove.get_single() { + info!("saveables to remove {:?}", entities_to_load); + for (e, n) in saveables.iter() { + let mut found = false; + println!("SAVEABLE {}", n); + + //let entities_to_load = saveables_to_remove.single(); + for (en, na) in entities_to_load.0.iter() { + found = na.as_str() == n.as_str(); + if found { + break; + } + } + if !found { + println!("REMOVING THIS ONE {}", n); + commands.entity(e).despawn_recursive(); + } + } + // if there is a saveable that is NOT in the list of entities to load, despawn it + + // despawn list + commands.entity(e).despawn_recursive(); + + info!("--loading: done, move to InGame state"); + // next_app_state.set(AppState::AppRunning); + next_game_state.set(GameState::InGame); + } +} + +fn process_loaded_scene_load_alt( + entities: Query<(Entity, &Children), With>, + named_entities: Query<(Entity, &Name, &Parent)>, // FIXME: very inneficient + mut commands: Commands, +) { + for (entity, children) in entities.iter() { + let mut entities_to_load: Vec<(Entity, Name)> = vec![]; + for saved_source in children.iter() { + if let Ok((source, name, _)) = named_entities.get(*saved_source) { + println!("AAAAAAA {}", name); + entities_to_load.push((source, name.clone())); + } + } + println!("entities to load {:?}", entities_to_load); + + commands.entity(entity).despawn_recursive(); + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/mod.rs new file mode 100644 index 0000000..3d0e91e --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/mod.rs @@ -0,0 +1,70 @@ +pub mod saveable; +use bevy::asset::free_unused_assets_system; +use bevy_gltf_components::GltfComponentsSet; +pub use saveable::*; + +pub mod saving; +pub use saving::*; + +pub mod loading; +pub use loading::*; + +use bevy::prelude::*; +use bevy::prelude::{App, IntoSystemConfigs, Plugin}; +use bevy::utils::Uuid; + +use bevy_gltf_blueprints::GltfBlueprintsSet; + +#[derive(SystemSet, Debug, Hash, PartialEq, Eq, Clone)] +pub enum LoadingSet { + Load, + PostLoad, +} + +pub struct SaveLoadPlugin; +impl Plugin for SaveLoadPlugin { + fn build(&self, app: &mut App) { + app + .register_type::() + .register_type::() + .add_event::() + .add_event::() + + .configure_sets( + Update, + (LoadingSet::Load, LoadingSet::PostLoad) + .chain() + .before(GltfBlueprintsSet::Spawn) + .before(GltfComponentsSet::Injection) + ) + + .add_systems(PreUpdate, save_game.run_if(should_save)) + + .add_systems(Update, + ( + load_prepare, + unload_world, + load_world, + load_saved_scene, + // process_loaded_scene + ) + .chain() + .run_if(should_load) // .run_if(in_state(AppState::AppRunning)) + .in_set(LoadingSet::Load) + ) + .add_systems(Update, + ( + process_loaded_scene, + apply_deferred, + final_cleanup, + apply_deferred, + free_unused_assets_system + ) + .chain() + .in_set(LoadingSet::PostLoad) + ) + + // .add_systems(Update, bla) + ; + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/old.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/old.rs new file mode 100644 index 0000000..7d8a389 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/old.rs @@ -0,0 +1,137 @@ +const NEW_SCENE_FILE_PATH:&str="save.scn.ron"; + + + + +use bevy::ecs::component::Components; +use bevy::ecs::entity::EntityMap; +use serde::{Deserialize, Serialize}; + + +use std::io::Read; +use bevy::scene::serde::SceneDeserializer; +use ron::Deserializer; +use serde::de::DeserializeSeed; + + + + +#[derive(Debug, Deserialize)] +struct Components2; + +#[derive(Debug, Deserialize)] +struct Fake { + resources: HashMap, + entities: HashMap +} + +fn ron_test(){ + let full_path = "/home/ckaos/projects/grappling-boom-bot/assets/save.ron"; + match File::open(full_path) { + Ok(mut file) => { + let mut serialized_scene = Vec::new(); + if let Err(why) = file.read_to_end(&mut serialized_scene) { + error!("file read failed: {why:?}"); + } + match Deserializer::from_bytes(&serialized_scene) { + Ok(mut deserializer) => { + // deserializer. + let bla:Fake = ron::from_str("( + resources: {}, + entities: {} + )").unwrap(); + info!("testing {:?}", bla); + info!("YOYO DONE YO !") + } + Err(why) => { + error!("deserializer creation failed: {why:?}"); + } + } + } + Err(why) => { + error!("load failed: {why:?}"); + } + } +} + +fn inject_component_data(world: &mut World, scene: DynamicScene){ + let mut entity_map = EntityMap::default(); + if let Err(why) = scene.write_to_world(world, &mut entity_map) { + panic!("world write failed: {why:?}"); + } + println!("entity map {:?}", entity_map); + // TODO: EntityMap doesn't implement `iter()` + for old_entity in entity_map.keys() { + let entity = entity_map.get(old_entity).unwrap(); + info!("entity update required: {old_entity:?} -> {entity:?}"); + let e_mut = world + .entity_mut(entity); + } + + info!("done loading scene"); +} + +fn post_load(world: &mut World){ + let full_path = "/home/ckaos/projects/grappling-boom-bot/assets/save.ron"; + match File::open(full_path) { + Ok(mut file) => { + let mut serialized_scene = Vec::new(); + if let Err(why) = file.read_to_end(&mut serialized_scene) { + error!("file read failed: {why:?}"); + } + match Deserializer::from_bytes(&serialized_scene) { + Ok(mut deserializer) => { + let result = SceneDeserializer { + type_registry: &world.resource::().read(), + } + .deserialize(&mut deserializer); + info!("deserialize done"); + match result { + Ok(scene) => { + info!("scene loaded"); + // scene.write_to_world(world, entity_map) + // println!("{:?}", scene.entities); + inject_component_data(world, scene); + /*for dyn_ent in scene.entities.iter(){ + // let mut query = scene.world.query::<(Entity, &Name, &GltfExtras, &Parent)>(); + }*/ + } + Err(why) => { + error!("deserialization failed: {why:?}"); + } + } + } + Err(why) => { + error!("deserializer creation failed: {why:?}"); + } + } + } + Err(why) => { + error!("load failed: {why:?}"); + } + } + +} + + + +#[derive(Component, Reflect, Debug, Default )] +#[reflect(Component)] +pub struct Hackish; + + + +/// unload saveables +fn unload_saveables(world: &mut World) { + let entities: Vec = world + .query_filtered::>()// our level/world contains this component + .iter(world) + .collect(); + for entity in entities { + // Check the entity again in case it was despawned recursively + if world.get_entity(entity).is_some() { + info!("despawning"); + world.entity_mut(entity).despawn_recursive(); + } + } +} \ No newline at end of file diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/saveable.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/saveable.rs new file mode 100644 index 0000000..67a4c65 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/saveable.rs @@ -0,0 +1,14 @@ +use bevy::prelude::*; +use bevy::utils::Uuid; + +#[derive(Component, Reflect, Debug)] +#[reflect(Component)] +pub struct Saveable { + id: Uuid, +} + +impl Default for Saveable { + fn default() -> Self { + Saveable { id: Uuid::new_v4() } + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/saving.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/saving.rs new file mode 100644 index 0000000..46d0b1a --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/core/save_load/saving.rs @@ -0,0 +1,87 @@ +use bevy::pbr::{Clusters, VisiblePointLights}; +use bevy::render::camera::CameraRenderGraph; +use bevy::render::view::VisibleEntities; +use bevy::tasks::IoTaskPool; +use bevy::{gltf::GltfExtras, prelude::*}; +use bevy_rapier3d::prelude::RigidBody; +use std::fs::File; +use std::io::Write; + +use crate::core::physics::Collider; +use crate::game::{Pickable, Player}; + +use super::Saveable; + +const NEW_SCENE_FILE_PATH: &str = "save.scn.ron"; + +#[derive(Component, Event)] +pub struct SaveRequest { + pub path: String, +} + +pub fn should_save( + // keycode: Res>, + save_requested_events: EventReader, +) -> bool { + return save_requested_events.len() > 0; + + // return keycode.just_pressed(KeyCode::S) +} + +pub fn save_game( + world: &mut World, + // save_requested_events: EventReader, +) { + info!("saving"); + // world. + /*for bli in save_requested_events.iter(){ + println!("SAAAAVE TO THISSSSS {:?}", bli.path) + }*/ + + let saveable_entities: Vec = world + .query_filtered::>() + .iter(world) + .collect(); + + /*let static_entities: Vec = world + .query_filtered::>() + .iter(world) + .collect();*/ + println!("saveable entities {}", saveable_entities.len()); + + let mut scene_builder = DynamicSceneBuilder::from_world(world); + scene_builder + .deny::() + .deny::() + .deny::() + .deny::() + .deny::() + .deny::() + .deny::() + .deny::() + .deny::() + // camera stuff + .deny::() + .deny::() + .deny::() + .deny::() + .deny::() + .deny::() + //.deny::() + .extract_entities(saveable_entities.into_iter()); + + let dyn_scene = scene_builder.build(); + let serialized_scene = dyn_scene + .serialize_ron(world.resource::()) + .unwrap(); + + #[cfg(not(target_arch = "wasm32"))] + IoTaskPool::get() + .spawn(async move { + // Write the scene RON data to file + File::create(format!("assets/scenes/{NEW_SCENE_FILE_PATH}")) + .and_then(|mut file| file.write(serialized_scene.as_bytes())) + .expect("Error while writing scene to file"); + }) + .detach(); +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/game/in_game.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/game/in_game.rs new file mode 100644 index 0000000..add9561 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/game/in_game.rs @@ -0,0 +1,85 @@ +use bevy::prelude::*; + +use crate::{ + assets::GameAssets, + state::{GameState, InAppRunning}, +}; +use bevy_gltf_blueprints::{BluePrintBundle, BlueprintName, GameWorldTag}; + +use bevy_rapier3d::prelude::Velocity; +use rand::Rng; + +pub fn setup_game( + mut commands: Commands, + game_assets: Res, + models: Res>, + mut next_game_state: ResMut>, +) { + println!("setting up all stuff"); + /*commands.insert_resource(AmbientLight { + color: Color::WHITE, + brightness: 0.2, + });*/ + // here we actually spawn our game world/level + + commands.spawn(( + SceneBundle { + // note: because of this issue https://github.com/bevyengine/bevy/issues/10436, "world" is now a gltf file instead of a scene + scene: models + .get(game_assets.world.id()) + .expect("main level should have been loaded") + .scenes[0] + .clone(), + ..default() + }, + bevy::prelude::Name::from("world"), + GameWorldTag, + InAppRunning, + )); + + next_game_state.set(GameState::InGame) +} + +pub fn spawn_test( + keycode: Res>, + mut commands: Commands, + + mut game_world: Query<(Entity, &Children), With>, +) { + if keycode.just_pressed(KeyCode::T) { + let world = game_world.single_mut(); + let world = world.1[0]; + + let mut rng = rand::thread_rng(); + let range = 5.5; + let x: f32 = rng.gen_range(-range..range); + let y: f32 = rng.gen_range(-range..range); + + let mut rng = rand::thread_rng(); + let range = 0.8; + let vel_x: f32 = rng.gen_range(-range..range); + let vel_y: f32 = rng.gen_range(2.0..2.5); + let vel_z: f32 = rng.gen_range(-range..range); + + let name_index: u64 = rng.gen(); + + let new_entity = commands + .spawn(( + BluePrintBundle { + blueprint: BlueprintName("Health_Pickup".to_string()), + transform: TransformBundle::from_transform(Transform::from_xyz(x, 2.0, y)), + ..Default::default() + }, + bevy::prelude::Name::from(format!("test{}", name_index)), + // BlueprintName("Health_Pickup".to_string()), + // SpawnHere, + // TransformBundle::from_transform(Transform::from_xyz(x, 2.0, y)), + Velocity { + linvel: Vec3::new(vel_x, vel_y, vel_z), + angvel: Vec3::new(0.0, 0.0, 0.0), + }, + )) + .id(); + commands.entity(world).add_child(new_entity); + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/game/in_main_menu.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/game/in_main_menu.rs new file mode 100644 index 0000000..cecd13a --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/game/in_main_menu.rs @@ -0,0 +1,113 @@ +use bevy::prelude::*; + +use crate::state::{AppState, GameState, InMainMenu}; + +pub fn setup_main_menu(mut commands: Commands) { + commands.spawn((Camera2dBundle::default(), InMainMenu)); + + commands.spawn(( + TextBundle::from_section( + "SOME GAME TITLE !!", + TextStyle { + //font: asset_server.load("fonts/FiraMono-Medium.ttf"), + font_size: 18.0, + color: Color::WHITE, + ..Default::default() + }, + ) + .with_style(Style { + position_type: PositionType::Absolute, + top: Val::Px(100.0), + left: Val::Px(200.0), + ..default() + }), + InMainMenu, + )); + + commands.spawn(( + TextBundle::from_section( + "New Game (press Enter to start, press T once the game is started for demo spawning)", + TextStyle { + //font: asset_server.load("fonts/FiraMono-Medium.ttf"), + font_size: 18.0, + color: Color::WHITE, + ..Default::default() + }, + ) + .with_style(Style { + position_type: PositionType::Absolute, + top: Val::Px(200.0), + left: Val::Px(200.0), + ..default() + }), + InMainMenu, + )); + + /* + commands.spawn(( + TextBundle::from_section( + "Load Game", + TextStyle { + //font: asset_server.load("fonts/FiraMono-Medium.ttf"), + font_size: 18.0, + color: Color::WHITE, + ..Default::default() + }, + ) + .with_style(Style { + position_type: PositionType::Absolute, + top: Val::Px(250.0), + left: Val::Px(200.0), + ..default() + }), + InMainMenu + )); + + commands.spawn(( + TextBundle::from_section( + "Exit Game", + TextStyle { + //font: asset_server.load("fonts/FiraMono-Medium.ttf"), + font_size: 18.0, + color: Color::WHITE, + ..Default::default() + }, + ) + .with_style(Style { + position_type: PositionType::Absolute, + top: Val::Px(300.0), + left: Val::Px(200.0), + ..default() + }), + InMainMenu + ));*/ +} + +pub fn teardown_main_menu(bla: Query>, mut commands: Commands) { + for bli in bla.iter() { + commands.entity(bli).despawn_recursive(); + } +} + +pub fn main_menu( + keycode: Res>, + + mut next_app_state: ResMut>, + // mut next_game_state: ResMut>, + // mut save_requested_events: EventWriter, + // mut load_requested_events: EventWriter, +) { + if keycode.just_pressed(KeyCode::Return) { + next_app_state.set(AppState::AppLoading); + // next_game_state.set(GameState::None); + } + + if keycode.just_pressed(KeyCode::L) { + next_app_state.set(AppState::AppLoading); + // load_requested_events.send(LoadRequest { path: "toto".into() }) + } + + if keycode.just_pressed(KeyCode::S) { + // save_requested_events.send(SaveRequest { path: "toto".into() }) + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/game/level_transitions.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/game/level_transitions.rs new file mode 100644 index 0000000..ca676f9 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/game/level_transitions.rs @@ -0,0 +1,86 @@ +use crate::{assets::GameAssets, state::InAppRunning}; +use bevy::prelude::*; +use bevy_gltf_blueprints::GameWorldTag; +use bevy_rapier3d::prelude::*; + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +pub struct LevelTransition { + pub target: String, +} + +// very barebones example of triggering level transitions +pub fn trigger_level_transition( + mut collision_events: EventReader, + level_transition_triggers: Query<&LevelTransition>, + parents: Query<&Parent>, + + mut commands: Commands, + game_assets: Res, + models: Res>, + + game_world: Query<(Entity, &GameWorldTag)>, +) { + for collision_event in collision_events.read() { + match collision_event { + CollisionEvent::Started(entity1, entity2, _) => { + // we need to accomodate for the fact that the collider may be a child of the level transition (FIXME: is this a missunderstanding on my part about rapier child colliders ?) + let entity1_parent = parents.get(*entity1).unwrap(); + let entity2_parent = parents.get(*entity2).unwrap(); + if level_transition_triggers.get(*entity1).is_ok() + || level_transition_triggers.get(*entity2).is_ok() + || level_transition_triggers.get(entity1_parent.get()).is_ok() + || level_transition_triggers.get(entity2_parent.get()).is_ok() + { + println!("collision started, we can transition to level"); + let transition_trigger; + if level_transition_triggers.get(*entity1).is_ok() { + transition_trigger = level_transition_triggers.get(*entity1).unwrap(); + } else if level_transition_triggers.get(*entity2).is_ok() { + transition_trigger = level_transition_triggers.get(*entity2).unwrap(); + } else if level_transition_triggers.get(entity1_parent.get()).is_ok() { + transition_trigger = + level_transition_triggers.get(entity1_parent.get()).unwrap(); + } else { + transition_trigger = + level_transition_triggers.get(entity2_parent.get()).unwrap(); + } + let current_game_world = game_world.single(); + + // remove current level/world + info!("despawning current level"); + commands.entity(current_game_world.0).despawn_recursive(); + + let target_level = &transition_trigger.target; + let level; + println!("target level {}", target_level); + if target_level == "Level1" { + level = &game_assets.level1; + } else if (target_level == "Level2") { + level = &game_assets.level2; + } else { + level = &game_assets.world; + } + info!("spawning new level"); + commands.spawn(( + SceneBundle { + // note: because of this issue https://github.com/bevyengine/bevy/issues/10436, "world" is now a gltf file instead of a scene + scene: models + .get(level.id()) + .expect("main level should have been loaded") + .scenes[0] + .clone(), + ..default() + }, + bevy::prelude::Name::from("world"), + GameWorldTag, + InAppRunning, + )); + } + } + CollisionEvent::Stopped(_entity1, _entity2, _) => { + // println!("collision ended") + } + } + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/game/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/game/mod.rs new file mode 100644 index 0000000..8c2edc0 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/game/mod.rs @@ -0,0 +1,121 @@ +pub mod in_game; +pub use in_game::*; + +pub mod in_main_menu; +pub use in_main_menu::*; + +pub mod picking; +pub use picking::*; + +pub mod level_transitions; +pub use level_transitions::*; + +use crate::{ + assets::GameAssets, + insert_dependant_component, + state::{AppState, GameState, InAppRunning}, +}; +use bevy::prelude::*; +use bevy_rapier3d::prelude::*; + +// this file is just for demo purposes, contains various types of components, systems etc + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +pub enum SoundMaterial { + Metal, + Wood, + Rock, + Cloth, + Squishy, + #[default] + None, +} + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +/// Demo marker component +pub struct Player; + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +/// Demo component showing auto injection of components +pub struct ShouldBeWithPlayer; + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +/// Demo marker component +pub struct Interactible; + +fn player_move_demo( + keycode: Res>, + mut players: Query<&mut Transform, With>, +) { + let speed = 0.2; + if let Ok(mut player) = players.get_single_mut() { + if keycode.pressed(KeyCode::Left) { + player.translation.x += speed; + } + if keycode.pressed(KeyCode::Right) { + player.translation.x -= speed; + } + + if keycode.pressed(KeyCode::Up) { + player.translation.z += speed; + } + if keycode.pressed(KeyCode::Down) { + player.translation.z -= speed; + } + } +} + +// collision tests/debug +pub fn test_collision_events( + mut collision_events: EventReader, + mut contact_force_events: EventReader, +) { + for collision_event in collision_events.read() { + println!("collision"); + match collision_event { + CollisionEvent::Started(_entity1, _entity2, _) => { + println!("collision started") + } + CollisionEvent::Stopped(_entity1, _entity2, _) => { + println!("collision ended") + } + } + } + + for contact_force_event in contact_force_events.read() { + println!("Received contact force event: {:?}", contact_force_event); + } +} + +pub struct GamePlugin; +impl Plugin for GamePlugin { + fn build(&self, app: &mut App) { + app.add_plugins(PickingPlugin) + .register_type::() + .register_type::() + .register_type::() + .register_type::() + // little helper utility, to automatically inject components that are dependant on an other component + // ie, here an Entity with a Player component should also always have a ShouldBeWithPlayer component + // you get a warning if you use this, as I consider this to be stop-gap solution (usually you should have either a bundle, or directly define all needed components) + .add_systems( + Update, + ( + // insert_dependant_component::, + player_move_demo, //.run_if(in_state(AppState::Running)), + // test_collision_events, + spawn_test, + trigger_level_transition, + ) + .run_if(in_state(GameState::InGame)), + ) + .add_systems(OnEnter(AppState::MenuRunning), setup_main_menu) + .add_systems(OnExit(AppState::MenuRunning), teardown_main_menu) + .add_systems(Update, (main_menu)) + .add_systems(OnEnter(AppState::AppRunning), setup_game); + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/game/picking.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/game/picking.rs new file mode 100644 index 0000000..6731bbb --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/game/picking.rs @@ -0,0 +1,34 @@ +use super::Player; +use bevy::prelude::*; +use bevy_gltf_blueprints::GltfBlueprintsSet; + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +pub struct Pickable; + +// very simple, crude picking (as in picking up objects) implementation + +pub fn picking( + players: Query<&GlobalTransform, With>, + pickables: Query<(Entity, &GlobalTransform), With>, + mut commands: Commands, +) { + for player_transforms in players.iter() { + for (pickable, pickable_transforms) in pickables.iter() { + let distance = player_transforms + .translation() + .distance(pickable_transforms.translation()); + if distance < 2.5 { + commands.entity(pickable).despawn_recursive(); + } + } + } +} + +pub struct PickingPlugin; +impl Plugin for PickingPlugin { + fn build(&self, app: &mut App) { + app.register_type::() + .add_systems(Update, (picking.after(GltfBlueprintsSet::AfterSpawn),)); + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/main.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/main.rs new file mode 100644 index 0000000..6edba33 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/main.rs @@ -0,0 +1,33 @@ +use bevy::prelude::*; +use bevy_editor_pls::prelude::*; + +mod core; +use crate::core::*; + +pub mod assets; +use assets::*; + +pub mod state; +use state::*; + +mod game; +use game::*; + +mod test_components; +use test_components::*; + +fn main() { + App::new() + .add_plugins(( + DefaultPlugins.set(AssetPlugin::default()), + // editor + EditorPlugin::default(), + // our custom plugins + StatePlugin, + AssetsPlugin, + CorePlugin, // reusable plugins + GamePlugin, // specific to our game + ComponentsTestPlugin, // Showcases different type of components /structs + )) + .run(); +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/state.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/state.rs new file mode 100644 index 0000000..8e983d9 --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/state.rs @@ -0,0 +1,54 @@ +use bevy::app::AppExit; +use bevy::prelude::*; + +#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] +pub enum AppState { + #[default] + CoreLoading, + MenuRunning, + AppLoading, + AppRunning, + AppEnding, + + // FIXME: not sure + LoadingGame, +} + +#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default, States)] +pub enum GameState { + #[default] + None, + + InMenu, + InGame, + + InGameOver, + + InSaving, + InLoading, +} + +// tag components for all entities within a certain state (for despawning them if needed) , FIXME: seems kinda hack-ish +#[derive(Component)] +pub struct InCoreLoading; +#[derive(Component, Default)] +pub struct InMenuRunning; +#[derive(Component)] +pub struct InAppLoading; +#[derive(Component)] +pub struct InAppRunning; + +// components for tagging in game vs in game menu stuff +#[derive(Component, Default)] +pub struct InMainMenu; +#[derive(Component, Default)] +pub struct InMenu; +#[derive(Component, Default)] +pub struct InGame; + +pub struct StatePlugin; +impl Plugin for StatePlugin { + fn build(&self, app: &mut App) { + app.add_state::().add_state::(); + } +} diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/test_components.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/test_components.rs new file mode 100644 index 0000000..d0e6fbd --- /dev/null +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/test_components.rs @@ -0,0 +1,80 @@ +use bevy::prelude::*; + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +struct UnitTest; + +#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] +#[reflect(Component)] +struct TuppleTestF32(f32); + +#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] +#[reflect(Component)] +struct TuppleTestU64(u64); + +#[derive(Component, Reflect, Default, Debug, Deref, DerefMut)] +#[reflect(Component)] +pub struct TuppleTestStr(String); + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +struct TuppleTest2(f32, u64, String); + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +struct TuppleTestBool(bool); + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +struct TuppleVec2(Vec2); + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +struct TuppleVec3(Vec3); + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +struct TuppleVec(Vec); + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +struct TuppleTestColor(Color); + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +struct BasicTest { + a: f32, + b: u64, + c: String, +} + +#[derive(Component, Reflect, Default, Debug)] +#[reflect(Component)] +pub enum EnumTest { + Metal, + Wood, + Rock, + Cloth, + Squishy, + #[default] + None, +} + +pub struct ComponentsTestPlugin; +impl Plugin for ComponentsTestPlugin { + fn build(&self, app: &mut App) { + app.register_type::() + .register_type::() + .register_type::() + .register_type::() + .register_type::() + .register_type::() + .register_type::() + .register_type::() + .register_type::() + .register_type::() + .register_type::() + .register_type::() + .register_type::>(); + } +}