空気抵抗を考えた落下シミュレーションをしたい
Unity上で空気抵抗を実装しようとすると、 Rigidbody.dragを変更すると思いますが、
これでは例えば平たい板のようなものが、ヒラヒラ落ちてくるような挙動にはなりません。
これはそもそもdragは空気抵抗ではなくて、その場に止まろうとする力だからだと思いますが、
空気抵抗をよりうまく計算させる方法などありますでしょうか?
この動画の蝶が落ちてくる様子(01:40)が、私が実装したい空気抵抗に似ていると思います。
動画内で 面積が大きいほど羽の受ける空気抵抗が大きくなるようにすると説明していますが、まさしくこれなのではないかと考えています。しかしUnity初心者かつ初歩力学しかわからないため、どうすればわからず質問させていただきました。
どうかよろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
すでに二つの回答が出ていますが、質問者様の正確なイメージも知りたいところです。
まず、平たい板のようなものが、ヒラヒラ落ちてくるような挙動 とありますが、これは自発的な運動をしない物体を想定します。
「ひらひら」 というと、「舞い落ちる」「揺れ動く」ように、上下だけでなく左右の運動も想定されます。
ひらひらを飛ばそう
本気でやろうとすると流体シミュレーションなるかと思いますが笑、簡易的にやるのであれば ikadzuchiさん のご回答をお借りして
・「揚力」+「物体の回転制御」
・「揚力」+「ランダムな方向転換」
などを考えました。
※ 揚力だけだと「ひらひら」はしなそうです。
一方、動画(01:40)の様子が、私が実装したい空気抵抗に似ている とありますが、この動画の場合は自発的に運動しています。
この場合、揚力はそこまで支配的にはならないかと思いますので、上記の方法より Zuishinさん の回答が参考になるかなと思います。
こちらも本気でやろうとすると流体シミュレーションなるかと思いますが笑
蝶型はばたき飛翔の力学的解析
最後に私の回答ですが、もし物理的に正確である必要がないのであればシミュレーションにこだわらず
・パーリンノイズや周期関数を利用してスクリプトを自作し「それっぽい動き」に調整する
・パーティクルを活用する
などが手取り早いかと思います。
投稿2019/09/25 09:24
編集2019/09/25 09:24総合スコア1186
0
ベストアンサー
断面積を計算するのが面倒ですが、これができると板のような平べったい物体がひらひら舞い落ちる挙動などが実現できます。
ということなので、これが求めるものかと。
投稿2019/09/24 00:00
総合スコア28669
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/24 15:39
2019/09/24 15:53
2019/09/24 16:01
2019/09/24 16:50
2019/09/24 17:19
2019/09/24 17:21 編集
2019/09/25 00:41
2019/09/25 00:43
2019/09/25 00:44
2019/09/25 01:33
2019/09/25 01:34
2019/09/25 01:40
2019/09/25 02:20
2019/09/25 02:22
2019/09/25 15:25 編集
2019/09/26 15:32
2019/09/26 15:49
2019/09/26 15:49
2019/09/26 15:57
2019/09/26 16:34
2019/09/27 14:34
2019/09/27 14:49
2019/10/02 14:32 編集
0
ググったら
木の葉の落下運動の2次元シミュレーション
というのを見つけました.
この中の式(2)と(3)だけを2次元で実装したみたら,とりあえず,下図の軌跡が得られました.
(随分と簡単な式なので厳密ではないのでしょうけど,適当に乱数で揺らぎを与えたりすればそれらしくなるかも…?)
投稿2019/09/26 01:56
総合スコア11985
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
dragは空気抵抗ではなくて、その場に止まろうとする力だからだと思います
空気抵抗はその場に止まろうとする力だと思いますが…
たぶん必要なのは揚力ですね。
揚力の計算方法について検索してみると、どうも揚力(や抗力)は実験的に求められているようです。
こちらなど参考になりそうです。
http://edom18.hateblo.jp/entry/2019/01/14/172956
航空力学が思いのほか理解が難しく手間取ってしまいましたが揚力(と抗力)でひらひらするシミュレーションが書けました。
flat plate airfoilだかthin airfoilだかのあたりの情報を適当に混ぜて、
・揚力はsin(2θ) (失速での落ち込みは無視)
・抗力はcos(2θ)+1
・圧力中心は失速前は前端から1/4、失速後は中央
という計算にしています。適当なわりにはなかなかそれらしい結果が出たと思います。
https://codepen.io/ikadzuchi/pen/KKKPgEq
投稿2019/09/23 23:45
編集2019/10/03 14:14総合スコア3047
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/25 15:21
2019/09/25 15:29