見出し画像

Unity撮影の方法とPost-process

画像

はい みなさ  n こんniち わ?
ワタ94で  su!!!!
おはツイ 撮る時間 nai  sか
キレイna 写真 撮  い deathか
そんな アnタ  に [[スペシャルオファー]]!!!!
これで [[BIG]] に なるます、!1!

画像
こんな感じのが撮れるようになります。

前提

liltoon、Gesture Manager、FaceEmoを使用しています。
Poiyomiなど他Shaderでも同じことは出来ると思いますが保証できません。
Materialの設定、及びProjectの設定を変更する場面があります。念の為に Ctrl + D で複製、変更前の数値等をメモしておくことをおすすめします。
Discordを使用しているなら自分だけのサーバーを用意してキャプチャを貼ると楽です。

Recorderの設定

Unity Recorderの追加

Unityで撮影するにはRecorderを導入する必要があります。
導入していない場合、下記ガイドに従って導入してください。

画像
Window → Package Manager
画像
左上、+マークの右を Packages: Unity Registry に選択
右上のテキストボックスに「Recorder」と入力して Install
画像
おそらく既にInstallされていると思いますが、TimelineがないとRecorderが動作しません。
確認して、Installされていなければしてください。Updateがあればしてください。
画像
Window → General → Recorder → Recorder Window
画像
「+Add Recorder」から Image Sequence を選択。
画像
静止画撮影の設定が開かれました。使用している設定は下の通りです。
画像
何も考えたくないなら丸コピでOK。

Exit Play Mode
撮影した後に再生を停止する機能。
チェックが入っていると撮影する毎に Gesture Manager を再生する地獄を見ることになります。チェックを外します。
Recording Mode
静止画1枚を撮影したいので Single Frame にします。
Source
レコーディングの入力元。Game View から Targeted Cameraに変更。
Camera
録画対象。MainCamera のままでOK。
Output Resolution
撮影する解像度。4kや8kを選択すれば問題ないと思います。
VRChatの縦撮りと同じにしたいので Custom で数値を指定しています。
Media File Format
保存する画像の形式。PNGの方が高画質なのでPNGに。
Include Alpha
アルファチャンネルを含むかどうか。
背景色などの無い透過画像を撮影したい場合はチェックを入れます。
Path
ファイルを保存する場所。Image Sequence の後に Take Number やらが付いたファイル名で保存されますが、同じ Take Number で保存されている場合は問答無用で上書きされます。(2敗)
Project 毎にフォルダを用意して、それぞれ指定することをおすすめします。

画像

動画を撮影する場合は Movie を追加してください。
Recording Mode を Time Interval(sec) にし、Start と End を指定することで録画時間を指定して動画を撮影出来ます。
動画用のAnimationは後述する「ポーズを取らせる」を参考に。
注意点は Output Resolution で指定するサイズを大きくするととんでもない負荷が掛かってPCが止まることぐらい。
動画用のフォルダを用意して Path で指定してやると管理が楽です。

Cameraの設定

Unityのカメラは視野角が広く、VRChatで見た時に印象が違うことがあります。Main Camera の設定ついでに Scene Camera もデフォルトの60から変更します。Scene View 右上のカメラマークから設定してください。

画像
諸説あるようですが20にしています。

Main Cameraの設定

画像

Clear Flagsを Solid Color に。Background は透過する場合映りません。
アバターが見やすい適当な色にしてください。
Field of View を前述の Camera 設定と同じ数値にしてください。

撮影

Game viewの設定

Recorder の設定を終えたら Game view の設定をします。

画像
SceneやGameのタブを右クリックして、 Add Tab → Game

追加した Game view のタブを掴んでUnityの画面外へドラッグします。

画像

Game view が独立して Scene view と一緒に見ることが出来るようになりました。続いてSceneカメラの位置を Game カメラに反映するようにします。
Main Camera を選択した状態で Ctrl + Shift + Fを押すか、GameObject から Align With View を選択してください。
Scene view の Camera が Game view にも反映されるようになります。

画像
どちらでも良い

ポーズを取らせる

設定を終えたら撮影の準備は完了、早速1枚……
の前に、撮影に使うポーズアニメーションを用意します。

今回はきつねぱんちさんのポーズ集を使ってみます。

画像
Gesture Managerを再生したら Tool タブを開いて、
好きなAnimation を Test Animation に入れます
画像
ポーズを取らせることができました。

