From 21139369d431ec74672a984fcbb34d577c99eb55 Mon Sep 17 00:00:00 2001 From: Sara Date: Mon, 1 Dec 2025 01:32:46 +0100 Subject: [PATCH] feat: implemented destructible objects and damage --- modules/break_utopia/player_states.cpp | 7 +- modules/break_utopia/player_states.h | 6 ++ .../animations/player_character/swing_2.res | Bin 21270 -> 9239 bytes .../animations/player_character/swing_3.res | Bin 44821 -> 26205 bytes project/objects/destructable_props/table.tscn | 15 ++- project/objects/effects/destroyed_object.tscn | 88 ++++++++++++++++++ project/objects/effects/impact_decal.tscn | 2 +- project/objects/effects/object_piece.tscn | 15 +++ project/objects/player_body.tscn | 4 +- project/scenes/test_level.tscn | 23 ++++- 10 files changed, 152 insertions(+), 8 deletions(-) create mode 100644 project/objects/effects/destroyed_object.tscn create mode 100644 project/objects/effects/object_piece.tscn diff --git a/modules/break_utopia/player_states.cpp b/modules/break_utopia/player_states.cpp index 9c2971e0..ce9453b2 100644 --- a/modules/break_utopia/player_states.cpp +++ b/modules/break_utopia/player_states.cpp @@ -80,7 +80,12 @@ void PlayerRunState::process(double delta) { switch_state(); } else { double angle{ get_body()->get_basis().get_column(2).signed_angle_to(get_body()->get_transformed_movement_input(), { 0.f, 1.f, 0.f }) }; - get_body()->rotate_y(angle * delta * 5.f); + double motion{ angle * delta * this->rotation_speed }; + if (Math::abs(motion) < Math::abs(angle)) { + get_body()->rotate_y(motion); + } else { + get_body()->look_at(get_body()->get_global_position() - get_body()->get_transformed_movement_input()); + } } } diff --git a/modules/break_utopia/player_states.h b/modules/break_utopia/player_states.h index 15895010..8fc4a726 100644 --- a/modules/break_utopia/player_states.h +++ b/modules/break_utopia/player_states.h @@ -46,6 +46,12 @@ protected: void unhandled_input(Ref const &what) override; void state_entered() override; void state_exited() override; + +private: + float rotation_speed{ 10.f }; + +public: + GET_SET_FNS(float, rotation_speed); }; class PlayerBasicAttackState : public PlayerState { diff --git a/project/assets/animations/player_character/swing_2.res b/project/assets/animations/player_character/swing_2.res index 5eeb01ee7fb2427b068bcb236de754a61bcd38ba..94ef5882c716c5f72f9fbacec0a140785fe684d1 100644 GIT binary patch literal 9239 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 literal 21270 zcmWFv4svFI0u}}a237_J1~vu;1}+8$2FJY2+{BX1{5+^U0|PSy1H+QVk2c>g6zi_&NFIa6ZJ4ycE40uv_6ei@+)oIw5?7&LXItc`15D44hz>=EhZRlF~x9;DOR_bVsncrhFeUrxWyE^ zTTC(BVus-sGpueg!{!z<47ZqJaf=ytx0qqL#T>&e=2+cgj?FFR7;Z7g;udr4ZZXGj ziv@;TEU>!80-IYbFx+B+#Vr=t-C}{^7E27bSYmaHB{sKMVz|W;i(4$QyTuaX7JfuQ zX$UQNK{Xb%oHR5*xCW^_HZ*`c2US0~yaSc>NctfKo(PIPh!PJ~Ke)(47J`<)$WB5k zfRUYqD1lM+V>k(31|vHOxe!LxkKrU}F^udaq;eS9Nr-|N*+^(fj2uevq8Qmp$Yn9A zeheo;OJigwAr;5SPC}H&$VNg7WMn77OJrmxAs5N0`Z1gYEtHX+gj6acI|)%NBO3`V zmyw+WFPM>?gj_PC>c?;rv}{Ip5>nxe>?B0#jBF&dct&;-ynIG>5^@2JsvpBi&>|Yy zNl0ZhvXc;nG_sM zP{L7q8$p}W$WFp6y^XM!-bPqUZzIgo8>Ao8NjOSxBWQ~n*-4nCw-NTz+X!pvZG>5R zgY;uM2}kK|1Z`L&I|;M&Ho{(d8(}TIjWA1ZkbX=j;V8Y0pzUj9Ct;S}M%YVlBdn#j z5oYNP(vRsR9HqArw3&_UB+Sy=2z%*mgthcG!YsW(`Z1k^qx3d{wziR-gjsqUVK2Rn zu$JCNn58#JKc$^(>1~WzdK+Vw-p1HVZ)2>bw=rhv4bqS4Bpju;F=pv)j9Gdc zV=ujpv6kM(n58#JKc1~X?^fty?dK+Vw-XQ&$PQp=o8)KH<#+aqI zG4|5i7;EWmj9Gev^kX^+N9k>hS$Z2|mfptLOK)SWrMEF==?&74=_DMbw=rhvZH!rZ z8)GlMjj@*A#+aoyNI#~NaFpK0(9#<;?p>T*lvz*$o_AnmU|=wX3`1M#>n9c$rd4} zL5YC@JUtN_Dr&C|l?RQt7vvXbf@VqLjZ+vj7#J9s7#J8p&eB9;YcVh|h=KVa8HhYc zoi+nxQUxTc1D1!#=`ujv05T8a#s+%`4Iw)_IBXdh(8W4X#M)gq+nzmh21V@8hUs>l z9UOMZdjHMmwqLzU3q|ZKzoY%xGd?I{H5K9ZAipE)1&Qh52n&5A{}>>#4Y7m;Xky6- zDJ+bU)SE!VA|B#(29W*#T%2u=Y&5d3@jAX278a;tkg!nmXt$ZHVQ+6}y<;ydEbRFn z+FZ#FvNtH60n!WhqrH@xZTG(b`vSxAy|A$G{u^YgBX4GZfiG+?EG*zk3H3yYOPhZk;eqdj~Vgy$lQt_Mor|c)ob|iFw-g z51KaY>FnSDi}l=CvAd*7*Z#m9-aUeXf?zRAja9pOCh6HToa)*Ii)TgCRl7xZ>VeZ9 zD4T(%2SI7RD8B?eGYCraW=L^mj>NXW5zm%L@oa^p-WnRu37|j$;|6=hx@mg@|DD+v zaQKIH>7`72SX^U@L*iTcL;7CxQ)~8}Q4QHy(p_K=i}RAdetS00(A)PtXYro%x-}qk zz~OaqyRPlxXU4Wa%#8N-yVt|>0muGzwilPh*okbY+?&u<0nZET9-OyzW}0Ak>RRXC zy=#l@VeyDA4vWjGcV}(?>P@g~cWmD4wx<~69n7QqlbgCn z%B}?DFR-}s?A5l)-zVAW)iCY}cQ3Jr#qp*4%We5>CfnU#_-R+HX9+w%heR#6?Q@-M z_xnZjt|HG8dmE%YjU3muNbzNd#0EJCy?g^rz$|0+O+J;+MWLj5!c7MYHbc(TV!h;amRA8Mm;>P|4v?JWBB!g z?WV09)|PYX>|y!6YG<;I?8)`^uzVl+ zEqBlR8znY6mz?)rTn4filJ_T{T)pSYmpQv+D>L{0Y^#UI#q^V__uNDh2hGo8%XcnF z;pvLRcEghIK>FR0;sO-zp!x???|5Q~iyc4m_TD~xZ13^cllN@#N5loDI3zCaCAsWf z{BZAH3$@lg0TU5%@uy_(9{tA)_o~l#*)vxL6jqSB$28`u^~U*$duw+++g&{q6ef`R z$H$hzR;y+4p5>OlyK65Y;^OW+E!&w9_iSD_vh2RJt{xs2j?EWs`fjeZRlmMr_wPR- zcS7PK|EA)e=>LLt&lcP7*%4I>j|=a`mU}rQ?d|@TOx!ciuo|9!BT}mOzW5qocYDI} zJ-Y>};BgV2QoZ-l*8sb-6PEAUBT!}Ug(F{hBZa>Y65AI`T!5BW_#wrGKa%bO%BrdL{nOILNZ)E=Ynp%xK45plu%w8b`gp4sm5%{Ar=N#nocd$uI!}ka!@DunI!*Z!i)&1WQ{L zVHJj?J{(I}x!3)&&DEJ~$N0nErdqogl=s15g((gRtE8`QY?GH3*=a9Ov=Mw;1}{S_ zZ=A4Q=JL??h2ARbImWdhbHHJhmO8`sf{gv%bG|aWb}=EsYR}|o+ull}eM;xo?RMT$ z4KG8MeKfZ{uq17t-}g7Wqtq(l>1q{J+#f0)fg`LUk^CEl#E!-iR-m?O3{qIdBB_sq zhE)zEQGwe~e&U9u4?j$`u|5OJJCHUdrZ^<5=2UL82}@pQtGv9?Cg&$2k59LM zx`(42b%*9tKh&bd&73Gw9R8XXXCO+^{*k zq86T)Yk2nU-B`WS*3j*u&EvPV_OQD6lJ4HUYiBLB73;iYQ}(MC6xU#P9+v1 zw&#_v+2n}S!Rum0i#>Zg`1@=*ZExGun1ITENE>T6^Pas^>uPQ5|2(iU52*uHec(EG z(VN|ScYlw!J=FEg=5ro69Khn)&v);QeeZ5tCivRsZ(|+2F5drg_g>L+mbS{f-`eo@ z)WOq6+pFDs8Lyh#hDyD&N$#z)2eo@aTpTP8NgE=v)%G&BKWv#bUfA+?o`?54 zTzzZpSMEDw8@+R-?IWvZkU8Km@B3M2-}ZdEt=~EuTanheHn28#>E!zT$ESzw{jj=X zkL=Z{Hn4X0_Br+Yos10k?kN@BUG|mB7S=umi8~q@?wwOAy1Vo%mu(u3e3XvlU(m`m zSh!_k2`kXjw=ATv%0|))%0HmKA*c+8WTggss2gk#6pC8sf90~x#o-3fGCG*O`AB9K zU~vOzd0Ziq8;X$B7h{R9m8FXN+dFvoTMPc#7Z#ZZ>f?dSJxp;(e4X1Vv!CaX(0+*< z|MxkrjHd>@IrqQeSYr!|uOka??yHfo+}|3{wSU&(c6fXpUT||?t%T+NmUyoHGY_}h zf;#co(sn75f6I{A(!`>~+D?w#D zIIJ+mAz>AJxMuHXPBpuKr+M~qEUN^S8({SXcYo~le6+{blGSTp@XKsxwl*|v|@x5}=p-FRPHMiRU{bi8?V-?pnq?TpTG*;P*r zhL?xOR&Ci=JZ-mK@T&)QQ~PY;<)O0LihV`9r`S!E=C?njVFL0O*!@NSR_-g)inS|O z6SL2_Z2~V3pZwaqug_A^?s&Se{l|G0@V?2spF8)(2S2y<`@wI&?6WnzJnY)NXWz?& z2eu*q`R&igTZ6&}TprH(a$?^$DN(yqN4e~M+O6Q_Vb6-I`;Pyyv~!*G&n`;J7G555 z-MYT7bgI2w!Hl1F2Tt1BSL4WEHAwMZi^Q(Ol4f`r7#Ql2(o6%A`bI2i#?IjTUjLXa zwo@WZ_rINC0P+hs4cKFdL(+`LJN&C~aNY4~a_;V!g) z)=OuQIp8plQ$4fq?cwyjW)lzWTeTn*o@N-m4(*!}bbaryg--iQtkd9W=GKgqeXM$n z`#95D_uhX{22V4Vv%B}*?_}7Qxh-| zKUqj?U-OYOHcNt~_ZvNPgQuCS>n!^Y{_EIXv5s-Sp=lI6&E&ngv6toZ!96SA-ro1R zAr+oxp7h+@`_gmc9%jCK`*#0J0fi4Z&9v(M+w1!^(I(&U@4hoeG4M3=)rx1|KNB-s z!I$j&-<}MGreESTUylf}3aPCijA7bBxBh54;#d`}9yA?~C;bUN6XhTXf?MUi7 zu%wv>U)c98xjWVNoZnrWkWb(-2XGp|6o;gl&t;i=&$2byGKKE6RbfW7uf98o*iB@6 zXq~HIY}e!mF0a60F7jud-4lxkdn?|V+I42+!qdz&j}3NnZlv#XDK)g?`kw+%GZ(q1 z+C4usX`k<}3_Cf`BzT&cKlQX-a>k^6`NzBMRDT4+(@a%}kbRL(@V=j0m)dEqvV^CZ zv=Rk-k$+3~9u1yucQ4f(o@Qoj=eGahHpAvno~+%=3qkNS^X=qWyWV5lYz5aa>{Zst zgr}L4dxccIL*x5C%Rv&h}VAJ5ixt&>$7ZO_4w&O!uvy9`0Y0{irZ(~ z_Q31$gW5v-`I!XmCwht7i(ap@eGeV;JW|NNU*?^Vz4#At``!Glwy?VC#7^%0M;Jxz zRhT60jpom{g^ht2WpV63J4eiZ+H*dI{{gI zgZC-h2{__nB2suxLSj$G5*MJA;8T#|Vk(mQY0$VpZYPwlxUomGJHhUseEYuJF`%*( z(m%o!hr~rv^IxkSb#-<-SY`LgT`vKpb8y_PpXIPuYEGn`>*t+zi(aRL(kD1B{*_7Y z6WUc~cWK#2yO-+_Wq$9Xqax? zn6Qu8!q={1ud3aQ=OA}N#z6dwXpSwDY9T!TCThIg*P-yqc18F$+oF95 z@ciq!S#y7~IIA5;v5j5JNi%rmrb_iIcEjWzXGko``zz8wauS&ZLdMSFFgOoZv3;a(d3Hl ziCyOV`x17h!t?Le&{_LTCI;J0eY0%ufrMOm{?+|H zZJ*P@XgdSd^1TW7a_y(%NHa5#;(aC(dlr^716pu28!64qK~g^#OPblSzF{AG`X)QC z+~>CZQK=xmfYSh`I3&%q1TWs#)U?^I-Yv*(rBO5}Y{BX`z17{b_v|7&;X(tO&FhLl z=77W8OX~0L%jpSrn@+pgFde9bm-%7QTXv@;$lGn68fvrs7NSorx8wX?na!Mbwp9&w z+3cY4WXPO_PO8>EmZOYzvnuoK%9KFkB#<;y$})GKg~BIW;i?k5gKsk7Y39_infod@ z-q=>`RkJ&OJP)2`PS1|s6BGH?_U_#a){6FZ@HDe~P4phWobR@+XP#K+OMvS#u=}$T zg7&;!&u@3ZPuQk1zZRZmQg3SR@fA|BTY16UrgvoxJk9jyJMPoEt7Z3$vD;4eWG+0- z)RwjETkmCJH+R`#JGL2dpzr~w8Hwr8GZ!_$oL_ieUfwFm4DCX3j0>1D#xOhI#io$>K4b~he~*d02V z22V3ly190)TQ}PM4xMD%{T5sfgVPLOrmNkJl)ZLULAiS-Ey{qWnaP#+Y(1>b+9laF z?M?B|fR{5%4K~_7|8UN3W837tGZQlGmm;MZYr<<;@eZ1z1-Hv}x;C*|Rw=T9zP8_n^_vf)4tY81;7q@M}+AVh5<~*>2 zwFR~>kFm9VxzcXJ*8_I2cEC3IOSV;g3+z}9*W1C`0JT50?3kxbwR>>!DZKtat)Fi< z=SQpEJk>ciuyMLm7pK^@Jx{O`Sh07{*)wOr?rY3gZC5I4WVc<(89x8X{&JU{lO3ns z-3dkT`OnM;hwQAp9@wtUYJkswR_YzJV^6qe`{!K7Uf4X?(SHl=oLhPAJ`{x7z{ZkV zJ?7gLXb9Np)XuS4gA}L8^IvO`;$ zp>V)mZlP?s#E$OHUDA z4(yG3YIiRF&%SBTeC_%lg4*qnIhTdg+3Z9A-`m%BmDBd-El_<8sUwc0DccJsx9q#O zRAJv$3sZQ0S1!@E*VGc;*S8{X-;AvW@ch2vyPo|&F2}tK3@7YU|Dz4h@7XE__6uz0 zT77>xW#3XmEqH$Kt~aoMrh0jgMsD@KEx~&5{C-$S&;IY0=X;mVlG*pk-4veRsm|OFRxj)&(yfcwn5F( zelt?qK+f-5km7eM5_=n#v;kV#y&WlS>_Ae#6Ph+a<6^M1p&zVfTfqI_c88$no?S@x zBd5*XNM`IoVuLaQ`rItY{(VUH??+O90BXMq#B%Ul!PEHPb`LUx>`fZ1Y#;oe2rmy{ z;5mx>s;%Ij74@4tjV^pwFMuv z7wzhGJ8tKDB-|FZuAnY~dC!L#AMC=^y+Kp^;QS#}o404NIgh>4KRb|{!D8l@7VTM* zBV#WoX=)2ALml(??1}rVY9HaD5AU~~VLGtqmb-%Tl z))i5pG6<}GZ8Wdl)JXPy1!4d8z1RuvlYqmO)k4vZp+at7z6-SFuD{DO9Y z{iU`#XWHTQjkk4;ecM)FTOM9T+bNk!AalTBm9x6ee*NeDwoi6s*f{A)z|*>?bou@V z+gkS(&bw~?)2_SfDXuydc>wC81kv<)mDc}C~&e>!!` zKDU3jY>F+e*}(D=^R2@Dyq6d5d-hhx*7omgcz)_VQM{kauw|d{y$)M$770-Jfb*2v z`{Mm#XBzg2-)grNydrN0%U5;GCHq^Z)b4w6uFdvwsS3O-6lN>g|DLsW-}xPFwoMYM zcGsY31~j)2by4zDM>H;_s*uh=#0vbA+Dma?0d zhUi>libE2tgV$-hyFW#3Ck4N^eR3-Up1DJh&$N5Y;xRM2LIISq#W>+qwy!Yp&FuVRc z8SsXarO8e^z80mu#s!gfx!M`AhOqH4~vc6xqAC2IMT*b zr1*V?#D0z?ZGeuQc!88QULvV~1x*{sg;}xeEL-WDhizLNPueElL=3iLibK*yhrxW? zgk`0+cXL8*KV*UjD8L23y-1j?piPPS(~Ph^=NEwe4lc}IrgrXS(A>S}^ule{`ca65 zA8&g+_9+T)wc%`kYU>>enjD0rjsJ|{`)1i@*e30;v0IQ(3QrqdS0ndLur9S_leM-x zZeI#d8?1U^`~Ju_+J4}%w%d?a3Qrq9&-?9LtJiAFvctx1;kr_I+HhIsxo=`~n{D7S zJG+h>rSP=zvDa~5R$z6c5(7ZBu+DI|x-*;F) z$u@COqMggmGI*mpJK)e>3l0<8Z#V1h{PN1+X=CA;oqHHF_S^j2Im3?81hL?-ROr;6 zTDO}vvkuR&yQPU(a9EsqX^+x@S2oLz&am61j975Uyz26vW3S%W96UP1?zK{h{cC8N zK`G4MAVvCHB=$QT3FbXC!GH?04@l}iLK6&fVFp@R_2hrO{fGbc_Mf1ZqZekMk<9pl z#QuuKe$Z0#Z&3Rg85kJ8BdPxZwI6xaKqq&={tl7Ub(il2Zn~!uuNG=YY4CK5q=PpFXEud)qeXMndFe>XIwkP3pGJQS|x~d++ZKZ+MzHZo_W>;PzG9 z4^8{`HYA3@)67b74*QhLS8dNR?c3{fClsD$?pU+iFP?JUwqg2~y&{ca@HF$inAQI9 z=bN_Y9<1D}zC9dX&|b=8vEN{O+g7`9$=>4R2zZ*=?DZy(9fV9y7&96iDEBbgz9#1_P2zYGHdgAmkyP(dqsOFU(ySXWyw*NwP_6mA|YG}x?n!vFLyI+ep+s=~t zyZ4iJIXuDMiWau(Fn?nE`?A13FX>8nf<5^{%+65hmF@gf-20*hLDT$@DVg#@WxJBC zKWrDo{@?3*r~;l~O4kYLznVhM65 zB*EsM`e_j zYsa(nKWMlO95&r&Htf|@m}AHJh8{?b&spsWC_|Bj_9ZzP??|woDs( z;Q0qx%n&IokkgG3l7Ebm*d{o_!W1bi%#hTZL&E|&-AIV)?Pof`w$JQ>>3&mIMo@f% z(+#FLBuv!rSnpT6d~$DFgY>uqTUNg3snGJhs;?~J=>}cgf)TRy I5_BRa0KBFOaR2}S diff --git a/project/assets/animations/player_character/swing_3.res b/project/assets/animations/player_character/swing_3.res index c42f90f14be2ac83f9fc231f37cdbcf60971b74c..a5b71c06d5c805782f227ce24cb290cd4403de3c 100644 GIT binary patch literal 26205 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 Drr`4( literal 44821 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 diff --git a/project/objects/destructable_props/table.tscn b/project/objects/destructable_props/table.tscn index 0a7a2c39..96ef5e62 100644 --- a/project/objects/destructable_props/table.tscn +++ b/project/objects/destructable_props/table.tscn @@ -1,4 +1,6 @@ -[gd_scene load_steps=4 format=3 uid="uid://ct650octef6l3"] +[gd_scene load_steps=5 format=3 uid="uid://ct650octef6l3"] + +[ext_resource type="PackedScene" uid="uid://cwc5pk8n2n85j" path="res://objects/effects/destroyed_object.tscn" id="1_370rb"] [sub_resource type="BoxMesh" id="BoxMesh_j8sr1"] size = Vector3(2, 1, 0.958) @@ -6,8 +8,14 @@ size = Vector3(2, 1, 0.958) [sub_resource type="GDScript" id="GDScript_j8sr1"] script/source = "extends HitBox -func damaged(level: int) -> void: - $\"..\".queue_free() +@export var effect : PackedScene + +func damaged(_level: int) -> void: + var instance : Node3D = effect.instantiate() + instance.position = global_position + instance.rotation = global_rotation + get_tree().current_scene.add_child(instance) + owner.queue_free() " [sub_resource type="BoxShape3D" id="BoxShape3D_j8sr1"] @@ -22,6 +30,7 @@ mesh = SubResource("BoxMesh_j8sr1") [node name="HitBox" type="HitBox" parent="."] collision_layer = 3 script = SubResource("GDScript_j8sr1") +effect = ExtResource("1_370rb") [node name="CollisionShape3D" type="CollisionShape3D" parent="HitBox"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.489746, 0) diff --git a/project/objects/effects/destroyed_object.tscn b/project/objects/effects/destroyed_object.tscn new file mode 100644 index 00000000..4d98d7c1 --- /dev/null +++ b/project/objects/effects/destroyed_object.tscn @@ -0,0 +1,88 @@ +[gd_scene load_steps=9 format=3 uid="uid://cwc5pk8n2n85j"] + +[ext_resource type="PackedScene" uid="uid://tdwettjsx1o2" path="res://objects/effects/impact_flash_green_large.tscn" id="1_8gyt8"] +[ext_resource type="PackedScene" uid="uid://cbdm6154y7m5k" path="res://objects/effects/dustcloud.tscn" id="2_tel7y"] +[ext_resource type="PackedScene" uid="uid://ubl5uvtkrfso" path="res://objects/effects/object_piece.tscn" id="3_tel7y"] + +[sub_resource type="GDScript" id="GDScript_v3jse"] +script/source = "extends Node3D + +func _ready(): + freeze_frame.call_deferred() + $ImpactFlash2.restart() + +func freeze_frame(): + Engine.time_scale = 0.00001 + var col : Color = get_world_3d().environment.ambient_light_color + get_world_3d().environment.ambient_light_color = $DustCloud.process_material.color + await get_tree().create_timer(0.1, true, false, true).timeout + Engine.time_scale = 1. + get_world_3d().environment.ambient_light_color = col + $DustCloud.restart() +" + +[sub_resource type="BoxMesh" id="BoxMesh_v3jse"] +size = Vector3(0.966, 0.2, 0.592) + +[sub_resource type="BoxShape3D" id="BoxShape3D_v3jse"] +size = Vector3(0.959, 0.2, 0.576172) + +[sub_resource type="BoxMesh" id="BoxMesh_tel7y"] +size = Vector3(0.2, 0.2, 0.2) + +[sub_resource type="BoxShape3D" id="BoxShape3D_tel7y"] +size = Vector3(0.2, 0.2, 0.2) + +[node name="DestroyedObject" type="Node3D"] +script = SubResource("GDScript_v3jse") + +[node name="ImpactFlash2" parent="." instance=ExtResource("1_8gyt8")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.171534, 0) + +[node name="DustCloud" parent="." instance=ExtResource("2_tel7y")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.312999, 0) + +[node name="DestroyedObject" parent="." instance=ExtResource("3_tel7y")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0482381, 0.839077, 0.00899826) + +[node name="MeshInstance3D" type="MeshInstance3D" parent="DestroyedObject"] +mesh = SubResource("BoxMesh_v3jse") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="DestroyedObject"] +shape = SubResource("BoxShape3D_v3jse") + +[node name="DestroyedObject2" parent="." instance=ExtResource("3_tel7y")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.951393, 0.616416, 0) + +[node name="MeshInstance3D" type="MeshInstance3D" parent="DestroyedObject2"] +mesh = SubResource("BoxMesh_tel7y") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="DestroyedObject2"] +shape = SubResource("BoxShape3D_tel7y") + +[node name="DestroyedObject3" parent="." instance=ExtResource("3_tel7y")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.415327, 0.616416, 0.552001) + +[node name="MeshInstance3D" type="MeshInstance3D" parent="DestroyedObject3"] +mesh = SubResource("BoxMesh_tel7y") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="DestroyedObject3"] +shape = SubResource("BoxShape3D_tel7y") + +[node name="DestroyedObject4" parent="." instance=ExtResource("3_tel7y")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.204972, 0.726766, -0.380615) + +[node name="MeshInstance3D" type="MeshInstance3D" parent="DestroyedObject4"] +mesh = SubResource("BoxMesh_tel7y") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="DestroyedObject4"] +shape = SubResource("BoxShape3D_tel7y") + +[node name="DestroyedObject5" parent="." instance=ExtResource("3_tel7y")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.746109, 0.198163, -0.778075) + +[node name="MeshInstance3D" type="MeshInstance3D" parent="DestroyedObject5"] +mesh = SubResource("BoxMesh_tel7y") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="DestroyedObject5"] +shape = SubResource("BoxShape3D_tel7y") diff --git a/project/objects/effects/impact_decal.tscn b/project/objects/effects/impact_decal.tscn index 004a80b6..52ac50f2 100644 --- a/project/objects/effects/impact_decal.tscn +++ b/project/objects/effects/impact_decal.tscn @@ -81,7 +81,7 @@ lower_fade = 1e-05 cull_mask = 1048570 [node name="ImpactFlash2" parent="." instance=ExtResource("6_dvja1")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.20194, 0.251618) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.960885, 0.251618) draw_pass_1 = SubResource("QuadMesh_dvja1") [node name="DustCloud" parent="." instance=ExtResource("4_p1nm6")] diff --git a/project/objects/effects/object_piece.tscn b/project/objects/effects/object_piece.tscn new file mode 100644 index 00000000..61e33df5 --- /dev/null +++ b/project/objects/effects/object_piece.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=2 format=3 uid="uid://ubl5uvtkrfso"] + +[sub_resource type="GDScript" id="GDScript_8gyt8"] +script/source = "extends RigidBody3D + +func _ready(): + angular_velocity = Vector3(randf(), randf(), randf()) + linear_velocity = position * 10 + await sleeping_state_changed + set_deferred(\"process_mode\", Node.PROCESS_MODE_DISABLED) +" + +[node name="DestroyedObject" type="RigidBody3D"] +collision_layer = 0 +script = SubResource("GDScript_8gyt8") diff --git a/project/objects/player_body.tscn b/project/objects/player_body.tscn index 37b4be65..70f79489 100644 --- a/project/objects/player_body.tscn +++ b/project/objects/player_body.tscn @@ -84,7 +84,7 @@ transitions = ["Start", "idle", SubResource("AnimationNodeStateMachineTransition graph_offset = Vector2(-228.371, 13.6511) [sub_resource type="BoxShape3D" id="BoxShape3D_1p07c"] -size = Vector3(0.674805, 0.325928, 0.495117) +size = Vector3(0.674805, 1.01257, 0.948242) [sub_resource type="GDScript" id="GDScript_yaurm"] script/source = "extends Node3D @@ -148,7 +148,7 @@ monitoring = false monitorable = false [node name="CollisionShape3D" type="CollisionShape3D" parent="character/character/Skeleton3D/BoneAttachment3D/DamageBox"] -transform = Transform3D(1, -1.10539e-07, -3.35273e-08, 1.10539e-07, 1, 7.16536e-08, 3.35273e-08, -7.16536e-08, 1, -3.00942e-07, 0.147256, -0.0270206) +transform = Transform3D(1, -1.19209e-07, -5.88596e-07, 4.76837e-07, 1, 4.24683e-07, -2.16067e-07, -7.45058e-08, 1, 0, -0.196067, -0.0270205) shape = SubResource("BoxShape3D_1p07c") [node name="GroundCracksEmitter" type="Node3D" parent="."] diff --git a/project/scenes/test_level.tscn b/project/scenes/test_level.tscn index 14a7325f..27eecb60 100644 --- a/project/scenes/test_level.tscn +++ b/project/scenes/test_level.tscn @@ -56,4 +56,25 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -6.794 size = Vector3(4.86313, 0.842651, 4.90196) [node name="Table" parent="." instance=ExtResource("2_paw1w")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.18104, 0.0109616, 5.68015) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.539985, 0.0109616, 4.10204) + +[node name="Table2" parent="." instance=ExtResource("2_paw1w")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.539985, 0.0109616, 2.06498) + +[node name="Table3" parent="." instance=ExtResource("2_paw1w")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.539985, 0.0109616, 0.207431) + +[node name="Table6" parent="." instance=ExtResource("2_paw1w")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.539985, 0.0109616, -1.79257) + +[node name="Table7" parent="." instance=ExtResource("2_paw1w")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.539985, 0.0109616, -3.79257) + +[node name="Table4" parent="." instance=ExtResource("2_paw1w")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.46001, 0.0109616, -0.395865) + +[node name="Table8" parent="." instance=ExtResource("2_paw1w")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.46001, 0.0109616, -2.39586) + +[node name="Table5" parent="." instance=ExtResource("2_paw1w")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.46001, 0.0109616, 1.58982)