大いなる遺産

福岡でCGやってます。最近pythonはじめました

爆速で映像をカットごとに整理するワークフロー

CM制作をする際、プロジェクトが本格的に進行する前段階でビデオコンテ(Vコン、オフラインなどとも呼ぶ)を大体の場合、もらいます

いわゆる動く絵コンテみたいなもの

このビデオコンテで映像のイメージをつかみ、制作を進めて徐々にビジュアル化していいと思いますが、作業をする前に、私はAfterEffectsを使って、カットごとにコンポジションを作って分割します

ビデオコンテをカットごとに分割しておくと、主に以下2点のメリットがあります

-カット別にチェック映像や連番素材を出すことが容易になる
-カット別にエフェクトを簡単にかけれるので映像の調整がしやすい

AfterEffects2022のアップデートで、ビデオコンテをカットごとに分割するワークフロー
が爆速で出来るようになったので、紹介しよう

①ビデオコンテをコンポジションに投入する
②ビデオコンテのレイヤーを右クリック > Scene Ddit Detection
③ダイアログが出るので、Split Layer at Scene Editにチェック > Create Pre-compsにチェック

ここまでで、もうビデオコンテが自動的にカットごとにコンポジションが作られ、まとめられます

さらにコンポジションの名前を変え、末尾にカット番号を連番でつけたいとなった時に
下記のRenamusという無料スクリプトを使わせてもらってます

booth.pm

これで、任意の名前+00~などでリネームすると、完成!

爆速でできるし、効果は絶大!ぜひお試しください

実写合成に必要なもの【カメラ情報編】



3DCGと実写を合成させるときに、どんなカメラの情報が必要になるのかという話。

そもそも、実写とCGを合成するには、3DCGソフトの空間上でカメラの位置や傾き、カメラワークなど、現実世界と同じようにCG空間上にカメラを設置することで、実写と3DCGの動きを連動させ、合成させることができる

他にも色味を合わせたり、ノイズをのせる等、CGを実写のように馴染ませるには色々とやることはあるが、今日は備忘録もかねて、どんなカメラの情報が必要になるかを書いていこうと思う。

撮影にいく際、まずはカメラマンさんを見つけて、下記の情報を撮影カット毎に
記録してもらう。

・センサーサイズ
カメラに内蔵されているイメージセンサーというものの、サイズのこと。
これによって画角がだいぶ変わる

焦点距離
上記イメージセンサーからレンズまでの距離

・被写体(人物等)とカメラの距離
撮影する対象からカメラまでの距離を計る

・レンズ高
地面からカメラのレンズまでの高さ

・仰角
カメラの角度

・カメラの設定
-FPS(フレームレート)
-シャッタースピード
-ISO
-絞り
-ホワイトバランス

撮影しているカメラのモニタに情報が表示されていたら、
それごとキャプチャをしておいてもらうと早い

これらを記録してもらい、CG上のカメラオブジェクトのパラメータに
同じ数値を打ち込むことで、撮影現場のカメラを再現できる!

上記はカメラマンさんがやってくれることが多いけど、補足として自分で
下記のようなこともやっておくといい

・撮影現場にあるもののサイズを計って記録しておく
合成するものがカメラからの距離の測りようがないときもある。
※例えば、何もない空に空飛ぶUFOを合成するとか、、
そんな時に、カメラに写っている物体の大きさ、長さ、高さなどを計っておくと、
CG上でシーンを構成していくうえでのあたりになり、合成作業がやりやすくなる

・撮影環境を撮影しておく
例えばスタジオだと照明の位置、カメラの位置などの撮影環境全体を
何枚か違う角度から撮影しておくことで、後々ライティングをするときや
カメラ位置調整の際、ヒントになることがある

AeでTiffの書き出し設定について

AeでTIFFの書き出しをする際にDepthというところがあるが、ここの設定について迷ったので、めもっておく

・Millions of Colors+ 約100万色
・Trillions of Color+ 約1兆色
・FloatingPoint+ ???

の3つがある

f:id:realefactory:20211019053446p:plain




使うとしたらMillions of Colors+かTrillions of Color+かと思う
※というかFloatingPointがよく分からん、、32bpcを使ってる時とか?

単純に映像素材をこの2つで連番として書き出した際に、Trillionsの方の容量が約4倍にもなった

でも、かなり拡大してみたけど比較しても画質はほぼ変わらなかった、、

結論、グローなどの繊細なグラデーションを扱うとかでない場合は、Millions of Colors+で十分だと思う

【blender】Mixamoにモデルを持っていくときの注意点

blenderからモデルを書き出して、Mixamoでリグを設定するときにエラーがでて、進まず、調べても分からず、ハマった

何度やっても下記のようなエラーがでた

f:id:realefactory:20211001001718p:plain


原因としては、FBXとしてエクスポートする際に下記の部分を変更していたかららしい
ここは最初の設定のまま
Forward=-zForward
Up=Y Up

でエクスポートするといけた

f:id:realefactory:20211001001420p:plain



【blender2.9】Materiarlごとに面を選択



調べてもなかなか出てこなかったので、備忘録として

 

アドオンの「MaterialUtillities」を有効化

f:id:realefactory:20210914041134p:plain

右側のマテリアルプロパティのタブを選択

マテリアルを複数割り当てたオブジェクトを選択して、tabボタンで編集モードにすると、Assign、Select、Deselectとボタンがある
選択したい面のマテリアルを選択して、「Select」を押すと、そのマテリアルを割り当てた面のみが選択される

f:id:realefactory:20210914041106p:plain

 

【python】seleniumでうまく値が取得できないとき

seleniumはページ遷移をする際きをつけたほうがいい

①webページがjqueryなどプログラムを使っている
②ネット通信が遅い
③別タブで開いてる

などの影響で値が取得できていない可能性がある

①と②はtimesleepという指定した時間待って、処理を始める
やつを噛ませれば解決!

③は別タブをひらいたら、

driver.switch_to.window(driver.window_handles[タブ番号])

で、アクティブなタブを切り替えないと取得できない

【python】pandasの扱いについて

pandas、使いこなしたら便利なんだろうけど、使い方がよく分からん

今日分かったことは、pandasは、一番上の行、一番左の列に何かしら
値を入れてても、それらは、行名、列名として捉えられるので、
データフレーム自体は空のデータとみなされる

そして、データを入れるときは、エクセルみたいに一つのセルのみ
値を入力して、他のとこは空白っていうのができない
なので、行の値は、列の行名文ちゃんと埋める必要がある
※できるのかもしれないが、調べた感じでは出来なかった

今回よいと思った扱い方は、最初に行全てに適当な値を入れる
そして、そのあとだったらilocで数値をセルごとに入力できる
ので、そこから指定して数値を入れていくやり方

for文とかを使う場合は、データフレームが空かどうかを条件にしれば
コントロールもできる