物理を利用した動力装置

最終更新:

30pin

- view
管理者のみ編集可
'09/07/06

┼ 物理を利用した動力装置

概要

  • CryEngine2 の物理を使用して動力装置を作ってみたいと思います。
  • 最終的に乗り物が出来たら嬉しいです。


◇ 始めに

あるオブジェクトの動力エネルギーを CryEngine2 の物理 ( 例えばギヤなど ) を使用して他のオブジェクトに伝える事が出来れば、面白いと思いました。

単に面白いだけでなく、もし実現できれば、予想不可能なゲームの作成に大いに役立つのではないかと思います。
例えば、「 ギアの噛み合わせに物を突っ込んで動きを阻止する 」という事が考えられます。もちろん、ギアが物を乗り越えたり、物が自然に落下して何事も無かった様になるかも知れません。そこが面白い所です。

まずは可能性を探る為に、胴体・動力装置・タイヤだけの車を作る事にしました。
実験の結果は下の動画をご覧下さい。


◇ 試作機の動作の様子



◇ 解説

動力のエネルギーとして ActionInpulse ノードを使用しました。
これは、動力源となるオブジェクトの位置を自由に移動できるという利点が有り、今回作成する " 車 " に最適と考えました。その反面、指定できる座標軸が World 限定という制限があります。

上記の制限より、座標軸に Z 軸を指定し、動力源を地面に垂直に配置する事で車が左右に旋回しても動き続けられる様にしました。

■ 材料
ギアと胴体は XSI Mod Tool で作成しました。
ギア ( かさ歯車 ) は 16 分割の円柱を、間欠に細く盛り上げただけの簡易的な物です。

タイヤは Geom Entity > Library > Props > gasstation > tire rim を使用。
前後輪共、片側だけ車体 or ギアに接続し、もう片方はその車輪に Attach しています。
車体との接続は、Constraint を使用しています。

■ フローグラフ
以下の様なフローグラフで動作しています。

■ 今回作成した車の主な欠点
欠点 原因 解決策
力が弱い ActionInpulse の設定値が低い 設定値を上げる
ActionInpulse の性質 他のフローノードを探す
ギアの質量不足 質量を増す
ギアの空回り ギアをきちんと設計する
他の伝達方法 ( 自在継手等 ) にする
車体が徐々に動力源の回転方向に回転してしまう 自然な物理現象 ※1 逆方向に回転する動力源を配置する
車体が 90°回転すると動かない ActionInpulse の性質 他のフローノードを探す
動力源が常に地面に対して垂直になる様な機構を作る
あきらめる ※2

※1. 通常のモーター等であれば、大げさに言うと " 車体 " が動力源 ( 回転軸 ) を回転させているので、反作用により動力源とは逆方向に回転する事があります。今回の場合は少し違い、フローノードという " 神の力 " によって軸が回転している為、胴体の回転方向が同一となっています。

※2. 致命的ではないかもしれないからです。車が横倒しになったらタイヤが回転しても意味が無いので。ただし、坂道で出力が落ちるかも知れないです。ここは後日調査。


◇ 今後について

今回の実験で、物理による動力の伝達は 「 不可能では無い 」 という事が解りました。

ただし、実用的な乗り物が最終地点と考えた場合、超えなければならない壁は非常に大きい様に思います。

このサイトのスタンス通り、不定期に気長にやって行きたいと思います。


◇ 関連項目

■ Constraint について

■ モデリングについて


◇ 参考資料

■ 自在継手に関して








┼ ┼ 











記事メニュー
目安箱バナー