Pc-Trace

<< 2024年10月 >>
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 31






Pc-Trace
PC-Trace

< next 最新の記事 prev >

沖縄(部分5)・10m等高線と標高データ

国土地理院・基盤地図情報から、「沖縄の北側一部」の等高線と標高の”kmz”データ



範囲が広いため、処理可能なブロックに分けて掲載中


GoogleEarth用 等高線と標高データ
添付ファイル 添付ファイル


沖縄(部分4)・10m等高線と標高データ

国土地理院・基盤地図情報から、「沖縄の南側一部」の等高線と標高の”kmz”データ



範囲が広いため、処理可能なブロックに分けて掲載中


GoogleEarth用 等高線と標高データ
添付ファイル 添付ファイル


沖縄(部分3)・10m等高線と標高データ

国土地理院・基盤地図情報から、「沖縄の南側一部」の等高線と標高の”kmz”データ


範囲が広いため、処理可能なブロックに分けて掲載予定


GoogleEarth用 等高線と標高データ
添付ファイル 添付ファイル


ギアの作成

「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”のままなので、動きなし。

こんな感じである。

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

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


ジョイントツールの”Controller”に「キーコード」を設定

「SketchyPhysics」の ”Controller” の設定ができるようになったところで、今度は直接キーボードの ”キー” から動かす場合をやってみた。

使える”キーコード”の範囲は、キーボード全体が対象と見られるが、これは単なる推測に過ぎず、検証する必要が有る。

個人的に良く利用するキーとして

key("up")*1
key("down")*1
key("right")*1
key("left")*1
key("space")*1

などが対象になるが、今回はオブジェクトをバット代わりに使いたいので、”key("up")*1”(上向きの↑)を使ってみた。

key("???") の書式は既定で、?の部分はSketchyPhysicsが指定する「キーコード(ワード)」を入れる。

「Servo」ジョイントを使って設定するとたったこれだけで済んでしまう。
上向き”↑”キーの嫌いな方は、色々なコードに変更して試してほしい。



実際の動作例(現段階で使い道を検討中。)


※しかし・・・いつまでも簡単な事ばかりしてて良いものか?
添付ファイル 添付ファイル


少し踏み込んで、 Wikia を覗いてみた

複雑な動作を要しない限り、SketchyPhysicsのツールバーに表示されている機能だけで殆ど事足りてしまうが、少し踏み込んで「SketchyPhysicsWiki」の中を除くと、更に便利な使い方が紹介されている。

僅か、10行にも満たないスクリプトを記述するだけで、”更に便利”な使い方ができるなら使わない手は無い。

今回は、最も身近と感じられる
「getVar」と、「setVar」の二つのスクリプトを用い、手抜きの代名詞となった、「観音扉」で試してみた。

設定は、以下の通り

扉の軸としてセットする「Servo」の「Controller」に、値を取得するため、

getVar("tobira01")

と記述する。



※通常は、軸を設定した段階で”slider('servo???')”が既定値としてセットされてくるので、これを上記に書き換える。

カッコ内の "tobira01" は、自分が識別し易い任意の名前を付けられるが、「getVar」は、「Servo」などのジョイントツールから値を取得するための決まりのスクリプト。(決まりなので、考える必要はなくただ記述するのみ。)

他の設定で、
「accel」と、「damp」の設定は割と重要で、
オブジェクトを動かす力や早さは「accel」で設定し、それに抵抗を加えるのが「damp」の役割と言ったところ。
「damp」の設定値を高くすると、扉の開閉をゆっくりと動かす事ができる。

後は、動かされる方のオブジェクトに、アクションに応じた数行のスクリプトを記述するだけ。

下は、マウスのクリックイベントを用いた一般的な記述。
(観音扉の場合、対称に動く2つの扉にどちらも同じスクリプトを記述する)

onclick{
if getVar("tobira01")==0.0
setVar("tobira01",1.0)
else
setVar("tobira01",0.0)
end
}

「Inspector」のダイアログ 最下部に表示されているスクリプトのチェックボックスにチェックを入れると、テキストボックスが現れるので、上のスクリプトをコピペして貼り付けるだけで良い。

たったこれだけで動作する。



※ヘルプや参考が必要無い場合、「SP Wiki」をクリックしなくても他の空白をクリックしてもテキストボックスは表示される

「Servo」のジョイントが邪魔な時は、レイヤの「SketchyPhysics」のチェックを外すと非表示にできる。


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


caterpillar 作ってみた Ver2

前回のキャタピラの作り込みと動作があまりにもヒドイので、Ver2を作ってみた。(ボックス形状の動作については”Cylinder”属性を持たす事で、解決済みである。)

「Motor」ジョイントのコントロール・スライダーを下記のように動作するよう、設定

中心=停止
左=逆転
右=正転

(※ Inspectorの「Controller」設定値に-0.5を加えるだけ・・・つまり、スライダーの中心が”0”になると言うこと)



添付ファイルは今回のモデルデータ
添付ファイル 添付ファイル


caterpillar 作ってみた

「SketchyPhysic」をやり始めた初心者にとって、他の人の作品は刺激の宝庫である。

と、言う訳で、鉄板が鎖のように繋がった刺激のある「caterpillar」を作り、一つ一つの繋ぎ目に「Hinge」ジョイントをセットして動かしてみた。

キャタピラが、円盤の中心にセットされていないため、少しづつ”ズレ”が生じ、やがて奈落の底へ落ちていく。



円盤をグループ化するとボックス形状で運動するため、綺麗な円運動を再現できていないが、まだ、チンプンカンプンなので、後日詰めて解決したい。
添付ファイル 添付ファイル


沖縄(部分2)・10m等高線と標高データ

国土地理院・基盤地図情報から、「沖縄の南端一部」の等高線と標高の”kmz”データ

ブルーのブロック領域


範囲が広いため、処理可能なブロックに分けて掲載

GoogleEarth用 等高線と標高データ
添付ファイル 添付ファイル


写真に浮かべてみた

進歩のない”浮かべてみた”の続き。

浮力設定時に表示される水面の下に、写真を敷いてボートを浮かべてみた。(写真なので、当然波はたたない。)

途中、コンテキストから指定しているのは、カメラフォローの指定。
本格的な作り込みをしたとき威力を発揮しそうである。




< next prev >