From ba665d9152f7ee48d3e775e992f6b681629a6580 Mon Sep 17 00:00:00 2001 From: toafloast <104696964+toafloast@users.noreply.github.com> Date: Thu, 17 Aug 2023 10:00:51 -0700 Subject: [PATCH 1/2] Update ray-casting.rst Fixed a code-tab in the Ray-casting tutorial. It's also lacking a C# example, but I don't know how to write C#. --- tutorials/physics/img/raycast_falsepositive.png | Bin 4419 -> 0 bytes .../physics/img/raycast_falsepositive.webp | Bin 0 -> 11174 bytes tutorials/physics/ray-casting.rst | 11 ++++++----- 3 files changed, 6 insertions(+), 5 deletions(-) delete mode 100644 tutorials/physics/img/raycast_falsepositive.png create mode 100644 tutorials/physics/img/raycast_falsepositive.webp diff --git a/tutorials/physics/img/raycast_falsepositive.png b/tutorials/physics/img/raycast_falsepositive.png deleted file mode 100644 index 1f31410e6f48186a4104bf3ea73969402334d7f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4419 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 diff --git a/tutorials/physics/img/raycast_falsepositive.webp b/tutorials/physics/img/raycast_falsepositive.webp new file mode 100644 index 0000000000000000000000000000000000000000..c29ec2d9fda1397f0e00c423db970996588d37a2 GIT binary patch literal 11174 zcmYMa18`@-(mwo)ZQHhOTN~T9ZQHhOZtQGqYh!Qhp7vZ^fEK)yiFE z5Y*ph=wQJIME7*$eG&1&{+Trpx7EYjfCp6BWsmI>T-w&Z2VYxfVC{IAnwgm$3ugWZ z))>#p7EaO(9z*GPF+Za6b1K85P1~|c|4v}m@cQqB`PT*q!P(C zQ!!8A%Y6f_Mgp`w5RR*&k(6S|q!7yN&-*bTY()q8nZBTN0Z@)4R4F8gb*>7%Q%?|f zNI+_PY)R=qmz-;SmeBbGINFrV%qhg;3{x}hG}DPGM3r$O`y8j>v8jLAH_xBjx8>!} zJ+qDZ@i)-?x(6mIFJ|%(Gvc>GLan9EM_!9Z{d(kNBG7rPmzxV)mSgKC(kjqv-wamS z`Y6&Sb*|aJSGJF(d1Jza|5(k}CSnh7yXv{yA7~y-Kspc|`VTr{q%X&kxL?-gw%cxI z|JrP`9U7iTO`-$3gcB{1Y&Pb>ERwjibJ2^H&skmLMfi^;tjA@2;Z)4SX+Ms2p||EK@t001YH9-Gl_f zAp-zZXwbr(E0wc0lz}N?wczI@D&a1Qq)3{oaFo2QDq^)zD>vxN@Idldz`>z@!e6+a za7d8ewMkFmy|2^Ty&f0o^2NZ3R1s@H4ODDhG_VSW5D*kTLR)UoJAOj-a%F44%IIP< z{9Km&x1)aEg+q)}?|fi&K>+~yRMhsWj2jm6$~-QR*y_+!%d{ZgfxsfP62uiDBM1Ue(@fug`^Djq{;wDmAgo1rLH20J5UU$X8eP(eK~-(fWQ;D625S!cqL73mFAXh z%8F)G4aCZ+oqVx=veSk;y|W9^Mmf&>Or2@`aLgh+A;v~eXG1XmK!efKx)Bc7@-#b- z0tZ~STa(3$p<7sp!ZU+o z*~BNjJ29m6cA$=S;rhOuvIXN-Ad=}DLWu8)vO0Sjql{L`d8D9lA&8Lb^Y$)l9M42A zq>CxyA@!grze`-EJ2$U7x5OwRt{6GZpGU1~}wC>nOT^;SMn*8BA7^J^wfDeRH~$k?-jSEQ#PY-DuZ zqZGk2-D9Q2)*(=8#P1vx6zffXn?k`vq{BWoqJNv4CY#vR2dwzcic!+}R)V0^Qt`Aj1(>heEb0;O|IyjGj9S>_;;J8j?T963>JV?H z#O8K27M)G?k2?t-xL|1(Cz8-BNg^^Es!Uw5R#bLScy9mGgdo@G;Y#vBWNqX^T7_tm*0~9M#9-i;GR80^Q6#H@DK!`*d2D-6HlZkeY>!+j>d7mTl=%B&+nxWV zfic}0>3B_u^G}?dK~QWami{KH9GW>RKO{_cw)TBSKJ28=-M#%0L6T%jv<9k>MhqdO zd%qt{TWGdnBDxGBx~-Owq=PqUzm&iGo&mf)3TkKK+NBdhOhnf@enT60XwNcKB&is2&Sw860(8cGBWGND^oX=II{ zX;tAE=g48R9K?A;_q`|p?r6p_(rN<{gS=m;YAzXJjC0Q7+7 z`dt=BRCd>(Sq-LCA@MBUeXL*nWSfruG;-d9!ae2vT=BKQ0097p(!N_;N~Tm~na0=A z^HJ4U(A9g)i>k5}x-R;cq1=1@^Vtd35GP%(}wz0%tKnZAgQXa z>YY*J-z=O)gl}tXgVbIS?Br!m+5;BZ!#(7z6Eo9yGW681o>+oi;_pe4>}!9RXNKWc zNGRDnh@0U~ZC+8be<^$dB~ww;!SP%`YPmyJ1E}#tj6hIe$Qx95>OIf??+3((ryU0x z|88%;+YI_v6ZtfT^tgqG#!|W?8tT-m=$(q(a?(}?5TnNaR;U8gM2v_%3%Pl-kl3l9 zt4Y!$@B#7n2YgBdc!AEf*Z|D(r*<7PnvWKc0lA{Jkep>mx5#3{ngL^{NRZZPI)iXIj^sgeWM?BLvHUL)1OH zF~G(NWQ`wF3Jdu(!Xs+Ce|U2H=bRQB&pd4wSr#!H-y?d|=@p1+z%G&eIC+_o6Df*0 za?~-mm@@Yk=Yaf4_4E2HZby0Y)W8)8db7u;Fi{Unv1YQ!uaa{uJjf{-mRV*MJl@zb+Q@&T@G;(0h$%??-|+2{YkIT zFSPO>_04*3M`I^pv&t+Jpvz_!DP|J!#hZx>Og0YRITvC|D(M;wZF5AU z!f(^Jp+7ubZd(g*D~Upehbqq-R8a4YH~-SX!NK?Nn40lcumll*H|m?m=!ZzXeXweJ zYoKH4NxOC&0UKbV{!0AF@?w{x@FfIaiJqC5EH(d4!IuKRoV;JU6tb?h=m`jm_tBsD zZglWi$mmkkSFlmPSj@LOw5JIhPTVhj;02(_)3^?^R|mTslIW|a`M-Xia;(dcu5rn+ z6iuHg9nX}_$ZvAQ#K9|Dxt>g6I-k4jyql!Bn@!EMQtdrZA94YxLNGq<%44rGQ) z>sMZ7Xa=nJtM$FA!PZGjC3jsjx&#T*B%rdSW3cgr>#(m#$?MHwElv_7zuA$qITjNV zSR*#hxIeQ}U60BMNS=HD9`{9Ty>s6-E3DSlT!GT0UkPThr^kjJEtFP_Z|8j5%$C(c z+w{B#!552zA#*Hp7J2YTn^tJa-=8=VsOi9WbJo62+#b~V^TmGx6mq*|v%)96=F1MfnV^+Hp6BBk6(zg~^uq%WJ<%x5cd(GSE7i!6@Q zOEIM9y z=_4MReX-+}@K@BQ!eI?GwBcZ>rWNy5w&^4|!4d_&G|zgY+110+V#ml?KY z8ujsWEt4A8t^?L)3vDL4#5`Rgrm2PYVa*51b&|!StX6dGByRH3)JCk!AAtoCw%FZ`=8cToveY)cY#UiYGJo69uWz0}U z`GHN!4il=fGw0dLs|zQpUvz5CyoA6OBpr0`H zNHG+F*9r!OVPXWt{9?q$>Kn?i*Tg}sg#ga#QqH4$h-yP4@vn_zRkcP+vQ0}YmmfXm z$$S{_eN0^86--kphYAqWo^EdQA z^I(zmnR<+ueGI{HXlk!>Tqt52%)XFyY+)t>@dITPyNrQ$|N&_yS2mm#)rJ zlQVumHFhc~qpG4DO=zKbz4vcFlaO)SQvM$@=s4p7*PDoZw>fSgfp@yA@SK;&hZO() zt$1fu&g-wCvQn>Zbf(7B!;7ffq?}Vape$kM@=vW#2>oi78Ut2%Wi@hIaZw67T3`k; zCVy>5I$H#`xkNryW_^=@lzYnF>-^Gg3jdQjpbk>%WLVE}8aB#9T} zqAT89suoSpkQxz_Yqc0{x&`=Hh5}b0k)b_3-HiAIS2m(x?PxqK^Qhj>;9=~&k1f%Q z+6aGW2qc@8RGof^AkZkTI7^YUYAe9O6)wjJmHAmON3mWFFEw1Y7z2kZ3qoJ4BrV6P zS&;`TX(zMFdtQZo)Rfbv5S#r2&(M`3)dIe$!YNB>`ZSovfkoy%HtwD0$VCdk2zq5ySx%~ zGUfwd`!NKaEESOyqh{mRYDS4(!|LEL;#M)Qe#U>E(vJ2b2>96cP*OA@XUJ;UZAl#j zbNtk*w(d?T%>t|vtBVyJ=+a=r%Qnj4}En2P?#>Jkgy{O(qz_hoaNFmZ9`a|B~k_X^Ogkm&pTWdU$-q+Pg{z zuJJnEmvWQcsh8K1tbUu$dXjO)6DP?8U3zo=1o0rW%{`{4UeYcv{X!oZjX&o&S#ykcA4+g5eGTe5Y@cKS7v0B*QO(esvZl7uNx}nPw__*a__D>_WQB*O2 zstk)hRMXHs2VmePQ+r$KO!SFE&`b&hzd0?KG=M6p`)F1#XDkp}meCs+CHL-TR}U+% zkfskZ^}=GLnJ5sU$v+tt`Q?afH8+rYr)6z)B+bw2Qn`oj42)NY-t^>cBMO5wW2$Xy z)MJwSD65` z1d5=Ah>N=xrl^(?K7ou6M1Nsc8K?GSK@agxn`S*!p`Iw|Og^7j(uP~iQ?UEh-%82I z{kbX3s%p9=kFLK};+w>%a2nyTu1hJV?#@%9V=JAWkFlDy4zw!8S^1C}tLd&&l1ss= zN@D+>hpF=3$T=^Xl;Gi9dtts`eExj*YMLQ^{|Tc@X_|V5yWHAc$gMU(t&*WcclfL* z_c)=rZ4r8|*(;b@&HQVkl&lInapxxo+pkooU!kkO%hDWS=gCD_%XvRIky%9bJR^0L zt;*RnjCvWYTEI)lwO%0XT$rj__PIh28%wpN(j?U~=v-?@5$^(}8mCtAzgbkVsty;B zmz#Y8saFw19!0pS1}{8GKjHe(@e#gConYcUil?6sWX$vrin|p5P%nc1UpJ+)hk~l= zJaA;+mg>9Ztv_Je2TC684)nX>$ZM@}zO`=nM^AjoRMji4tKHo*9@76*mniGjSnEs8 z^N)Uqy<-wQr>1cHB2cv>?Mph}HU8)e^QMiZveCPFDs^nuJw=F5H@MdiZ2LEtLxyMB z`;yrmDxsyn^d!rwMDH3>7vYX{2j-FS=oJMu^1Nr{Q?iJXM0JKonUlwEv-F5tH$-07 zwqjmMA~Nj>pzLMJ?8b-KvF`UqlO@;X31Wtgx7iev!?=3b*zhWhT>CB`xnt>;K+l!k zf$7--tL?_Zo1PQ(vr-}sOfAW1P3e`^M3rSDakqOH{7MFyo(u8qU#DJ)09JSxy#7!t zcjwcBedu71&%UYDlP-7LpuI+9~Ii>H9l znt=!g{RfMdJjo{wmR1a{?wf`5^;sV^HXk{5IjK>3=_ctRx87#wedb#;YgOLS%gayM ziLHgYQ4S&whzRU=;78foi|2fY%0jwylg{ABJi35AL5f$zT3@^z@9-u6weKs<@o~8V zZs&!k-^t`g7njYmouadIGyKFBTa09~ei=tYR!ZgbSxBNS61k`X`A^r|?=BbCJbjwD zp1c`Utam4sGI^^z*TIZLSR2K;d2JeNudajR*;=0oo|HXW&L-H)GTv03`svu#q{cs0 z@nMJ3+H_@&h*o%nceB_eZyIj_RLd1x-3rmf9e zMX$YJNfoF$Y#+ZSQOGgWgYBGTFL-$j4;?f;6Uy!^k?JQlO6ri#C|=9*+xNpG~v@EoGQbJWtn`y?WFDGu}Z?i3s=bA30pCh5C0 zUGzf{78aVAU6~X-<@u9L_#4uocNb)7ZIm*0shs^X%59+jnl zdqTZO?M1(tp#H@!gFXQE12z~t$Jg?0%1PpWF1h~TNN?s8Z`aU9mB3TZz5@HzeqO%( zC--&3_LZTe)VJhoj)ofPttd6TYl4dBG>I!3gPDp<4w7OmrH2OX0>wVEJkCE}S9f9@;xTR8B zj-i2HEtlDxeROPh(G9WRq|D&V*)5OSENKnL$E)6Z@B7@=YlUUct4TrQN|J`Uk)yOe z;u6n9)Nbm9d}na2YtgMOA|GB(b%s1hd?C()H@m)aQfFrZ3ZPF_{AbE*P@OB0y$%Lg z|Lw&ia6f3^oJiRTKTS_?&EC>kIoitX1!&4NkhXI~wfx3HQxY2|YxZtYUh2!5YtZBz ztmGAjsGOdjzIZt!9+0ns(Tk>CD>2VUJJv9jey@$_d@TDd%U|(;snx0+MFtnj=g4)3 z+A1XW&vfXAewuQf?Rbs7wn%DQyQJA1_lyo>tg31dOS^VlqECbDr@$OPrujd+zBytY-f?EgLcpDp=$rtwY9M5c`q%8QY5^8?eD zQthuF6FP^I(ovh1`akr{uzEWadkF_Hw)mnGkzaVb5ak>I!u^SE_jKg4#NiDJlKN=U9FiJ@KdNM#=f{uYaBzRtcJ=-7I$xe{EianY z6jc=(?DJQiKZW0?fq{J?_3FG(SzSB;sA=a(;>eAtD%u%~kG(wH)HQb`HOe`k*aDsm)=>rRVu@ORnb==Do3r^PI?EaasdL$cnre@~o| z+aEX%m}}g9ss1XR1%?C?)D>Y$f>z(y2BQD%+)ns!@GNK4P)R^zAs~aR*e|eKpAd&N zVc3e4CrZ@6+HdOOtp^nl>3M1sKoiSzEhCvHlTglDj*15D_CuwN8>iKto`uHKN#%{N zf^;LS_y1GBtKFxEq}Y``eQq8F%^S9Ptm8hhMwcjo^mBNJ@v6TC*0iiC&>4n6Sch*i zY?}d_OkA>^cv_B(hErt<(rUAY0Jn+UiHpH2J{hqo$pH841FhG3-elx_)~Q4p>cuA) znS~=zf=c3A6#4PHIDCmihZAOLJG}3q7JN$Y zDYc}^{+I>Zqv_;d2gyJ$A~4gUsHh0$u?oy%EeutOlzcZ9HviB9%1UNpNJI_Q!gbb>rh3-tHKM~^R8bc``;gw0!jD7HjZM+ki2@H*WjZPJ$e-q-;2N; z@DFq0r9m6}>3Mtx;QsR?MKGX_u8Ai5-g{H5%Pw-d`R#RW`;jsG>?~%wv-#qJVhI-7 zN>Gej5X@_B^@%WQZP*xU#d^Pm#Q8M8_bW7aisnw#@^le0Fau)Rl{}44Y?n2n^e{5% z&6tTMhkc<-R|fwzf2}TZpHFFJ&z*0G25V6VJSloD4iEXA|J^ z8(l81DZ=Pf*qScRNiVeEgF7;pNf~iAeI=f^JwSya>{^JYf-!ZIAL!1bJeOyo`Imd_ z6h&X*m(}y7GH)O-fGm<}$&%7X$3&Voixw2>4uXJRFw)<@wL`gIms#mk?dUhXSTiet z4)+A9bMQ0_Wxsg5;|(>Op0QbbT_$H;o9z3pw@OO+n5CO^m@?)r#jUnG{0scOl(pQz zP@xF(?4%oHHOI^C;{{7SzvKIs*!@_J%eGHe$Y7&gvsB8?vs-%Ub|aG8lHSRI&&CTu z!X-)CLn=r1)}LYA^GN%PnDJ5dZB*fPRcq3=cOgfaaH9K=qP9uF^FkD)nh%-7Wf5h? z{&e5j*-TRCuy;4l_bD#VgNRM)aY0$HzQnJhq|XC~YbQ!HZ!iauY&eRl(6Pr@qVUb0 zP=;rUudC6GEK_A& zIllTqHqlN0{*>ir-V*mLtMO^2jO+LJ=M#V;EygPf&>$s~5jBL|mmteUQf6luilqB5 z$WNgq9vG~o__Op@gW|lvn-vOXsFaE37|n=I1jVYu<+a=A-xV{#V^G4N_FIc8d&4d_ z1zJt9So>lyp+p!(T5hhImrW;@g^m#4$iow`FS24_tg>tnk37Bs%_htEbWDY8iv^8O zDv++eir7CcZuAjAYAFO;^zg?B-yR9M4PR65+#fS{TO9&{<~B0_W#<)7J^*I!aqkv@ zN?!_JvcqX&9RN0**A`?ZeSnhePV6!#LvikUY^>*@2 zQua(Xl^26iHV!l*BNzuDOv_P}eArqy3=vaA@?9XE_q|B6A`UCyx&50;ozE$2(-2jH z2>(D=7aE#s!7*#|KE-_Youi(^C?geyu<9z+A_|Z-h8RIORqIMsUg2eBSvaJtSe;23z5Dc z+oq=I#YH1VIcsU%i%9$9f&pUJN}XM220A#Kt929Ib$K}+{;r@mQSKCGW`n?3^eC6P zQRz~bdP9cN8XM=`(b}BiLW1`*B&V(B=B}&ioVt^F&MjMjZ*tWnsXZ7!zMoVsu`|aW z^B#Fppa913GWEi@>Rdwo)c=A7V#KG#QA~GoS_x!;=xUYN>(Z+{o?fRd#4K)IW2`(z z@WhpN7)k!BqjXugw~C?us1FLxgo#>9OKtE5v0G4$A_I#T2fOpbtS^iv2aPurlE^LZ zsI~nY=c&N!-AdCnfR1WOfcCaEkNu)`5_t@&7$gCv^1dl55`T`YqhmN7efm!ioYdo9ZLLgo$fNB??9w> zJ_u^ zbGY(~9?@Y5LIz|Q5@M&<9hA5Klivqsaf*u}9X;Pt-Dx}cS>?7<(Xy+Pn?iC(%V@Xy zzDrMd+#bdfQ`&n0yVF&^WUIV2W5e0_4-TCZPr|r#WtxKVdJ2$&9`_cN%OGYm& z!1CIO;X9a8{ai}FL+kB$=6c-O`$>cWa#Fr~yns_Zsg{j_UFPD|WRBX^O>1ay3q+tx z&uF-QV9tLldH!~5tCA&o09|g|1!cDSMU_34^D8#C6_I%)7f7|YHNO0d+VTh>m;aRG z+U1YlcDXAgejsI|Z`AN=Q?}2z73#Hj*v}8FC|N4O<`40AomVdy-nP?%PnfkCo9nn2 z#+F<~_o0oW&Rfk~S^0JC5WEbCrZd1lHGUpKLbcA8%azPQ*%u${qdqx-jL5}tFKfk> z=isB5#qJgW^!kOnWslt5N{lN{~|eSHEIx1${&XK7f4) z+CZf?pyC>!;jOGe+K8cnb~UUfmddC$lK4nFL9>%vL)?YwE*uVgKD420q|}HxALV1H zH=Q)1jmV>pPla44o`^2Ko$wZ0%=}ViFi2^G_X^bvqn-G96o}KB_9t}^eqpdusHP2VP2;Po=IiHvSsuLO;yRCJ`^yL#W}O!1IY@7J@(2-R%EUur6h-u6Y~#8aBe^Sbd9YT%LjywBMeypH z@fwAyO#WwEQ~I&S zdoc;>Ep60I`BiOH*dkao@o42?V%Dh_caw|*qhON`R8o|^!~;1ya08}HYBYM)`8bU4 z9Izq#b7OyFesF-8hLrf)&#hG{DeC{;UIhmr1Azd5emwtCY#^}zTD2dH^FOTjgDL;V z0r|m9K)?W`A8Yobmf@iP<$L_#|44B%0C4(4`v0thp{1P*y`8BGAuBx#Jrgqk00sag zKmb60xQxs!j6ende{SG{|BH3=(+2WC9Q)HLu>aw%AOC*@_$MRqeuu1DMcFH~;_u literal 0 HcmV?d00001 diff --git a/tutorials/physics/ray-casting.rst b/tutorials/physics/ray-casting.rst index 7741ae9b5ac..fdb9c060523 100644 --- a/tutorials/physics/ray-casting.rst +++ b/tutorials/physics/ray-casting.rst @@ -156,6 +156,7 @@ with Area3D, the boolean parameter ``collide_with_areas`` must be set to ``true` .. tabs:: .. code-tab:: gdscript GDScript + const RAY_LENGTH = 1000 func _physics_process(delta): @@ -178,7 +179,7 @@ about the world around it. One problem with this is that the same character has a collider, so the ray will only detect its parent's collider, as shown in the following image: -.. image:: img/raycast_falsepositive.png +.. image:: img/raycast_falsepositive.webp To avoid self-intersection, the ``intersect_ray()`` parameters object can take an array of exceptions via its ``exclude`` property. This is an example of how to use it @@ -191,7 +192,7 @@ from a CharacterBody2D or any other collision object node: func _physics_process(delta): var space_state = get_world_2d().direct_space_state - var query = PhysicsRayQueryParameters2D.create(global_position, enemy_position) + var query = PhysicsRayQueryParameters2D.create(global_position, player_position) query.exclude = [self] var result = space_state.intersect_ray(query) @@ -204,7 +205,7 @@ from a CharacterBody2D or any other collision object node: public override void _PhysicsProcess(double delta) { var spaceState = GetWorld2D().DirectSpaceState; - var query = PhysicsRayQueryParameters2D.Create(globalPosition, enemyPosition); + var query = PhysicsRayQueryParameters2D.Create(globalPosition, playerPosition); query.Exclude = new Godot.Collections.Array { GetRid() }; var result = spaceState.IntersectRay(query); } @@ -230,7 +231,7 @@ member variable. The array of exceptions can be supplied as the last argument as func _physics_process(delta): var space_state = get_world_2d().direct_space_state - var query = PhysicsRayQueryParameters2D.create(global_position, enemy_position, + var query = PhysicsRayQueryParameters2D.create(global_position, target_position, collision_mask, [self]) var result = space_state.intersect_ray(query) @@ -243,7 +244,7 @@ member variable. The array of exceptions can be supplied as the last argument as public override void _PhysicsProcess(double delta) { var spaceState = GetWorld2D().DirectSpaceState; - var query = PhysicsRayQueryParameters2D.Create(globalPosition, enemyPosition, + var query = PhysicsRayQueryParameters2D.Create(globalPosition, targetPosition, CollisionMask, new Godot.Collections.Array { GetRid() }); var result = spaceState.IntersectRay(query); } From 164c024374b605ce0f9b82a30e7347311ce0858d Mon Sep 17 00:00:00 2001 From: toafloast Date: Thu, 21 Sep 2023 22:18:55 -0700 Subject: [PATCH 2/2] Update ray casting tutorial.