Pc-Trace

<< 2025年4月 >>
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 最新の記事 prev >

形状の「showcollision」 : (赤の軸)方向

「SketchyPhysics」で、円柱を転がしたつもりが”ガクガク”の動きになったり、予測不能な振る舞いをする時がある。

「Shape」の設定がオブジェクトの形状と異なる場合である。

「Shape」を設定する時、対象のオブジェクトを右クリックして表示される「メニュー」


下の動画は、”赤の軸”方向に六角柱を作成し、それぞれの「Shape」形状を指定して振る舞いを確認してみた。(設定する軸の方向や、凸型以外の形状でも振る舞いが異なる
実際の衝突は、六角中に描かれた形状で干渉する。

※形状指定があっても全てが動作する訳では無く、「Staticmesh」以外、オブジェクトが静止したままの「Shape」がある。



上の例での「Shape」設定は、「Convexhull2」が正しく利用できた。


当たり前、それとも錯覚?

「SketchyPhysics」を使い始めの頃、錯覚したり見誤ったりと・・。

下のサンプルは、ボックスに六角の車輪を付けて、「Motor」のジョイントを取り付け、動かしてみたもの。
形状や、視覚だけに頼ると、錯覚も当たり前に感じてしまうかもしれない例。





上の動画を見て当たり前に感じた人も、「showcollision」にチェックを入れて実際の車輪の干渉形状を見てみると、六角ではなく、四角で動いていたのが分かる。



それでも挙動に違和感を覚える人は鋭い観察力の持ち主かもしれない。


「AviUtl」を使って、「AVI」の書き出し

「Export Animation」で書きだした連続画像を、フリーの
「AviUtl」を使って「AVI」動画ファイルとして書き出す手順を画像で掲載してみた。

利用させて頂いた”3Dモデル”は、毎回お世話になっている、
kotarou 〜3D〜様が作成した、傾斜地に建てたパノラマ展望が楽しめる、円筒形の建物。




連続画像を「再圧縮なし」の「AVI」動画として書き出す場合、僅か一分たらずの動画でもギガ単位の要領を費やすため、「HDD」に十分な空き容量が必要となる。

1...「AviUtl」を起動したら、「ファイル」メニューから「開く(Ctrl+O)」を選択


2...「Export Animation」で書きだした、連番付き画像の、一番若い番号を指定(ゼロから)


3...読み込まれて表示された画像。


4...今回は、サイズ変更無し。


5...「ファイル」メニューから、「AVI出力(Ctrl+S)」を選択。


6..開いたダイアログから、ファイル名と、再圧縮なしにチェックを入れ、動画を書き出す。


7...動画の書き出しが終わると、スライダーが最後のシーンで止まる。


以上、簡単だが、これで「AVI」ファイルが作成される。
mp4などのコーデックを入れている場合、直接mp4で書き出しても良い。




下が、実際に書き出してみた動画
建物の美しさだけでなく、影や、日差しの動きにも注目してほしい。



「SketchyReplay」の、「Export Animation」

「SketchyReplay」の、「Export Animation」を覚え書きとしてUPしてみた。

「SketchyPhysics」の動作をリアルタイムでキャプチャーする際、マシンスペックがネックとなるが、アニメーション用の連番付き画像としてエクスポートしておき、後で「Aviutl」などのソフトを利用して動画に変換(連続した静止画を連結)すると、正確にデータを書き出す事が出来る。
複雑なモデルは時間がかかるため、就寝中の処理をおすすめする。

またも手抜きのモデル!





※ 連番画像の結合については、後日紹介する予定?


SketchUpで作ってみたい、仏壇木地 TOP3

都市型、家具調、壁掛け、据置型インテリア・・時代を反映して様々な種類の仏壇が生み出されている中、”懐古趣味”とも思われかねない、”荘厳”の象徴とされてきた伝統的な金仏壇に、相変わらず、特別な魅力を感じてしまう。

下の機種は、SketchUpで特に作ってみたい大型のもので、産地や、機能などに独特の特徴を持つ。
魅力の根源は、その精巧さと複雑さ。
2番目の機種は、扉を広げると3メートル近くの幅になる。







我が家の棚の中から、25年も前の懐かしいカタログ写真が出てきたので、当時、どのような環境で仏壇の木地が製造されていたのか、参考のために掲載してみた。

木地を製造する工場内の一部。


その後、高い精度と安心できる品質を誇る国産の木地は、隣国に取って代わられることとなった。


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

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



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


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


沖縄(部分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”のままなので、動きなし。

こんな感じである。

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

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


< next prev >