UnrealEngine5 でライティングを物理ベースにする

事前準備

自動露出の拡張にチェック

自動露出の拡張にチェックする これによりDirLightのLuxが物理ベースに設定できる。



この2つの表を参考に自動露出の値を決める。おすすめは110000.0Lux と 自動露出 Max 14 Low -2の組み合わせが個人的によかった。
この設定表はUnityのものだが、現実的な値らしいのでほとんど変わらない。 らしい。


そして設定するとこんな感じになった。

真っ白になった

仕方ないので、おとなしくAsset を使う。

公式にSky and Sun というプラグインがある。それを導入した方が早かったりする。

UnityのHDRPだとうまくいったんだけどなあーと思う。

ちなみにUnityとUE どちらもなぜか月夜を表現できない。 ちょっと中途半端。

UE5で流体を操る

プラグイン→NiagaraFluidsを探してチェック→再起動

 

このままだと何故か表示されなかったので、

 

プロジェクト設定からMeshDistanceフィールドを有効化にチェック

 

プロジェクト→エンジン→レンダリング→グローバルイルミネーション→ダイナミックグローバルイルミネーションからLumenに設定

 

Niagaraウインドウを再コンパイル すると表示される

 

注: SimがCPUになっている場合三角の注意表示がでる、問題を修正ボタンを押すと自動でGPUに直してくれる。

 

注: emitterたちのバウンディングボックスは設定しておいた方がいいかもしれない

 

現時点で5.1上で動かなかったので5.0で試してみたところ動いた。

 

itch.ioでゲームをアップロードする方法を調べた

Unityでビルドしたwindows向けのゲームをboothのように手軽にアップロードしたい場合、そのまま

このボタンでアップロードしたくなるが、調べたらこのボタンはDLC等添付したい場合に使うらしい

さらに調べたらButlerを使用する方法がいいらしいので使ってみた

1.Butlerをインストール
2.コマンドプロンプトを開く
3.itch.ioにゲームのページを開設する
4.アップロードしたいzipファイルまでのパスとitch,ioのゲームページを開きそのURLを組み合わせ作成する。最後に:win または:macをスペースを付けずにつける
5.コマンドをたたくとitch.ioが許可を求める、その悟しばらくするとアップロードが完了する。

参考動画:
www.youtube.com

PlayMakerで非同期ロードを実装し、ロード画面中の画面を作成する方法

備忘録:
PlayMaker で非同期ロードをサポートする際に気を付けること、この例では複数のシーンをロードした。
たまにしか作らないのでたまに忘れてしまう。






以下は非同期ロードの中身


Hash値でActiveを行うこと、この例では同じHash値で制御しているが、別々のHash値にしてあとからAllowしてもいいかもしれない。
DoneEventが便利だと思う。もちろんDoneをフラグで管理してもいいかもしれない。


AllowSceneActivationの中身。
Load Scene Asynch ( Load Scene Async なのにhがなぜかある)後、Allow(許す、許可する) すると処理が進む。


実装後の挙動:
www.youtube.com

unityのimposter系アセットの運用方法

imposter系のアセットには

Runtime Imposterや、Amplyfi Imposterなどが有名だが、LODとどう使い分けると良いのか最近検証した。

 

Imposterとは、簡単に言うとフォトグラメトリみたいなもので多角的に撮影した写真を360度どこ見ても3Dオブジェクトっぽいよねですませる方法だ。

 

もちろんそのやり方だと破綻する例がある、例えば細長いものやでかいもの、地形などが該当する。

 

なので球体、岩、小物類、をImposterにして、

ほかはRantimeLODなどで誤魔化すほうがいいだろう。

 

Imposterは、あくまで背景用で視点を360度回転させることがないモデルに向いている、最近そう感じた。 

 

ついでに、この特性を利用したら3Dっぽく見える2Dがつくれる

 

 

sketchfabに3Dモデルを登録して販売しようとした

結果は、出来なかった。

 

substancePainter→Exportですぐにパブリッシュな3Dモデルを販売公開出来るらしいのだが、

 

日本ではPayPalが対応していないため、出来ないとのこと。

 

法律関係とか国のいざこざが関係しているとか色々言われてはいるが、

 

日本でメタバースを流行らせたいなら過給的速やかに対応すべきではないだろうか?

 

(出来てる人も一応いるのかな?

Unity2021のSift_jis 問題

UnityでGetEncordingを使用する際日本語を使いたい場合、Sift_jisを指定しないとファイルストリームのデータが文字化けする。

 

仕方なく使用するが、今度はビルド後実行時エラーとしてエラーが出る

 

どうやらl18dllなるものをAsset以下に入れるそうだが、うまくいかない

 

さらに調べたらPlugin x86にいれるとうごくそうだ。

なのでx86のフォルダをPluginに作成しそこにl18関連のdllを全て入れた。

 

インストールされたUnityフォルダのwin32から引っ張ってくること。

 

備忘録として残す。