Aviutlで動画作って…Blenderで透過出力して…またAviutlで読み込んで…
3Dを使った映像を作る時、AviutlとBlenderを行き来するんですが、これが本当に大変でBlenderでミスがあったらまた出力しなおさなきゃいけないし…
めんどくさすぎだろ!!一つのソフトで解決せえ!
って要望をAviutlは満たしてくれます。
さすがわれらがAviutl!
3Dモデルを読み込むには「Obj Reader」というスクリプトが必要です。
まだスクリプトをダウンロードしていない人はここからダウンロードしましょう!
この記事では、OBJ Readerの使い方を、公式ページの説明を補足していく形で解説していきます。
下準備(objファイルの準備)
まず、読み込むObjファイルを用意しましょう。
口述しますが、このスクリプトのファイル内にobjファイルが既に用意されています。
今回私はこのモデルをダウンロードしました。(モデリングとかできんし)
このモデルを好きなファイルに保存しておきましょう。
scriptファイル内のOBJ ReaderのファイルにOBJ Primitivesファイルというファイルに保存してもいいかもしれません。
この中にはもうすでにモデルが入っているので、それを使ってもいいと思います。
初期の状態でもかなりの量のobjファイルが用意されています。
OBJ Readerの使い方
下準備
まず、図形を用意します。
種類は背景か四角形がおすすめです(私の場合、ほかの形では描画がおかしくなりました。)
相したら、カメラ制御+シャドーをつけましょう。
これでモデルを読み込む準備ができました。
そしたら、背景にこの二つのアニメーション効果を適応します。
順番は画像の通りに適応してください。
次に、「objファイル読み込み」の「参照」を押し、読み込みたいobjファイルを選びます。
選んでも、画面には何も現れませんが、安心してください。
超小さいだけです。
「描画」のほうの値(scale)を大きくしまくってやれば、ちゃんと描画されます。
私の場合はこんな感じで描画されました。
色が白いのは正常です。
ここから値をいじって理想の見た目にしていきましょう。
obj読み込み
ID : 現在の選択しているIDのこと。基本いじらなくてよさそう。
削除/読込 : -2で全て消去、-1で選択しているIDの部分を消去、0で何もしない、1と2でobjファイルを読み込みます。(2はすでにあっても上書きされます)
これは、読み込むモデルを変えたりするときに使います。
face反転 : 読み込んだ際の法線が反転します。正直よくわかりません()
info : 読み込んでいるobjファイルのデータが表示されます。
1(左)で現在のID、2(右)で読み込まれたobjファイルの一覧です。
vertices(v) : 頂点数
faces (f) : ポリゴンの数
となっています。
描画
読み込まれたobjファイルを描画する機能があります。
ID : 読み込むIDを選択します。0だと立方体が出てきます。
Scale : 描画する際の大きさを指定します。大きくすると重くなるので注意です。
Prog : 線と面の描画の進捗を調整できます。100と-100で完全に描画されます。0で描画されなくなります。50くらいにすると、画像みたいになって割とエモいです。値を100から0にすれば、電子的に消される演出もできそうです。
random : 頂点がランダムに移動します。+で完全なランダム、-でフラクタルノイズを使用してくれます。
これもエモい表現ができそうですね!値を大きくしすぎるとめっちゃ重くなるのでご注意を。
モデルリストの表示 : 現在読み込んだモデルの一覧が表示されます。頂点数も表示されます。
「描画」の設定ボタン
scale :サイズの倍率を設定できます。ただしテーブルです。( {x,y,z} )
{1,0,1}でこんな風になります。
{1,4,1}ではこんな感じになります。
要はその方向にどれくらい引き伸ばすかを設定できます。(1は1倍)
点図形 :頂点の描画に使用される図形の形を変更できます。背景を呼んでも普通に動きます。(四角形になります)
└サイズ :点の大きさを変更できます。
└色 :点の色が変更できます。
モデルを読み込んだ時に描画されている点を設定できます。
円のまま、大きさを5にすると、点も大きくなります。
点がいらない方は大きさを0にしちゃいましょう。
私はないほうが好きです。
逆に、点をオブジェクトの頂点に配置することもできます。
progを0にすれば、ポリゴンを消せるので、こんなこともできます。
Texture(-2/2) :テクスチャの表示です。-2と-1で法線、0で単色のポリゴン、1でかけているオブジェクトの画像、2で同じディレクトリにあるモデルと同名の画像を張ります。
└不透明度 :テクスチャの不透明度です。
└色 :Textureが0の際の色を指定できます。
-2(-1でも同じ)でこんな感じに描画されます。
なんだか「Vaporwave」っぽくていいですね!
0では好きな色に指定できます。
ポリゴンに直接着色するのはマリオ64で使われた技法ですね!
デフォルトでは値は1になっています。
オブジェクトの画像をかけてくれるようですが、私の場合は白いまんまです。
正直こっちのほうがエモいのでこのまま私は使っています。
2では同じディレクトリにあるモデルと同名の画像を張るらしいですが、やはり張られず、ポリゴンが透明になります。
しかし、これを逆手にとって、下で説明する線幅を調整すれば、モデルのワイヤーフレームのみを描画できるので、重宝しています。(線幅の透明度100,色は白、prog=100にしています)
線幅 :描画される線の幅が指定できます。
└不透明度 :線の不透明度です。
└色 :描画される線の色です。
ワイヤーフレームに線を張ってくれます。
個人的にはワイヤーフレームを強調したいとき以外あまり使ってませんので、不透明度を0にして消しています。
noiseScale :randomがマイナスの際に使われるフラクタルノイズのサイズです。値が大きいと細かくなります。
正直違いがよく分からないです。
shuffle :Progの順番がでたらめになります。
ここが0の時にprogをいじるとこんな風になります。
値を50にすると、消える順番などが変わって、よりそれっぽくなります。
やりすぎるとぼく〇つのバグみたいになるので、値の上げ過ぎにはご注意ください。
delay :Progのフェードの長さです。
正直違いが判ってません。
となっています。
以上こちらを参考及び引用しました。
エラーなどの対処法
エラーなどの対処法も記載してあったので、以下に引用しておきます。
[[エラーで描画されない、もしくはうまく描画されない場合]]
変に描画(一部のポリゴンが欠けている)される場合:
Nポリゴンという4以上のポリゴンを持つ(4つでも平面ではない)ポリゴンを含んでいる可能性があります。
モデリングツール側で三角面に分割して出力することでちゃんと描画されるようになります。Blenderでモデリングし、出力したファイルが読み込めない場合(出力時の設定を変えて直る可能性があるかもしれません):
ダイアログのTexture(-2/2)の部分を0以下にすることで読み込めるようになります。ただしこの場合、ポリゴンの色がダイアログから指定したもののみになりますので注意してください。以上こちらより引用
これらを注意すれば、Blenderで作ったものも、Aviutlで読み込めるわけです!神かな?
なお、私の環境では、「砕け散るT」という、立体物を砕けさせる効果が適応できませんでした…
blenderで作ったモデルを読み込む
記事が長くなったので別記事で説明します!
Aviutlで3Dできるってやばいですねっ!
まとめ
いかがでしたか???
今回はAviutlで3Dモデルを読み込む方法を解説してみました!
絶対Blender使ったほうが早いんですが、Aviutlと行き来するのがめんどくさいので、こういうことができると何気に便利なんですよね!
これだからAviutlはやめられねえぜ!
え?ほかの解説も見たいって?
そんな方のために、MADで使えそうな解説記事を以下にまとめておきました!(随時更新中です)
一個くらいは役に立つと思うので興味がある人はぜひ~
コメント