Skateboard Physics Simulator
Toolbox
このシステムについて
ブラウザベースの3D物理演算シミュレーター
従来の課題
従来は、スケートボードを実際に購入するまで「テールの角度」や「ウィールベース」といった要素が板にどのような影響を与えるのかを事前に確かめることはできませんでした。本システムでは、物理演算エンジンと3D技術という革新的な技術を通じて、異なる板の特性がスケートボードの動きに及ぼす影響を簡単かつリアルに確認できます。
できること
この革新的なアプローチにより、どのような板がより高くポップするのか・より小さい力でポップするのかなど、従来困難だった検証が可能となります。ブラウザに表示される各種パラメーターを操作するだけで、あなたが検証したい板をシステムが生成し、物理演算を行うことができます。
使い方
変数を設定してRerunボタンを押すだけ
概要
このページを開くと自動的に物理演算が開始します。各種パラメーターを設定の上、「Rerun」ボタンを押すと最初から物理演算が再開されます。公開時に未完成のパラメーターもありますがご了承ください。
使い方の例
キックテールの角度を調整する例をもとに使い方をご紹介します。一般的にはキックテールの角度が急であるほど高くポップすると考えられていますが、本システムではどうでしょか?設定欄からキックテールの角度(デフォルトでは18度)をきつめに設定します。必要に応じてボールを落とす位置やノーズの角度も調整してください。
シミュレーション結果の例
「Rerun」ボタンを押すと物理演算が再開します。急なキックテールの角度がポップに及ぼす影響が一目瞭然にわかります。きつい角度にすることで、スケートボード全体の反発が高まり、より高いポップを生み出すことが期待できることがわかります。
よくある質問
物理演算の速度が速すぎるとオブジェクトがめり込んでしまう現象が発生することがあります。ツールボックスの「Time Scale」を操作してシミュレーション速度を落としてみてください。
ツールボックスの「Time Scale」を操作すると、最大0.01~2.00倍の速度で物理演算シミュレーションが可能です。必要な速度に調整してください。
「Time Scale」が完全に0になるとシステムが不具合を起こしてしまう現象を確認しているため、物理演算世界の時間を完全に止めることはできません。その代わり、重力を0にして球体の動作を止め、疑似的に動きを止めた時のシミュレーションを行うことは可能です。ツールボックスの「BALL VARIABLES」のうち、「Weight」を操作して球体の質量を0にしてみてください。
すいません。なにぶん開発リソースが限られているため(僕一人)、リリース時点では操作できない変数がいくつかあります。ウィールベースや全体の重さなど、ぜひ追加したいと思っている変数が多くありますので今後対応していきます。早急に対応しますのでぜひまた来てみてください。
このシステムは複数の技術を組み合わせることで成り立っています。
スケートボードの3dモデルを生成するためにはblenderというフリーのモデリングソフトウェアが使われています。実際の大きさとおおよそ同じ寸法のスケートボードをデジタル上に再現し、GLBファイルとして生成します。
作成したモデルをWebブラウザ上に表示するためにはThree.jsというJavascriptのライブラリを使っています。GLBファイルを読み込むと同時に球体などの簡単な形状をブラウザに表示することができます。
3Dモデルに物理演算をさせるにはThree.jsとは別の仕組みが必要で、cannon-esというJavascriptのライブラリを使います。元々はcannon.jsとして開発されたライブラリの派生版で、地面や球体などの各種オブジェクトの物理演算が可能です。
現在機能していない変数を調整可能にする機能、ランキング機能、シェアする機能、お勧めのセットアップを推奨する機能などを予定しています。