大量のポーズを都度 Test Animation にいれて確認するのは結構しんどいので、ねこばこさんが作成した機能をありがたく使わせてもらいましょう。

ポーズを修正する

画像
Stand_09

上で使用したStand_07では問題ありませんでしたが、デカパイアバターは販売されているポーズを取ると貫通する事がよくあります。服やポーズはscale1.0を想定して作られているので自分で修正しなければいけません。
これはデカパイの業(karma)。ひとつ分の陽だまりはscale1.0なんですね。ミルティナちゃんは盛っていなくても貫通することが多いです。

画像
Start Posing
画像

Gesture Manager の Start Posing を押すと Pose-Mode に入り、Bone を動かす事ができるようになります。

画像

貫通の原因は右手なので、Upper_armRとLower_armR、必要ならHand_RのBoneを調整します。Eキーで回転、Wキーで移動が切り替えられます。
Boneを移動すると化け物が生まれてしまうので回転して調整します。
Animationによっては回転でも破綻することがあるので、その際はInspector の Rotation に直接数値を入力してください。NeckやHeadがなりがちです。
同じ要領でHeadにあるLeftEye、RightEyeを移動させることで視線の向きを変えられます。

画像
Upper_arm、Lower_arm、HandRのRotationを調整

無事修正することができました。Pose-Mode はまだ解除しないように。
こうして修正したポーズは変換ツールを使って別に保存しておくと次回から楽できます。自作ポーズも簡単に作れておすすめ。

表情を変更する

最後に表情を付けます。ポーズを修正した場合はそのまま、修正していない場合はPose Avatarを押してPose-Modeに入ってください。
表情の付け方は(多分)2種類あって、表情ツールを利用する方法と Hand Gesture を使う方法があります。FaceEmoでの説明になりますが、他のツールについても同じだと思います。Radial Menuを利用するだけなので。

画像

FaceEmo(表情ツール)を使っている場合、Radial MenuにあるFace Emoの表情選択から変更したい表情を選ぶだけ。数十種類の表情を選択できるので個人的にはこちらがおすすめ。

画像

Hand Gestureを使う場合、Left Hand / Right Hand の使いたい表情が含まれているGesture( Fist、Open など)にチェックを入れるだけ。
VRChatで使っている表情セットから選ぶことができます。

撮影する

長い設定が終わりました。1度設定してしまえばポーズの貫通修正を除いてRecorderのボタンを押すだけで撮影出来ます。
早速赤い再生ボタンか START RECORDING を押して撮影しましょう。

画像
無事に撮影できました。

あとはペイントソフトでフリー素材や撮影したWorldを背景に設定したり、縁取りを付けたりと好みの編集をすれば完成です。お疲れ様でした。

……と、このままだったら普通のUnity撮影。ここからが、マグマなんです!

Post-processの設定

Post-processの追加

画像

先ほど撮った後、Post processをONにして再度撮影した画像が右です。
並べて見ると結構違いますね。これを撮る方法を説明します。

画像
Edit → Project Settings
画像
Tags and Layers を開いて、一番下に Post process を追加。名前はなんでもOK。
(この設定をせずとも動いたけど、した方が軽いとか見たのでやってます。)
画像
Main Camera の Inspector から Add Component
Post-process Layer を追加。
画像
Layer を先程追加した Post process にします。
画像
Hierarchyで右クリック、 Create Empty で Post process を管理するObjectを作成。
名前はなんでもいいので、 Post process にします。
画像
Add Component で Light と Post process Volume を追加。
Light は Post-Process ではありませんが、後で影を付ける際に必要なので追加しておきます。
画像
Layer の Dedault を先程作った Post process に変更します。
画像
Post-process Volume の Is Global にチェック。
Profile がNoneになっているので New を押して作成します。
画像
Add effect → Unity で使用するエフェクトを選択。
 Bloom , Auto Exposure , Chromatic Aberration を追加します。
画像
Post process をONにすると足元のグリッドが透けてアバターを貫通するので
ついでにこの設定もクリックしてOFFにしておきます。
貫通しない設定があれば教えて下さい。

Bloom

画像
説明のために極端にしています

おそらくPost processの中で一番効果が大きいのがこれ。

この効果は、画像の明るい領域の境界から伸びる光のフリンジを生成し、カメラや、目でシーンをとらえるときに、非常に明るい光があふれ出ているような効果を作ります。

Unity Documentation

要するに明るい部分から滲んだ光を伸ばすようなエフェクトです。

画像

