【A-Frame】物理演算のaframe-physics-systemを使う
2017年5月22日A-Frameで物理演算
A-Frameを使ってオブジェクトを出したあとは物理演算をしたくなる。3Dだし。
参考ブログは安心と信頼とおはようからおやすみまでのVOYAGE GROUP VR室ブログとaframe physics。
【何が出るかな】aframe-physics-systemを使いWeb VRで物理演算をやってみる
とりあえず球を出す
まずは球を出すだけのシンプルなものを作成。
a-frameとaframe-physics-systemの2つを読み込んで、球と受けるステージを作る。
球は重力の影響を受けるように(dynamic-body)、ステージは受け皿にならなければいけないので、重力無視のオブジェクト(static-body)にする。
※a-sceneのphysics=”debug: true;”で赤い線引いてくれるらしい。球とステージ(見えにくいけど)線が引かれてる。
<html> <head> <meta charset="UTF-8"> <title>aframe-physics</title> <script src="../aframe.min.js"></script> <script src="./aframe-physics-system.min.js"></script> </head> <body> <a-scene physics="debug: true;"> <a-entity dynamic-body geometry="primitive: sphere" position=" 0 4 -10" ></a-entity> <a-entity static-body geometry="primitive: box; width: 300; depth: 300; height: 1" position="0 0 0" ></a-entity> <a-sky color="blue"></a-sky> </a-scene> </body> </html>
全然面白くない絵だけど、こんな簡単に物理演算できるって面白い。
色々な形で出してみる
プリミティブな形を使えば色々表示でき、もちろんa-animationも使って物理演算できる。
<!-- ひとつ浮かせてアニメーションを付けてみる --> <a-cylinder static-body position=" 1 2 -10" > <a-animation attribute="rotation" dur="10000" fill="forwards" Easing="linear" to="0 0 360" repeat="indefinite"></a-animation> </a-cylinder>