Unityを使った3Dゲームの作り方(かめくめ)ゲーム開発エンジンUnityを使った3Dゲームの制作に参考になる情報を公開しています。2018.11.16今回はUnityのPostProcessing機能のVersion2について見ていきたいと思います。Effectsに替わるPostProcessingStack機能について見ていきましたが、こちらはPostProcessingのVersion1でした。UnityのStandardAssetsのImageEffectsに替わるPostProcessingStackUnityのStandardAssetsのImageEffectsは便利ですが効果を複数組み合わせるのが不便です。新しいバージョンのUnityではPostProcessingStackをお勧めしているのでそちらを使ってみました。gametukurikata.com2017.06.28Version1からVersion2になったことで設定の仕方等が変わっている為、改めてPostProcessingの機能を見て使ってみたいと思います。個々のエフェクトについては設定項目が変わるものの効果についてはVersion1と同じものもあるので上のリンク先の記事も参照してみてください。Layerコンポーネントを取り付けレイヤーを指定してどのポストプロセスの設定を使うかを決めます。Volumeを使うかを指定するという感じですね。PostProcessingStackのV2は以前からあるビルトインのレンダリングパイプライン(前から使っているやつ)かURP、HDRPで使用する事が出来ます。URPは今後は未対応になるようです。レンダリングパイプラインに関してはUnityのプロジェクト作成時のテンプレートについてUnityのプロジェクト作成時にいくつかのテンプレートを選択する事が出来ますが、その違いを見ていきます。gametukurikata.com2018.11.01を参照してください。HDRPではHDRP用のポストプロセスがありますのでそちらを使用します。PostProcessingV2を使ってみるそれではPostProcessingのV2を使ってみましょう。HDRPでポストプロセスを使う場合はPostProcessVolumeとPostProcessLayerの設定は必要ありませんのでHDRP用の設定まで項目を飛ばしてください。Volumeを選択します。VolumeがPostProcessingの設定をするPostProcessingProfileを設定するゲームオブジェクトになります。Volumeコンポーネントを取り付けても同じように作れると思います。Profileを設定する事になります。Profileにします。Profile項目が二つ表示されるので以前と違うファイルの方を選びます。effect...ボタンを押すと個々のエフェクトの設定を追加する事が出来ます。Volumeのインスペクタの設定をしましょう。Volumeだとわかるレイヤーを設定します。Layerからこのカメラで使用するポストプロセスの機能をレイヤーで指定する事になります。Profileをドラッグ&ドロップします。Colliderの範囲内でだけ適用したい時に使用します。Colliderの範囲に指定するカメラが入った時にポストプロセスが適用されます。Volumeゲームオブジェクトの範囲内にカメラが来た時だけポストプロセスの効果が表れます。Volumeの設定値を見ていきます。Distanceになります。Weightは効果のウエイトPriorityは優先度で数値が大きいほど優先度が高くなります。ProfileはポストプロセスのProfileを設定します。Volumeゲームオブジェクトの設定が出来ました。次はカメラの設定をしていきます。Layerを取り付けます。Volumeゲームオブジェクトで設定したPostProcessingレイヤーを設定します。Blendingはポストプロセスエフェクトのブレンディングに関する設定で、Triggerは何をトリガーにしてブレンディングするか?Layerはブレンドするポストプロセスボリュームのレイヤーを指定します。Anti-aliaslingはアンチエイリアシングはギザギザを滑らかに表示する設定です。GitHub.github.comを参照してみてください。Propagationを有効にすると無効なピクセルが発生した場合にポストプロセスが適用される前に黒のピクセルで置き換え不具合が出ないようにします。Toolkitは指定したモードの画像ファイルを出力するボタンです。EXR...はカメラの現フレーム映像を画像ファイルに保存します。Frameはそのままカメラに映った画像をエクスポートします。post-processingはPostProcessingを無効にした画像をエクスポートします。Grading(Linear)はカラーグレーディング(色補正)が行われる直前の画像をエクスポートします。Grading(Log)はLogエンコードした画像をエクスポートします。Gradingは実際のカメラを使っている人は詳しいかも(わたくしにはわかりません)。Layerを取り付けポストプロセス効果を加えた描画をするカメラが出来上がりました。Emptyで空のゲームオブジェクトを作成し、名前をPostProcessとします。ComponentからScripts→UnityEngine.Rendering→Volumeを追加します。Profileを選択します。ProfileをPostProcessゲームオブジェクトのVolumeのProfileに設定します。Overrideボタンを押してPost-processingからポストプロセスのエフェクトを追加出来ます。これでHDRP用のポストプロセスが使えるようになります。Profileに設定する事が出来る個々のエフェクトについて見ていきましょう。Occlusionは環境光を遮って部分的に暗くしリアルな影の効果を出します。ObscuranceはSRPを使ったモードです。Onlyはアンビエントオクルージョンが周囲の照明のみに影響を与えます(Defferedレンダリングパイプライン+HDRが有効の場合のみ)。Obscuranceを使ってみましょう。上のような設定で壁や地面の繋ぎ目等に影が差しました。上のような設定でアンビエントオクルージョン効果が出ました。わたくしの環境のせいかわかりませんが、Colorは色を変えても特に変化が出ませんでした。Exposureは明順応(暗い所から明るい所に移動)と暗順応(明るい所から暗い所に移動)効果を出すための設定です。明順応で言えば暗い所から明るい所にパッと出ると目がくらむような感じになって明るい所に目が慣れるまで少しかかります。Exposureです。Exposureは露出に関する設定です。Filteringは平均輝度を計算する時の範囲を指定します。Compensationはシーンの中間のグレー値Adaptationは適応の設定です。TypeのProgressiveの場合は徐々に適応させ、Fixedは一気に露出が変わります。Downは明るい所から暗い所への適応速度それでは設定して試してみましょう。効果がわかりやすく極端に設定してみました。上のような感じで徐々に順応していくことがわかりました。BloomBloomは光の効果を加えます。Bloomはブルームの設定です。Kneeは下限と上限の閾値の間を緩やかに移行させる設定で、0はハード閾値、1はソフト閾値Clampはブルームの量を制限する為のピクセルの制御値を設定します。Diffusionはスクリーンの解像度に依存しない方法でベール効果の範囲を設定します。アナモフィック比を指定し、アナモフィックレンズの効果を出す設定です。Colorはブルームの色合いを指定します。Modeにチェックを入れるとブルームの質を落として処理を早くします。Dirtenessは汚れの設定です。Textureは汚れとして使用するテクスチャを指定します。Intensityは汚れの強度です。それではBloomを設定し試してみましょう。上のような感じになりました。汚れのテクスチャにまったく関係ない矢印のテクスチャを設定しているので変な感じになってますね・・・。Aberrationは色収差でフリンジ効果を出します。Lutはカスタムのフリンジカラーに使用するテクスチャを指定。Modeにチェックを入れると効果が低下しますが高速処理になります。上のような感じで手の辺りにフリンジ効果が現れました。Gradingは色合いや輝度を調整する事が出来ます。Range(LDR)は低精度、Externalは外部で作成したLUT(LookUpTexture)を使ったモードになります。LookUpTextureはLUTのテクスチャを指定します(LDR)ContributionはLUTのどの部分が貢献するか(LDR)TonemappingはHDR画像を適した範囲に再マッピングする設定です。Systemを使って、Customは設定値を使って再マッピングします。Balanceは白色を白く見せる為のバランス調整?の設定です。Temperatureはカスタムの色温度を設定します。Tintは色合いを補正します。Toneは全体の調子の設定です。Post-explosure(EV)は全体の露出の調整です(HDR)。Filterは色を掛けます。Shiftは色合いをシフトします。Saturationは色の強さを飽和します。Contrastは輝度の調整です。MixerはRGBのチャンネル毎の色の調整設定です。RGBのチャンネルを選択し、それぞれのチャンネルでRGBの影響を調整出来ます。Trackballsは色相を色調の範囲内にシフトさせる為の設定です。Curvesは色相、彩度、明度をカーブを使って特定の範囲内に制御する為の設定です。実際に設定をして試してみましょう。上のようになりました。Fieldはカメラのピントが合っている部分だけを詳細にし、他をぼかす効果です。Sizeはぼかしのサイズ設定です。上のように焦点が合っている部分ははっきり見え、それ以外はぼかされています。GrainGrainは粒子を画面上に表示させる効果があります。Colorsにチェックを入れると色付きの粒子が表示されます。設定をして試してみましょう。上のようになりました。Distortionはレンズから見た歪みのような効果を出すことが出来ます。設定をして試してみましょう。上のようになりました。Blurは動きのある物体をぼかすことが出来ます。Angleは回転シャッターの角度で値が大きいとぼかしが大きくなります。上のようになりました。Reflectionsは反射面に微妙な反射効果を出します。Pipeline(SRP)では利用出来ず、依然のパイプラインのDefferdでのみ使用できます。Presetは品質のプリセットを選択出来ます。Customの場合は設定値を設定します。実際に設定をして試してみましょう。上のようになりました。VignetteVignetteはカメラの外枠の方にカバーを被せたような効果を出します。ModeのClassicは通常のビネット、Maskはマスクを被せたような感じになります。Colorはビネットの色Centerはビネットの中心点(Classic)Intensityは強度(Classic)Smoothnessは境界の滑らかさ(Classic)Roundnessは四隅の丸みの設定で数値を大きくすると丸みが大きくなります。(Classic)Roundedにチェックを入れるとウインドウのアスペクト比にかかわらず縦横の比率が同じになります。(Classic)Maskはマスクに使用するテクスチャを設定(Mask)Opacityはマスクの不透明度(Mask)それでは設定して確認してみましょう。上のようになりました。終わりにPostProcessingのVersion2の機能について見てきましたが、Version1の設定の仕方と多少変わるものの機能としてはほとんど同じですね。Graphのブロックの個々の機能について見ていきます。エフェクトUnityのVisualEffectGraphとShaderGraphを使って剣の軌跡エフェクトを作成するBlenderとUnityのVisualEffectGraphとShaderGraphを使って剣の軌跡エフェクトを作成していきます。剣の軌跡のメッシュはBlenderで作成し、VisualEffectGraphで剣の軌跡エフェクトを作成し、ShaderGraphで軌跡エフェクトの見え方の調整を行っていきます。エフェクトUnityで主人公が通った場所の草をなぎ倒すUnityで主人公が通った場所の草をなぎ倒す機能を作成していきます。Terrainのメッシュ上にVFXで作成した草を配置し、風によって草をなびかせたり主人公が通ったら草がなぎ倒されるようにします。Graphのノード、コンテキストの個々の詳細を見ていきたいと思います。エフェクトUnityのエフェクトを使い、敵キャラの出現をわかりやすくするUnityのエフェクトを使い、敵キャラの出現をわかりやすくします。エフェクトにはパーティクルをプレハブにしたものを使用し、スクリプトから敵の位置にインスタンス化していきます。エフェクトUnityのパーティクルの粒子1つ1つの衝突をスクリプトで検知するUnityのパーティクルの粒子1つ1つの衝突をスクリプトで検知する事が出来るようにします。Unityのシェーダーグラフについてバンプマップ、ノーマルマップ、ハイトマップ、ディスプレイスメントマップについてホームエフェクトスポンサーリンクサイト内検索が出来ますプロフィール管理人のかめくめちゃんです。(-_-)メールはこちらにお願いします(記事に関する質問は送らないでください、返信は期待しないでください(._.))。kamekumechan@gmail.comいずれはSIRENやバイオハザードみたいなアクションゲームを作りたいと思っています。ゲームシナリオが書けないので面白いゲームはなかなか作れません・・・・。(^_^;)名前の由来はカメが好きだからです。プロフィールになってないな・・・・(-.-)Unityをこれから始める人へこれからUnityを使ってみようという方はUnityを使った3Dゲームの作り方(かめくめ)の歩き方Unityを使った3Dゲームの作り方(かめくめ)で、はじめてUnityの学習をする時の当ブログの記事を読む順番を書きました。機能を積み上げていく形になるので便利かも?gametukurikata.com2019.06.21の記事に記載の順番で見て頂くとUnityの基本的な使い方がわかり、簡単なアクションゲームや、TPSゲームの作成までが出来ます。自作タイピングゲームタイピングゲームを作りました。WebGL形式なのでPCのブラウザで遊べます。以下からプレイ出来ます。FinalTypingUnityを使って作成したローマ字入力のタイピングゲームです。gametukurikata.com2022.01.02お知らせ2023/01/24個人的にUnity2022.2.3f1をインストールしました。2022/10/14UnityのIKを使って足の位置と角度を地面に合わせる機能Unityのゲームでキャラクターの両足が別の高さの地面の上にある時にそれぞれの足をそれぞれの地面につけるようにする機能を作成しますgametukurikata.com2016.04.11機能を少し修正しました。2020/09/19コメント欄は閉鎖しました。今までコメントを投稿してくださった方はありがとうございました。(^^)/2018/08/07わたくしに出来る事は既に記事にしてあるので、ブログ右上の検索窓を活用してください。(._.)またブログの最初の方の機能を積み上げていく記事に関しての疑問点は当ブログ記事のスクリプトの説明と寄せられた質問への回答Unityを使った3Dゲームの作り方(かめくめ)の機能積み上げ形式の記事のスクリプトの説明と寄せられた記事の機能についての質問への回答を掲載しています。gametukurikata.com2019.08.01Unityを使い始めたばかりの人がつまづきやすい点を解消するUnityを使い始めたばかりの人が結構な確率で陥る不具合や疑問点を解消していきます。基本的にはブログに寄せられた質問への回答という感じです。gametukurikata.com2018.12.04も参照してみてください。小・中学生によるデジタルコンテンツ開発の全国大会ですuycc.unity3d.jp2022年大会の先行エントリーが開始されているようです。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。記事の内容に質問がある方へUnityを使った3Dゲームの作り方(かめくめ)の歩き方UnityのJavaScriptとC#を読み替えてどちらでも対応出来るようにするホーム検索トップサイドバータイトルとURLをコピーしました。