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を導入する必要があります。
導入していない場合、下記ガイドに従って導入してください。
右上のテキストボックスに「Recorder」と入力して Install
確認して、Installされていなければしてください。Updateがあればしてください。
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 右上のカメラマークから設定してください。
unity小ネタ
— 鈴芽 (@_sizuku_vr) May 4, 2024
unityとVRCでアバターの見え方が違うって感じる人は、Gizmosの隣にあるScene Cameraメニューで「Field of View」の値を調整すると本来の見え方に近くなるよ。
確かデフォルトだと60°で結構広角になってたと思うけど、これを24°にすると大体いい感じになるよ pic.twitter.com/v7biFNrwYw
UnityのシーンのPerspカメラはデフォルトだとパースがきついので Field of View を変更するのがおすすめです。VRCで鏡を見てるときと同じような見た目にするには35~45ぐらいに設定がよさそう。 pic.twitter.com/YzxTUykBs9
— mio (@mio3io) May 8, 2022
Main Cameraの設定
Clear Flagsを Solid Color に。Background は透過する場合映りません。
アバターが見やすい適当な色にしてください。
Field of View を前述の Camera 設定と同じ数値にしてください。
撮影
Game viewの設定
Recorder の設定を終えたら Game view の設定をします。
追加した Game view のタブを掴んでUnityの画面外へドラッグします。
Game view が独立して Scene view と一緒に見ることが出来るようになりました。続いてSceneカメラの位置を Game カメラに反映するようにします。
Main Camera を選択した状態で Ctrl + Shift + Fを押すか、GameObject から Align With View を選択してください。
Scene view の Camera が Game view にも反映されるようになります。
ポーズを取らせる
設定を終えたら撮影の準備は完了、早速1枚……
の前に、撮影に使うポーズアニメーションを用意します。
今回はきつねぱんちさんのポーズ集を使ってみます。
好きなAnimation を Test Animation に入れます
大量のポーズを都度 Test Animation にいれて確認するのは結構しんどいので、ねこばこさんが作成した機能をありがたく使わせてもらいましょう。
アニメーションを選択する度にプレビューの視点が斜め上からにリセットされないようにする機能を追加しました~
— ねこばこ (@nekobako) February 11, 2025
ついでに真横、真上、真正面から見るボタンも増えますhttps://t.co/neijSLonKb pic.twitter.com/qaP4u9rLqZ
ポーズを修正する
上で使用したStand_07では問題ありませんでしたが、デカパイアバターは販売されているポーズを取ると貫通する事がよくあります。服やポーズはscale1.0を想定して作られているので自分で修正しなければいけません。
これはデカパイの業(karma)。ひとつ分の陽だまりはscale1.0なんですね。ミルティナちゃんは盛っていなくても貫通することが多いです。
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を移動させることで視線の向きを変えられます。
無事修正することができました。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にして再度撮影した画像が右です。
並べて見ると結構違いますね。これを撮る方法を説明します。
(この設定をせずとも動いたけど、した方が軽いとか見たのでやってます。)
Post-process Layer を追加。
名前はなんでもいいので、 Post process にします。
Light は Post-Process ではありませんが、後で影を付ける際に必要なので追加しておきます。
Profile がNoneになっているので New を押して作成します。
Bloom , Auto Exposure , Chromatic Aberration を追加します。
ついでにこの設定もクリックしてOFFにしておきます。
貫通しない設定があれば教えて下さい。
Bloom
おそらくPost processの中で一番効果が大きいのがこれ。
この効果は、画像の明るい領域の境界から伸びる光のフリンジを生成し、カメラや、目でシーンをとらえるときに、非常に明るい光があふれ出ているような効果を作ります。
要するに明るい部分から滲んだ光を伸ばすようなエフェクトです。
Intensity
そのままの意味で光の強さで、この値が高いほど眩しく光を放ちます。
衣装に合わせて大体0.7~2.0ぐらいで調整するといい感じ。
アクセサリーなどの強度を個別に設定したい場合は Material の「光沢設定」を調整してください。環境光の反射にある Cubemap Fallback の Intensity を調整すると大きく変わります。
輝いて見えるものだヨ
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 (自動露出) エフェクトは、中間調に合わせて画像の露出を動的に調整します。
簡単に言うとハチャメチャに明るい、白飛びするような場面などでいい感じに光量を調整してくれる機能。のはず。
あってもなくても変わらない気もするけど、ある方が落ち着いて見える気がするから使用しています。
Filtering(%)
平均輝度を見つけるため、計算する際に考慮するデータの範囲。
Minimum(EV) / Maximum(EV)
平均輝度が下回る/上回る場合に設定される明るさ。
Exposure Compensation
全体を補正する中間の灰色の値。
0に近いほど暗く、1を超えると明るくなっていきます。0.8~1.2ぐらいで調整するといい感じな気がする。正直 Auto Exposure は自信がないです。
あれこれいじくりまわして自分だけの設定を見つけよう!
Chromatic Aberration
Chromatic Aberration (色収差) エフェクトは、カメラのレンズがすべての色を 1 つの点に収束しないことによって生成される現実世界の現象を模倣します。結果として得られるエフェクトは、画像の濃淡部分を区切る境界に沿って色の “フリンジ” を作成します。
なんだか難しいことが書いてありますが、要するにカメラなどで撮影した時に出来る光のブレ、ボケのことです。これをしっかり説明するには理科の授業と今の銀河の状況を理解する必要があるので、なんとなくエモい感じになる程度に思ってもらって構いません。ONにするとアバターやオブジェクトの端にブラーが掛かり、色収差ってヤツが出てきます。
Spectral Lut
色収差のエフェクトの色を設定できます。◎をクリックしてテキストボックスに Spectral と入力すれば、 Post processing の Package に入ったLUTが選択できます。同規格で画像を作れば好みの色に変えられるそうですが試していないので説明できません。
Intensity
強度。0.15~0.25ぐらいの間で調整してます。
まとめと数値
数値は衣装によって調整した方が綺麗に見えます。概ね Bloom の Intensity と Threshold は結構触ることが多いかも。冒頭の断罪バニーはこの数値より強めになっています。 Intensity 7ぐらいだったかな。
Post process の説明はとりあえず以上です。エフェクトは他にもあるので試してみて、より良い感じになったらこっそり教えて下さい。
影を付ける
リアル影システムを使えばいい話ではあるけど、アバター毎にそれぞれ設定して Untagged と Editor Only をポチポチ切り替えるのも面倒です。
なのでUnityの環境で影が付くようにしましょう。
그림자 비법 대공개!!! 영상대로 따라하시면 유니티로 사진 찍을때 PCSS 없어도 그림자를 제대로 투영할 수 있다!?
— 하루나데브 harunadev (@tw_harunadev) June 30, 2024
사용료는 좋아요와 RT입니다 (?)
(당연히 아바타 매터리얼이 그림자를 받을 수 있도록 설정되어있어야 합니다)
(포즈: https://t.co/slTPa3VSho) https://t.co/NySirVUZrb pic.twitter.com/Pa4Ux8tFq3
하루나데브 harunadevさんのポストを参考に設定していきます。
Spot Light や Point Light で思うように行かず、Avatar Testing Chamberで泣いていたらかおるこさんが教えてくれました。感謝。
まずはポストにある注釈通り、影が出来るように設定していきます。
Material設定
Materialの「影を受け取る」を確認してください。この値が0だと影が付きません。かといって全部1にすると、衣装によってはやかましくなったり暗くなったりします。影色を変えたり、受け取る値を0.4や0.7にする等して調整してみてください。
影の詳細もここで設定したものなります。あまりに暗い影にすると一部のWorldで大きく見た目が変わってしまうので、テクスチャのカラーコードを拾って明るさを-1~4ぐらい下げるか、スポイトで拾って少し下げるなどで調整してください。影の中で大きく変わらず、かつ一部に影が付いた時に認識できる程度を目標に。
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 にすると良くなることもあるので覚えておいてください。
Post process の Light の設定はこれで終わりです。
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削れてるのかな。統一してほしすぎ。
ということで、サムネイル用のフレームを用意しました。ペイントソフトで開いて、レイヤーの一番上に置いて色を変えたりすればそれっぽくなると思います。
自作発言さえなければ適当に使ってください。
コメント