« March 2009 | Main | August 2009 »

April 2009

SketchyPhysicsメモ2

以前に試した際,レール部品にStaticmeshを適用した場合にうまく機能する場合と機能しない場合がありました.

メッシュサイズに問題があるのかな? と想像していたのですが,試行錯誤してみたところ,2重にコンポーネント化している部品の場合にはStaticmeshがうまく機能しないようです.

2009041301

上がレールを配置後に右クリックから「分解」コマンドにてコンポーネントを一段階分解した後にStaticmeshを適用したもの.
下はレールを配置してそのままStaticmeshを適用したものです.

それぞれReadback Collision Geometryにチェックを入れてPlayした場合,上の部品は正しく認識されるのに対して,下の部品は認識してくれません.

各レール部品は各部品ファイル内で一度コンポーネント化しています.
この部品をレイアウト検討用のファイルに読み込んで配置した場合,SketchUpの仕様上,新たにコンポーネント化されて配置されるようです.
つまり,各部品ファイル内でコンポーネント化されている部品が,アセンブリ(配置した)ファイル内でもコンポーネント化されるため2重にコンポーネント化されたような形となってしまっており,この場合,SketchyPhysicsがうまく形状を認識してくれないというのが原因だったようです.

対策としては,各部品ファイル内ではグループ化もコンポーネント化も行わない状態としておけば,アセンブリファイル内に配置した際に1重のコンポーネントとしてSketchyPhysicsに正しく形状を認識させることができました.
(現状のコンポーネント化された部品を配置後,一度「分解」コマンドを適用するのも可)

問題は,「アセンブリファイルに配置しただけで正しくSketchyPhysicsに認識され,かつStaticmeshの属性も持っている(つまり追加操作が不要)」という部品をどう作ったらいいのかで・・・もう少し試行錯誤してみます.

| | Comments (1346)

SketchyPhysicsメモ

前回更新からずいぶんと日が開いてしまいましたが(^^;
SketchyPhysicsに再挑戦すべく更新再開です.

「なぜか小さい部品が正常に認識されない」という点の対応策を探るべく,ちょっと試してみた際のメモです.

1.地面等の固定物がない状態にて「Play」ボタンを押した場合,落下する物体はSketchyPhysicsに認識されている(正常に演算される)と判断.

2.右クリックメニューから,Debug - Readback Collision Geometryにチェックを入れると,SketchyPhysicsの認識形状が確認できる.(この場合,物体が落下した後にワイヤーフレームの認識形状が残る)

2009040701_2

試しに幾つかパーツを作ってみて「Play」してみたところ.2009040703

デフォルトの設定だと,落ちるものと落ちないものがあります.

3.Plugins - SketchyPhysics - Physics Settings

2009040702
デフォルトの値.

defaultobjectdensity: 密度
この数字を大きくすると,小さいパーツでも落下する(認識する)ようになるようです.

framerate: フレームレート
実行時のフレームレート(表示コマ数/秒)

gravity: 重力
この数字を大きくすると,落下の際の加速度が明らかに大きくなります.
ただし,小さくて認識されない(落ちない)パーツが認識される(落ちる)ようになることはありません.

worldscale: 縮尺??
イマイチ意味不明です.
数字をデフォルトの倍(18.0)にしたところ,SketchyPhysicsの認識空間は元のモデルに対して原点中心で倍になる = 表示上,スケール1/2といった感じに.
何の意味があるのかよく分かりません.

2009040704

5.しきい値は 59800mm3 x 0.2 ?
defaultobjectdensity(密度)がデフォルト値の0.2である場合,
597mm x 10mm x 10mmの直方体は落下しませんが,
598mm x 10mm x 10mmの直方体は落下します.

2009040703_2

密度の単位は不明ですが,質量(体積x密度)が少なくとも59800x0.2=11960以上あれば落下するようです.
正確なしきい値は不明ですが,質量がある一定値以下の物体に対しては計算しない(微小として無視する)ような仕様になってるんではないかと想像します.

密度をデフォルトの倍の0.4とした場合
2009040705
一辺35mmの立方体は落下しています(35x35x35x0.4=17150)が,
一辺30mmの立方体は落下していません(30x30x30x0.4=10800).

密度をデフォルトの100倍(20)とした場合2009040706
車輪をイメージした半径20mmx高さ3mmの円柱も落下しています.

密度を大きくすることで「認識(計算)されない」という点は回避できそうな感じがしてますが・・・小さい部品については,別の弊害が多々ありそうな予感もしてます(^^;

最終的には全部品のサイズを100倍くらいにすることになりそうな気がしますが,当面のところは「密度」を上げる方向でもう少し進んでみます.

| | Comments (8323)

« March 2009 | Main | August 2009 »