Pc-Trace

<< 2026年1月 >>
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 >

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

こんな感じである。

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

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


ジョイントツールの”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」のチェックを外すと非表示にできる。


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


< next prev >