Intensity
そのままの意味で光の強さで、この値が高いほど眩しく光を放ちます。
衣装に合わせて大体0.7~2.0ぐらいで調整するといい感じ。
アクセサリーなどの強度を個別に設定したい場合は Material の「光沢設定」を調整してください。環境光の反射にある Cubemap Fallback の Intensity を調整すると大きく変わります。

画像
偉大なMaterialというのは
輝いて見えるものだヨ

Threshold
しきい値。定めた数値以下にはBloom効果が乗らなくなります。
Intensity と合わせて調整することで好みの光り方を探ることが出来ます。
1.0~1.4あたりでお好みに。
Soft Knee
Threshold で設定したしきい値の幅を広げる設定。1に近いほど幅が広くなります。アルファマスクのグラデーションみたいな感じ。
Clamp
光の量。2と極端に小さな数字にするとわかりやすい。65472のままでOK。
Diffusion
拡散。1に近いほど光が広がり、0に近いほどピンポイントになります。
Anamorphic Ratio
光の広がり方。正は横に、負は縦に伸びます。好みがなければ0で。
Color
光の色を決める。青白い発光なども設定できるが、Materialで設定した方が良さそう。FFFFFFで良い。
Fast Mode
チェックをつけるとクオリティと引き換えに動作が高速化する。…らしい。
Post process は撮影時にしか使用していない為チェックを入れていない。
Dirtiness
Texture

レンズに埃などの汚れを付与するらしい。不要。
Intensity
上記の強度を調整する。

Auto Exposure

画像

Auto Exposure (自動露出) エフェクトは、中間調に合わせて画像の露出を動的に調整します。

Unity Documentation

簡単に言うとハチャメチャに明るい、白飛びするような場面などでいい感じに光量を調整してくれる機能。のはず。
あってもなくても変わらない気もするけど、ある方が落ち着いて見える気がするから使用しています。

画像

Filtering(%)
平均輝度を見つけるため、計算する際に考慮するデータの範囲。
Minimum(EV) / Maximum(EV)
平均輝度が下回る/上回る場合に設定される明るさ。
Exposure Compensation
全体を補正する中間の灰色の値。
0に近いほど暗く、1を超えると明るくなっていきます。0.8~1.2ぐらいで調整するといい感じな気がする。正直 Auto Exposure は自信がないです。
あれこれいじくりまわして自分だけの設定を見つけよう!

Chromatic Aberration

画像

Chromatic Aberration (色収差) エフェクトは、カメラのレンズがすべての色を 1 つの点に収束しないことによって生成される現実世界の現象を模倣します。結果として得られるエフェクトは、画像の濃淡部分を区切る境界に沿って色の “フリンジ” を作成します。

Unity Documentation

なんだか難しいことが書いてありますが、要するにカメラなどで撮影した時に出来る光のブレ、ボケのことです。これをしっかり説明するには理科の授業と今の銀河の状況を理解する必要があるので、なんとなくエモい感じになる程度に思ってもらって構いません。ONにするとアバターやオブジェクトの端にブラーが掛かり、色収差ってヤツが出てきます。

画像

Spectral Lut
色収差のエフェクトの色を設定できます。◎をクリックしてテキストボックスに Spectral と入力すれば、 Post processing の Package に入ったLUTが選択できます。同規格で画像を作れば好みの色に変えられるそうですが試していないので説明できません。

画像
None か RedBlue がエモい気がします。

Intensity
強度。0.15~0.25ぐらいの間で調整してます。

まとめと数値

画像
書いている最中の設定。衣装やアバター、改変具合によって前後します。

数値は衣装によって調整した方が綺麗に見えます。概ね Bloom の Intensity と Threshold は結構触ることが多いかも。冒頭の断罪バニーはこの数値より強めになっています。 Intensity 7ぐらいだったかな。
Post process の説明はとりあえず以上です。エフェクトは他にもあるので試してみて、より良い感じになったらこっそり教えて下さい。

影を付ける

リアル影システムを使えばいい話ではあるけど、アバター毎にそれぞれ設定して Untagged と Editor Only をポチポチ切り替えるのも面倒です。
なのでUnityの環境で影が付くようにしましょう。

하루나데브 harunadevさんのポストを参考に設定していきます。
Spot Light や Point Light で思うように行かず、Avatar Testing Chamberで泣いていたらかおるこさんが教えてくれました。感謝。
まずはポストにある注釈通り、影が出来るように設定していきます。

Material設定

