UnityもVivadoも全然入門できなくて困っています。
まぁ、おっさんが無能なのは置いておいて、今後は URP というのと、 HDRP というのがスタンダードになっていく予定らしいですね。
ということは、新参者のおっさんは取りあえず、 URP と HDRP をやっておけば良いのだと思います。
RP はレンダー パイプラインで、レンダリング処理の流れをスクリプトで変更することが可能(SRP:スクリプタブルレンダーパイプライン )になる模様。シェーダーとかも旧レンダラとは互換性がなく、新規に作る必要があるらしい。ついでに、 URP と HDRP にも互換性がなく、どちらで作るのか最初に決めないとダメらしい。
URP は軽量プラットフォームでも動く物で、HDRPは高性能なマシン(コンピュートシェーダが使えるマシンかな)で動く物。 URP は現在カスタム ポスト エフェクトが作れないらしく、固定の物から選択するしかないらしい。
でも、検索すると公式な手段がまだ提供されてないだけで、URPでもポストエフェクトが作れるらしい。
おっさんがUnity弄ってる目的ってぶっちゃけゲーム作りと言うより絵作りで、おっさんのPCで動けば満足なので HDRP で良い気がするけど。しかし、どうも HDRP は中々難しいらしい(?)ので、先ずは URP を試してみます。
URP のプロジェクトを作る
まずはURP のプロジェクトを作ってみます。新規作成時に「Universal Render Pipelin」を選択しても良いのでしょうけど、何か最初からシーンが入ってて初心者にはわかりにくいので、3Dのプロジェクトから0から作っていきます。
参考: Installing the Universal Render Pipeline into an existing Project
先ずはPackage ManagerからUniversal RP をプロジェクトにインストールするらしい。
Packages: Unity Registry
を選択した後、 universal
で検索し、 Universal RP
が出ていて選択していることを確認後、 Install
インスコしただけだとダメで、URPのレンダー パイプライン アセットを作成する必要があるらしいです。
というわけで、Assetsの下に適当にurpディレクトリを作りました。後は右クリックからメニューを辿って作成します。
「Create」→「Rendering」→「Univarsal Render Pipeline」→「Pipeline Asset(Forward Renderer)」
ふむ?ディレクトリに何か作成された。
作っただけではダメで、これをプロジェクトのグラフィックス設定で指定しないとダメらしい。
Edit →Project Setings... →Graphics→Scriptable Render Pipeline Settingsの◎ボタンと押していって、最後に出てきた画面で作成したアセットを選択。
よくわからないけど、これで完了したらしい。
ポストプロセスを使ってみる
URPだとカスタムポストエフェクトを作れないと書いたけど、そもそもどうやってポストエフェクト適応するんだ?ということでやってみる。
参考: How to configure post-processing effects in URP
まずは、シーンのカメラを選択して、InspectorでPost Processing にチェックを入れる。
次に、ポストエフェクトを適応するために右クリックからGlobal Volumeを作成。Volumeにはグローバルとローカルがあって、特定エリアだけエフェクトを書けるとかしたい場合はLocalを使うっぽいです。
VolumeそのものはあらゆるGemeObjectにアタッチできて、有効なVolumeとWeightから使用する効果を決めるそうです。
効果はProfileというものに設定を保存してるのかな?とりあえず、新規にProfileを作成。
このProfileで適応する効果は、Add Overrideボタンで追加できる。ボタンを押すとポップアップが開いて、その中から効果を選択する。なるほど、この効果を現在は自作できない、ということらしい。
適当にカラー調整のエフェクトを追加して適当に設定。
おぉ、画面が赤くなった。
もう一個Volumeを作成して、こっちは青くする効果にしてみました。で、Weightをぐりぐり弄ると、混色具合が変わります。
なるほどぉ。
これ、複数のカメラ作ったとき、効果を変更するのはどうやるんだろう?
まぁ、必要になったら調べれば良いか。
Shaderを作ってみる
Shaderもこれまで作った物は使えないらしい。具体的に何が違うのか分からないけど、やってみよう。
とりあえず、テンプレートっぽい物がメニューにあったので作ってみる。
で、出てきたのがコレ。
つ、ツライ。なにこれ、こんな分かりにくい物、絶対やりたくない………。ビジュアルプログラミングとか、クソの頂きですよ (現実の私を知る一部の方から「お前が言うな」と言われかねませんが)
………ん?この仮想テクスチャってなんじゃろ。なんかUEの事を調べてたときに読んだ気がする。
調べてみると、やっぱりUEの仮想テクスチャの仕組みと同じっぽい。これが発展すると Nanite になるのですね。
なお、仮想テクスチャはHDRPでしか使えないみたいですね。HDRPも面白そうですねぇ。
まぁ、何にせよ、GUIは難しいし、触りたくないなぁ。
というわけで、次回は0からShaderを書いてみる。