A-フレーム(Science)で電気粒子(Electrons、Neutrons、Protons)を再作成しようとしています。私は<a-sphere>
を使用して荷電粒子を表しています。私はそれを移動するためにスーパーハンドを使用しています。私は、料金に応じて引き寄せたり反発するカスタムコンポーネントを作成しました(リフレッシャー:反対の料金が引き付けられ、同様の料金は反発します)。Aフレームを使用したスーパーハンドとフレーム・フィジックス・システムを使用したオーバーラップ不可球体
各球体は浮動しており(位置= "0 1 0")、ユーザはそれをつかんで別の球面に近づけて、引力または反発効果を確認する必要があります。
これまでのところ、魅力と反発が働いています。私の唯一の注意点は、<a-sphere>
がスーパーハンドで別のa-sphere
にドラッグするたびにオーバーラップするということです。私はこれがすべての要素のデフォルト動作であることを知っています。私は要素が重複するのを防ぐためにaframe-physics-systemを使用しようとしていました。
ホバーにはa-sphere
が必要なので、私はstatic-body
を追加します(これはオーバーラップを防ぐものではないことに気付きました)。私がHTC Viveコントローラを使ってそれらをつかむときはいつも、コントローラには静的な物体とやりとりする何らかのコライダーがあり、それを押しているようです。私がそれをつかむことができれば、それは球体を制御していない状態から回転させ始めるでしょう(おそらくVive Controllerとやりとりしているからでしょう)。そしてそれを遠ざけます(正直言って面白いです)。
私は重力をゼロに設定しようとしましたが、これは問題を引き起こします。それはシーン全体に影響します(後で正常な物理を持つことはできません)。さらに、球体が別の物体に当たったときは、力が加えられた方向に無期限に移動します。私は、例から見てみると
: https://wmurphyrd.github.io/aframe-super-hands-component/examples/physics/
私はウィリアムは、ダイナミック・ボディを使用していることがわかります。残念ながら、それはそれらを地面に置きます。
この問題に対処する方法はありますか?私は、球を非重複にすることを望み、のホバリング中にユーザにを投げることが許可されているようにしたい。ここで
はコードです:
<a-entity progressive-control="objects: [grabbable], [hoverable]">
<a-entity id="rhand" class="right-controller"></a-entity>
<a-entity id="lhand" class="left-controller"></a-entity>
</a-entity>
<a-sphere hoverable grabbable stretchable draggable dropppable static-body
material="color: #e53935;" position="0 1 0"
radius="0.125" id="js-electron" particle-charge="electron">
</a-sphere>
<a-sphere hoverable grabbable stretchable draggable dropppable static-body
material="color: #1976d2;" position="0.5 1 0"
radius="0.125" id="js-proton" particle-charge="proton">
</a-sphere>
は、ここでの結果です:
素晴らしいウィリアム!遅く返事を申し訳ありませんが、これはまさにそれです!ありがとうございました:D:D –