画像

Materialの「影を受け取る」を確認してください。この値が0だと影が付きません。かといって全部1にすると、衣装によってはやかましくなったり暗くなったりします。影色を変えたり、受け取る値を0.4や0.7にする等して調整してみてください。
影の詳細もここで設定したものなります。あまりに暗い影にすると一部のWorldで大きく見た目が変わってしまうので、テクスチャのカラーコードを拾って明るさを-1~4ぐらい下げるか、スポイトで拾って少し下げるなどで調整してください。影の中で大きく変わらず、かつ一部に影が付いた時に認識できる程度を目標に。

画像
lilAvatarUtils のライティングで確認すること。

Project Settingsの設定

画像

Materialの設定が終わったので動画をトレースします。
Shadow Projection を Stable Fit から Close Fit
Shadow Distance を 15(要調整)
Shadow Cascades を Four Cascades から Two Cascades に。
Cascade Splits は適当で良いかもしれません。動画では0が100%です。

Directional Lightの設定

画像

Post-process Volume と共に追加した Light の Type を Directional に。
Shadow Type を Soft Shadows にして、Bias を0、Normal Bias を1に。
Color も白じゃない場合はFFFFFFにしてください。
また、衣装によっては Soft Shadows だと樹の年輪みたいな影になることがあります。その時は Hard Shadows にすると良くなることもあるので覚えておいてください。

画像
Inspectorで右クリックをして、Debugを選択。
画像
Custom Resolution の値を100,000ぐらいの高い数値にします。
Post process の Light の設定はこれで終わりです。
画像
元からあった Directional Light の Shadow Type を No Shadows にします。
画像

Post process を使用する時は Directional Light をOFF/Post process をONに、使用しない場合は Directinal Light をON/Post process をオフで切り替えられるようになりました。

画像
左下に向かって光が出ている状態

Directional Light の位置は関係ないので、アバターの斜め上に置いておくと向きを調整しやすいです。

Mesh設定

影が付くようになりましたが、前髪や帽子、アクセサリーから落ちている影が邪魔な場合があります。特に前髪は FakeShadow で落ち影を付けていると、2つの影が存在することになってしまいます。

画像
こいつが邪魔

これを防ぐには影を落としたくないメッシュを選択して、 Inspector にあるLighting の項目から Cast Shadow をoffにしてください。ONになっているとメッシュの形に影が出来るようになります。
ちなみに間にメッシュがあっても貫通して影を作ってくるっぽくて、頭に乗せてるアクセサリーが顔を暗くする原因になったりします。なんか顔が暗いなと思ったらここ。

画像
画像
無事消えました。

Receive Shadows はそのメッシュに影が出来るかどうかで、発光するアクセサリーやヘイローなどはチェックを外してもいいかもしれません。
また、髪や帽子の Cast Shadow をoffにしても白目に影が発生する場合があります。その場合はリアル影システム同様に白目部分を塗ったアルファマスクで対策します。真っ黒に塗ると一切影が落ちず、暗所で光っているような印象を受けてしまうので、透明度50-60%ぐらいにしたり灰色で塗るなどして影の濃さを調整してください。

おまけ

アバターのサムネイルを撮る

Unity撮影を覚えたことで、改変したアバターのギミックを Gesture Manager で確認、Unity撮影をしておはツイの弾を用意、そのままトリミングしてアバターのサムネイルに使用…の流れが可能になりました。

画像

VRChat SDK はアバターのサムネイルで1200x900を指定してきますが、その通りに作ってもサムネイルの上下が見えないこと、よくありますよね。

画像
右のサムネイルは上下が見切れてしまっている。

色々試した結果、SocialやWebで見えるのはその中の1200x695ぐらいでした。上は105、下は100削られます。
SocialとWebもやや異なっていて、Webの方は下側が見切れる部分が多かった。多分下も105削れてるのかな。統一してほしすぎ。

画像

ということで、サムネイル用のフレームを用意しました。ペイントソフトで開いて、レイヤーの一番上に置いて色を変えたりすればそれっぽくなると思います。
自作発言さえなければ適当に使ってください。

画像
使うとこんな感じ。

参考

Unity Recorder設定

Post-process設定

影設定

協力

かおるこ@kaoruco_vrc(𝕏)

いいなと思ったら応援しよう!

ピックアップされています

VRC 技術

  • 53本

コメント

ログイン または 会員登録 するとコメントできます。
Unity撮影の方法とPost-process|しおん
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1