【UE5】アセットの非同期ロード

今日になって、【UE5】クックとかベイクとか【UE5】シッピングとパッケージ化、なんてのを書いたのはこれのため。

マテリアルでもテクスチャでも、ランタイムに弄るとなると問題が出てくることがあるらしい。エラーにはならないようだから放っておいてもいいのかもしれないが、どうせならちゃんと作っておきたい。

実は今日、クックしてシッピングしてパッケージ化して動かしてみたら、最初だけ懸念していた現象が出た。2回目以降はキャッシュされたせいか現象がでなくなった。面倒だからパソコンの再起動をしてまで確認していない。再起動したとしても開発用のパソコンはSysMainを動かしているので、やっぱりどこかでキャッシュされている可能性がある。しかし、この現象が出る場合と出ない場合があるのは情報通りだった。次に書いてある。

この記事を辿っていくと、「アセットの非同期ロード」に辿り着く。

”ランタイムに色を変える”という話はググるといくつか出てくるが、それらは予め用意しておいたマテリアルを入れ替えるものだったりする。マテリアルそのものを弄っているわけじゃないんだ。だから問題がでない。または出にくい。パフォーマンスも落ちないはず。

クックは依存関係に関わるそうだし、ベイクは(スタティックメッシュだけ?)事前に計算しておくことだった。パッケージ化の仕方によっては更にややこしくなって、スムーズにアセットが読み込めるとは限らなくなる。だとしても、この時はこうする、と決めておいたものなら高速で処理できるようになっているようだ。エンジンが事前に処理できるからだろう。しかしランタイムに初めて何をどう使うのか決めるとなると、エンジンが事前にどうこうできなくなる。だからそこは自分で組んでやらないと上手く動かない場合が出てきてしまうわけだ。
プロジェクトの設定にテクスチャストリーミングがどうこうの設定があったりするが、その辺を弄るだけじゃ不十分らしい。

キャラクター作成に随分時間が掛かってしまうが、これを放っておくわけにもいかないから、もう少し頑張る。

追記。
もしかしたら間違っていたかもしれない。ハード参照とソフト参照の違い?でも場合によっては予めアセットを読み込んでおく必要はあるんだとは思う。

この記事が気に入ったらサポートをしてみませんか?