Pc-Trace

<< 2024年11月 >>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30






Pc-Trace
PC-Trace

< next 2015年5月の記事
>>2015年5月の記事一覧

ギアの作成

「Hinge」ジョイントを使って、”ギア”を作成してみた。

1..モデル上部に二つの「Hinge」を配置し、お互いを関連付け。
2..お互いのモデルとHingeが、行動を共に出来るように、グループ化
3..奈落への落下防止として、裏側にもHingeを配置し、現世へ留めておけるように細工。


添付ファイル 添付ファイル


形状の編集

下の記事で「ホイール」と「リフト」をそのまま利用したので、形状を編集してみた。

手順は動画の通りなので、特に説明する事も無い。




「ホイール」と「リフト」

YouTubeなどで紹介されている、「SketchyPhysic」を使った、「ホイール」と「リフト」に関する ”動き” を再現してみた。

”ツール”そのものは動画の通り、「フロアー」を配置しないとジョイントが付いてこないが、フロアーを配置しなくてもオブジェクトを留める方法はあるので、次回紹介する事にする。


添付ファイル 添付ファイル


「Piston」 後書き

「frame」の記事で、「Piston」で扉を開閉する”Controller”値に、以下の式を取り上げたが、”開”と”閉”の2動作だけなら短くまとめる事もでき、後書き追加。

開閉のみの2動作なら以下の式でも同じ。

if((frame%900)>450and(frame%900)>0);0.0;else;1.0;en
(フレーム0以上450未満の条件)
 ↓ 以下でも同じ
if((frame%900)>450);0.0;else;1.0;end
(450未満だけの条件として、省略した式)

※式は、”and”の代わりに ”&&”を使っても同じ。




「Servo」と「Piston」を使って「frame」の設定をしてみた。 

前の続きで、今度は「Servo」と「Piston」に、”frame”を使った制御を実行してみた。

自動で動かしたり、時間で制御したい時、またはデモの時などに役に立ちそうである。

下の動画は、”回転・ドア”と”スライド・ドア”に見たてたボックスに、「Servo」と「Piston」を設定し、非同期で動かしてみたもの。


設定方法は前回とまったく同じなので、今回の説明は省略。
動きに対しては、900のフレームに対して、450(半分)毎に動くよう設定
if((frame%900)>450and(frame%900)>0);0.0;else;1.0;end
ドアに設定した「Piston」の”Controller”値に、上の一行を書き込むか、コピーペーストするだけ



同じく、120度 開閉する扉を1/3づつ開いていくデモ。
式は見ての通り、900 のフレームに対して 300フレーム毎に区切って動きを設定してあるだけ。

if((frame%900)<300and(frame%900)>0);0.5;elsif((frame%900)>300and
(frame%900)<600);1.0;else;0;end


添付ファイル 添付ファイル


キーボードで正転と逆転をやってみた。

前回、「Controller」にキーワードを設定し、キーボードから動作できるように試してみたが、今回は少し拡張して、ジョイント「Motor」の正転と逆転が出来るように設定してみた。

式は下の一行のみ。

(key("left")*-1)+(key("right")*1)

デモなので、回転を十分落とすため”damp”の値を3に設定。

式は説明の必要がないくらい簡単なものだが、念のため説明してみる。

使うキーは、左矢印キーと、右矢印キーの二つ。

キーは、左右のどちらが押されても戻り値が ”真(1)”として考え、

左側が押された場合、−1を掛けて

1×−1=−1

右が押された場合、+1を掛けて

1×1=1

これを1つの式にまとめると、

左が押された場合、

−1+0=−1 となり、モーターは逆転。

右が押された場合、

0+1=1 となり、モーターは正転

キーが何も押されていない状態では、”0”のままなので、動きなし。

こんな感じである。

下が実際に動作を確認してみた動画

添付ファイル 添付ファイル


< next