From 998c063176f9a3fdbe68d1a3c82ade3230740ebc Mon Sep 17 00:00:00 2001 From: Kevin Lee <kevin@infinite-lee.com> Date: Wed, 4 Apr 2018 11:48:07 -0700 Subject: [PATCH] using inflated shape-components to define shape of bodies. --- package.json | 2 +- src/assets/interactables/duck/DuckyMesh.glb | Bin 33976 -> 33808 bytes src/components/super-cursor.js | 14 +++++++++++++- src/gltf-component-mappings.js | 4 ++++ src/room.html | 6 ++---- yarn.lock | 6 +++--- 6 files changed, 23 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index a86b58dbe..59a07b021 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "aframe-extras": "^3.12.4", "aframe-input-mapping-component": "https://github.com/johnshaughnessy/aframe-input-mapping-component#feature/map-to-array", "aframe-physics-extras": "https://github.com/infinitelee/aframe-physics-extras#fix/physics-collider-crash", - "aframe-physics-system": "https://github.com/donmccurdy/aframe-physics-system", + "aframe-physics-system": "https://github.com/infinitelee/aframe-physics-system#feature/shape-component", "aframe-teleport-controls": "https://github.com/netpro2k/aframe-teleport-controls#feature/pauseable", "aframe-xr": "github:brianpeiris/aframe-xr#3162aed", "babel-plugin-react-intl": "^2.4.0", diff --git a/src/assets/interactables/duck/DuckyMesh.glb b/src/assets/interactables/duck/DuckyMesh.glb index 5bb10e0cd79c623f72f87d438f6eddbe1d0dc250..692c430abda9cab20b506de50808d89bbf7b5b0b 100644 GIT binary patch delta 7744 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 delta 7891 zcmbuDdvw&*wa0%2#N1eHDp11HA-uBGj`PZ7g2Hbf0s#!<MZmNIW)dcuz$6os2@jF= zo31K`$8wD&R|0x9E#M7kF_=(e1%BsJbcKia=C)joS6Wk~ZBWs)!ZH;fckeTECT9?q z?Yi@a>&%&R_T#%hdmmz?aY*NuAx34OIA@5aX`PR1nk`Aw?pu<dw=p@*TVL-BrOmY9 zveH-MtMi6}b@(+cXHJQOuB6?SoVM0iS6>yZp>2oNmX^E;_v*{>H161N?OPx6)zFFh zrS-m5xcNYGTJD0P2dljyUtN_qQ2$^<jS;8{r6sSx(`5}66=+Z#L$75ULcT@5n#zzL zcbs-lh9h~Ca&B3bZ{6ToaW&>O;iBE?aAlEkw3c5{5zWa)k&+9%X80&AiZ<b%)9G|y zdkt-6IB+xMt*aE;I9*w8r()~+rZO@eu5XxfXLvlql%d$d4C8VA<F*_Qr~MmYeY+{A z$4(g<3CcJ;Hj#Hiic)w{+PLO5-fF6IT2U|<vMdo*M{_m7RlevETk?un!Mx?=zWVy$ zU}?*P)wRJIUrnfZL#;tZGVBf~sj;C}m|T+07O^5CtUTCILloNGZjvjC2$i1pXybZi zRn5n&Q>N1TvU%CgLEFYmiz_qpTHB;&qHWx$t|HVQNd94l)svZ(WzV#`@M?w=`LbIb zSuVHTm6>JtWZI}4Kg_hcY<7>^=5S`(9rg^5V7J=4UYKxO?I?ei-R?HBGMyd@z@BM! z+HEeE&E|HxGTj)l-DY(;Gu$4x-EMbf*c>FN;Nzc4@Vfbt+R^-sYkK0_Z94|VyRPkT zz>e)ElCP@vR>t7K=8N&OBRp)JaZP2Z8>_3TeTawPL0r6hb*--wXN)ja@2##4#D_(6 zFNEW!q3#<F(kiL~J{QFtyMzTG2lc^*x^gmaOJ-36@v$UIG#Fx9z*}ABs|$(5y@6W4 zcQI0qhtl#3SmDxnXnTio(-?zhWtq3$mmLfQ>x!e%;3?d#s#)cu!joSNGdmcpqj4za z(BPFEZ+UdcK9Fp)dTiojw`VzQSq?<(Tel2x%x=ZTBmI0KZy-=r9ye;UlJ~k`L#4k4 z+cCaR7Z59DSVv>Nc2Lut#$+~O1!8jf>iw$PMsyy`Z75%}f#j~OtE#RFRjnO7BL$8r zQ5{v0c=3ipbyZ~zA#oN3%gZlX%ogD}YQ%#4B@2re=I7y8>iOb%CE5A;MROmt;f5H$ zq;FNZAubEpVi67wBc+%$uky$<nhMo<Yw82uQ1lTa*-<0;A0cC1Fm!{Tsp+Fq*Oz+( zh=YNn0k_2d;E(10s=%r`UvzTV<1H+wXI!oSe<)Q{_E;<!3Z`MpiheRP-7b$K11IP| zx*0>Lp5ES=q85uK@Q9|(S(vA_FDf|UY~Oox(g?$HVJ4KO`B>ncH=y>fnP7v}jQd`N z{vmgQ?Szk|A9)=to%0~&w4e1{IRd2zmO|?mKO2_*GL$Y|1W8w`SjUfEgq9i~L_(`r z(vbtuy{Z%}-}5oPV-Iu>4?@JTlBK`8A7E_&+E%P!-PON<HcJig5hVs|oAwe!F0BFW z?WN38vL8~uUJ2R*g{<-5VSrKP(7&>n!6%(ydHO!EwG^_*ua86b*dp*eQOvqZegkdW z+>p9`8GAH*8VYtX7<jIPbw^GCJbVX)XRTzR=g$BXW<lwdmF&zdXA%>;U<_v8Zv`lM zv5f7V_BwQ*od=En64ne|VEM@s=)H9*Yb`zw+J)KBxN8M#T742y7J8xeLNQDE)vI7z zu^LK0yr01fhrl+W2>OqevA`X#0*qS&J)bRS9``Syc5yi@m{i8PMjnJn(vP9*cV4#M zc)SC8M=u2bK_4p_b`;cdr~ySf^1<_tkBurrC6scgnT0nm2fln2YyM+fLJ)Ch=&N+< zG8pKoV8z+(qLhZLWkUUw>{Y36q(p-3O37}dP^|V;dLuz16&6)4H8WK$RTYGnOL$R5 zE}=${xda*E<uYMZk*AzC{Ol}Iy>t;*NajTHuqeq~l8p3nNiPP<iR!6HHNwjY-l+&L zX2y|f0X2fm6_B|CGAEFm2xMby5m!j&3dvj{nJXl7BDpI{ay+wyjIF>4<Q4=OOU5O< z2sJ0Dn-FRQnG?tck&N_mqW4~;7i-4jR8J`4l4L9gCwfmHy+}1Ds$EDm!o`W?M-VP7 z6DI(h5I`&wmrx_fg8?a}!4eo)gJ=n`mRu698p3vp2Z8i*NiPB$FOwRa8jxCVHTywT z3^7dNB|wq~WiQN%OD*NPRxKP*@w%$YsT`<ksoV&Kj9A~R*;oAF7m&0w4S3~$>HW!D z#k!}Z32eD*p#Shb-T%sFSlx|7Y8{8L`)xgST^kJi$3D>7ehv$)0dXeMJ&Bi$-68H4 ztabD7)0cF*+x%r0xMFt5zJY%@YOr)VynpmG*VfuOt$Ut)p3{D6=QEIe?jza<xewNU zVW_ERqc}rG7refe<GxAj2=1qxewfqUHs71P^VwETfoi|a;}%;M@BaEz@Ju`*?&8{j z+)d}{2arERPE<h4V}AnvxXvyAb}RI3Phso7XyQFNFN=)H5IO*I(18wmcXa5UW2tQW z#iPP#$`j*R?KZJ*UT+^2;v!H~$dzlX5no6Ol$}f2Q97|E=}H41i_Eln6S#U=%@`$( z+d<(pa`4CPsl4$-1&=3l$q5VeDR9@xOJKpZ?c!w^X4GE<%Uk&(o0Oqn0`H4J`YV0V z->@5Qqy#)W5>h7r6;k_jo_fzzp<KAH?^y4y!}>sE6kCgGU8~B1&&RNJxKF`_eV@TN zy!*wWU10Pl_e1Zb%erc)`Mu$={+?t84_b9R#N`>f-17G;aPU{ZG$l|+U@ORVH>#*Y zO6N%l0#>dM;u*O{g$$Bc07deuWU3?=?6iabjghR?w}qUEa*#7=h>W6RQG$TtjKHKb zk_lQ{wxq#JM{Z)Y?muko(|dd01^Plj?XCG9li5(Kprj^AN&wOsDIKk)q$u@uK|^@C zgcnQ3Wy#e2RAXHm*N(?}H~olc73yhp)zMOv!akeUG`l&^4dGQkV3skr134y1DQFcg zET3pC;(*S`GO6VocKV9mIWUHmK9sBD+N8BXU&z_|Nn_dh!~Z%PYtLovZ)B7lv@X7l zec^cnXx;tMRe0{np{ynAtll-}HrCjWZ$Yd~PoauPJ16qfk$eQ4OTcls8KTW%(=A>< z%$UoJJN&iK4R<n)e??KpGideP2H>_bZR_Y+szQHg-wIs^b6LyL%Yu)Apq0(-oo!N} zwEua>3+BV0%n)Z_wQ>HK8mU|p)pSA9`<N>Qv{xQt+U9MuJVSzF9qAbkDwwu6gW&ny z4Azp{1a0@;1*vH|Yg_d;gz;|U%o!{^_Y`Pv<%`Kkt=>z48W<7e?G}f~L1X^^faT3Q zpy0k-Hc)ULAm*&(`%MtO;Dplup3lzy{T-0?i<VE*WR|E37piO@J&O{M8PmG+_+xCw zo}cJl$DY+`U21zRI{(S>j*l|T#__{}e(-#p4s>DQEi1ca{@=v9*D;-4&AA9_jkWdT zp`a#<@v?IezB&|YH)pWO;`hXP$p_V5OgbENs3I3CKE6!^higMPe&mxGoFawQ=Z~Fh z-zwHrKa^TrXhEqlI4*<33{05;1xjnmjMlO{RE9eJwOlfUvPXTP>IFLuJC}onE_ZF* z%Jyu!pRzP1$<X%)z1dsLE)Tf`aDFs2U(I9b|K105p0aV@^D$^$^?J&u%h~breh9}@ zY#jbm;4!JUA8Msiie#vibXE8=&{_NoIX1rwZ7(tQ%)4KJDsKW%3J1`CMfabX#a=%7 z9j2DR@@9||jC&DAgfyOHn0=skEt|<ER16gp(6~X3<JnVivX)3Pmn8Fh@8U#wD-up; zq#X=`69-Qq2mHt=NGi!;KmNVO!V{-M+vyw@a${oni79PBOVVhtY|LT1b8lk2{i5Et zXf|^_G&1o*$ya*M-aJ<PpBhUrswk1rHA<P(@@Ype=(RU5X04Zpv8Z1o>NtGv1sziF zXH(mg7%zWLU(jF1es*jM;~)NBZ~3y2X|IhHa%mSU+1C*5h`y&+vclOZEIj8$y={`4 z9rRBWXDst=?ERUyM<1B8E;i@op)6c}RquZ!m%Z`itzutt#tkLomh4gB`DqTj<MZK6 zd;Twa<2yP#n>RWZX)I91S$Nxrx@F{iR&gLH@r>e3wW%f(F1w<)*>aiTaekkLpY73` zZz^PSk|wZ7tVd}O;lSbk*uV*&e^T#Roz0xq?=sl9SNFfqSn8)(rk6l(YrmJZju_9h zL;LmKyR+ExhT9o-foNCi0;S%d?LMWaj9tjK{CWh#1dMnF{BI|9%jEg&4Eqk_f9}wG zZoiNHc3cvJp#}P1au=|lKl2%=XVm@ho-um*k$LQcodck~wo;FD=<GMUMl-GbQN8DC z0qZz9M#vsHpUvJL@s$WD^1m}#VV4p8fd<ICqh1j|s5MsCvSw<pQ)Zs>EOuc^wBC)` zPIj<nasor)B~R&=fl{{lz;ved?$(=cDP;bek(GUS>oy})%6>L5orNcl)7x@NS=XPY zu<)^DJ@8g8+g}!KmA(ymti!K~4Ei!E*#~3M5Ps4p`q=3A(!^SYP6mo#nktz6F&OEt zJa6DYFliu+j|~Lb$JmM{wW5<+QR!(MIHnvpWJsRJVa4TJfGx_Y?|+1Sj{}X<K-*0N z?X{IAm4;Jk@Pp+rL_M&6X1sp%gQ(3IhR~S=odcmmSWKe55@|;OO$i`!U=klKQ9jH# zL$Nnv8;)LbCRI@fS9qc^oy)1D(w<=S&mE?O5dn-lK)B2}T)R)1M0I17>Uf~!STb>K zIYbEz8We~2o76Tdux+sKP1*O@T4ubp(2xpRch?%WbI&v(W9O~a?97NX;>ILy4j?zk zlPP(kAmR-5?luX)N&*l+hDyGa2uCBQk-Q5>G98i*Xf2_`0b<es$-?=8Lx#)2g|oz@ zS;BCZ(0Tbn;utpND~cUt#$HPU_~hxF{<U+i`#pMIc}whhRgJ2baa5Z$s;A(nRt$kw z@|7vy2%Ph#ob#$pe1ziVjzWs_pD4xoY|8nJW73o}AKwB~z6By1W&X?Apms`va{KN! zZL+<WJY~`hcnoKNdM0crj@2Jj$7(<ngjx>y2+_Ve8`Lv#R@4@q997*Q*;Vq%kbY_* vYrgm?&{~3%0GBeL)X{s*NRGF(+D&9rj$!-@`d`G~e)K;R+LP{_JMI4fT%^S5 diff --git a/src/components/super-cursor.js b/src/components/super-cursor.js index e498a1acc..08079dedb 100644 --- a/src/components/super-cursor.js +++ b/src/components/super-cursor.js @@ -92,7 +92,7 @@ AFRAME.registerComponent("super-cursor", { this.data.cursor.object3D.position.copy(this.point); } - this.isInteractable = intersection && intersection.object.el.className === "interactable"; + this.isInteractable = intersection && this._isInteractable(intersection.object.el); if ((this.isGrabbing || this.isInteractable) && !this.wasIntersecting) { this.wasIntersecting = true; @@ -103,6 +103,18 @@ AFRAME.registerComponent("super-cursor", { } }, + _isInteractable: function(el) { + if (el.className === "interactable") { + return true; + } + + if(el.parentNode && el.parentNode != el.sceneEl) { + return this._isInteractable(el.parentNode); + } + + return false; + }, + _handleMouseDown: function(e) { if (this.isInteractable) { const lookControls = this.data.camera.components["look-controls"]; diff --git a/src/gltf-component-mappings.js b/src/gltf-component-mappings.js index 7c6b6a8d8..d1f9d87b0 100644 --- a/src/gltf-component-mappings.js +++ b/src/gltf-component-mappings.js @@ -2,3 +2,7 @@ import "./components/gltf-model-plus"; AFRAME.GLTFModelPlus.registerComponent("scale-audio-feedback", "scale-audio-feedback"); AFRAME.GLTFModelPlus.registerComponent("loop-animation", "loop-animation"); +AFRAME.GLTFModelPlus.registerComponent("shape", "shape"); +AFRAME.GLTFModelPlus.registerComponent("box-shape", "box-shape"); +AFRAME.GLTFModelPlus.registerComponent("sphere-shape", "sphere-shape"); +AFRAME.GLTFModelPlus.registerComponent("cylinder-shape", "cylinder-shape"); diff --git a/src/room.html b/src/room.html index 2f252c28e..6c3b371d2 100644 --- a/src/room.html +++ b/src/room.html @@ -99,11 +99,11 @@ <template id="interactable-template"> <a-entity - gltf-model-plus="src: #interactable-duck" + gltf-model-plus="src: #interactable-duck; inflate: true;" scale="2 2 2" class="interactable" super-networked-interactable="counter: #counter; mass: 5;" - body="type: dynamic; mass: 5; shape: box;" + body="type: dynamic; shape: none; mass: 5;" grabbable stretchable="useWorldPosition: true;" ></a-entity> @@ -194,8 +194,6 @@ haptic-feedback ></a-entity> - - <a-entity id="player-right-controller" class="right-controller" diff --git a/yarn.lock b/yarn.lock index b2fc3a25d..bb5148c6e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -159,9 +159,9 @@ aframe-physics-system@^1.4.3: cannon "github:donmccurdy/cannon.js#v0.6.2-dev1" three-to-cannon "^1.1.1" -"aframe-physics-system@https://github.com/donmccurdy/aframe-physics-system": - version "3.0.1" - resolved "https://github.com/donmccurdy/aframe-physics-system#08a98a4c3d77c4c38a1fa27067aa0d894447902e" +"aframe-physics-system@https://github.com/infinitelee/aframe-physics-system#feature/shape-component": + version "3.0.2" + resolved "https://github.com/infinitelee/aframe-physics-system#c8add507adcb6d67ecb7613924662e413a811454" dependencies: browserify "^14.3.0" budo "^10.0.3" -- GitLab