77.3K Views
July 24, 24
スライド概要
2024年4月28日に大阪で開催されたコミュニティイベント、「Unreal Engine Meetup in Osaka Vol 2」の講演で使用したスライドを公開用に再構成したものです。
GDC2024におけるUnreal Engine 5.4 Preview 1の公開を皮切りに、ロードマップやYouTube、SNS、コミュニティなどでさまざまなアップデート情報が流れ、UE界隈は大いに盛り上がりました。
本講演では、このような数多くのアップデートから、(大規模開発はもちろん)ホビーユース&小規模開発でも気軽に導入して作業時短に繋げられる「おいしい機能」をピックアップし、導入や実践利用のためのキーポイントを紹介します。
ご紹介する機能は、
・アンリアルビルドアクセラレータ
・二足歩行型キャラクター自動アニメーションリターゲット
・モジュール式コントロールリグ
・テクスチャグラフ
・PCG Biome Core
の5点となります。
新機能のチェックにお役立てください。
Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/
Unreal Engine 5.4 あの新機能を追え! Epic Games Japan Software Engineer, Developer Relations 湊 和久
このスライドは・・・ ● ● ● 2024年4月28日に大阪で開催されたコミュニティイベント、 「Unreal Engine Meetup in Osaka Vol 2」の講演で使用したスライドを再構成 したものです 当日、PCで実演した箇所を、きちんと手順化しました UE5.4.3がリリースされたのを受け、不具合に関する情報共有を訂正しました そのほか、参考資料へのポインタや、新たなFAQを追加してあります ● 公開まで時間を要し、大変申し訳ございませんでした ●
大阪よ 私は 帰ってきた! 私のイチオシ、豊中市のケーキ屋さん 「ボンマリアージュ」 特にシュークリームが絶品
UE5.4出ましたね!
新機能も改良点も満載! ● ● リリースノート(英語版)10万ワードくらいありましたね 社内にジャスト100ページのフィーチャーハイライト資料があり、 さらにその1ページの中に1~3機能の記述があり、 翻訳しようとしたけど心が折れました
本日は その中から 誰でも使える 5つの生産性爆上がり機能をご紹介! ● ● ● ● ● アンリアルビルドアクセラレータ 二足歩行型キャラクター自動アニメーションリターゲット モジュール式コントロールリグ テクスチャグラフ PCG Biome Core 大企業/大規模開発現場でなくてもOK あなたのおうちで使える ものを選りすぐり
しかし始める前に これだけは言っておかねばならない …… (保身のために …)
UEの機能には3つの段階がある Experimental Beta Production Ready 実験的機能 ベータ 正式リリース そして、これらに伴う 免責的な何か も…
各段階の注意事項 実制作への導入 動作保証 後方互換性 破壊的変更 実験的機能 (Experimental) やめとき せえへん あらへん やるで ベータ (Beta) 自己責任な せえへん あるで やらへん 正式リリース (Production-Ready) かまへん するで あるで やらへん ヨシ! (保身完了!)
では始めましょう!まずはこちらから ● ● ● ● ● アンリアルビルドアクセラレータ 二足歩行型キャラクター自動アニメーションリターゲット モジュール式コントロールリグ テクスチャグラフ PCG Biome Core
アンリアル ビルドアクセラレータ ベータ(一部実験的機能)
小規模/個人開発における 108の鬼門 の一つ ビルド時間
と
シェーダコンパイル時間
頼みの綱は 分散ビルド
立ちはだかるは 予算の壁
朗報
分散ビルド が UEだけでできるようになりました ● ● UBA: Epic謹製分散ビルドソリューション 同一ネットワークに存在するエージェントに仕事を分散、ビルド時間を短縮 ● C++コンパイル(ベータ) ● シェーダコンパイル(実験的機能)
←同僚のPCのパワーでシェーダコ ンパイルすることも... ベータ →わが子のPCでエンジンビルドを することも... 可
分散の仕組み サーバーに ビルドを依頼 Horde Server エージェントを通じて ビルド作業を分散 Horde Agent Horde Agent Horde Agent Horde Agent Horde Agent
一次請け いわば Horde Server 二次請け Horde Agent Horde Agent Horde Agent Horde Agent Horde Agent
家でもできる! セットアップの概要
まず、 PCをかき集めます
うち一台にServerを インストール Horde Server
Unreal Horde Serverのインストーラの入手方 法 ● GitHubの5.4タグページから入手 https://github.com/EpicGames/UnrealEngine/releases/tag/5.4.0-release ● または、GitHubのソースを入手後、Startup.batを実行すると、 Engine\Extras\Hordeにインストーラがダウンロードされる
インストールウィザードは全部デフォルトでOK ポート番号だけ控えておくとよい
分散先PCに Agentを入手させる Horde ServerのWebフロントエンド にアクセスして、Agentのインス トーラをダウンロード Horde Server
そのためにはHorde ServerのPCの IPを調べなければいけない Horde ServerのWebフロントエンド にアクセスして、Agentのインス トーラをダウンロード 例) http://192.168.1.20:13340
Agentを インストール ※インストール時に ServerのIPを改めて指定 Horde Agent Horde Server Horde Agent Horde Agent Horde Agent Horde Agent
AgentをServerに Enroll(登録) Agent側でタスクトレイ アイコンを右クリック >Enroll with Server Horde Server ServerのWebフロントエ ンドで承認 Horde Agent Horde Agent Horde Agent Horde Agent Horde Agent
BuildConfigから Server IPを指定 ビルド設定で UBAを有効に Horde Server ↑BuildConfigの設定方法もWebフロントエンドで調べられる Horde Agent Horde Agent Horde Agent Horde Agent Horde Agent
詳しい日本語チュートリアル記事が出てます! 「UnrealBuildAccelerator(UBA)を利用した分散ビルドのセットアップ方法」 https://forums.unrealengine.com/t/unrealbuildaccelerator-uba/1826434
よくありそうな質問と回答
FAQ Q.分散シェーダコンパイルの話どこいった ● ● ● いい質問ですね! 基本的にはUBAControllerプラグインなるものを有効化するのですが… 先のチュートリアル記事に詳しい情報がありますのでご覧ください! https://forums.unrealengine.com/t/unrealbuildaccelerator-uba/1826434
FAQ Q.IPベースのやりとりだと、 家庭用PCのIPは接続のたびに変わりませんか? ● ● ● Yesです 手っ取り早くDHCPが払い出すIPを固定しましょう ホームルータのマニュアルをチェック!
FAQ Q.Horde ServerのIPが変わりました Agentに記録したServer IPを変更するには? ● ● 現時点でサーバー変更機能なし Horde Agentのアンインストール&再インストールをが手っ取り早いです
FAQ Q.遠隔地にいる開発仲間のPCと 分散ビルド体制を組めますか? ● ● 非推奨です VPNなどを利用して、遠隔地のPCとも分散ビルドを組むことはできます が、データ転送がネックになって速度が上がりません ● なお、同一ネットワーク上でも、PCはなるべく有線接続で
FAQ Q.同じPCにServerとAgentを インストールしてもよいですか? ● ● ● 公式的には非推奨です(実演ではやったけど) Server/Agentともに処理に莫大なメモリとCPUパワーを消費するのが理由 実際にはマシンパワー次第
FAQ Q.子供のPCをAgent化したら 子供のマインクラフトは遅くなりますか? ● ● はい、ビルド始めたら仕事が振られるのでたぶん遅くなります 以下の機能はExperimental段階 ● Mac / Linux 版 ● Idle Detection(PCが暇してる状態の検出) ● 分散シェーダコンパイル Oh...
FAQ Q.ところでクックも重いんですけど ● ● ● 正式リリースされたマルチプロセスクックをお試しください 分散ではなく単一の高性能PCで殴っていくスタイル 詳細は以下の講演資料を https://www.docswell.com/s/EpicGamesJapan/5W1L11-UE5_CEDEC2023_ImproveIteration
● ● ● ● ● アンリアルビルドアクセラレータ 二足歩行型キャラクター自動アニメーションリターゲット モジュール式コントロールリグ テクスチャグラフ PCG Biome Core
二足歩行型キャラクター 自動アニメーション リターゲット 正式リリース
小規模/個人開発における 108の鬼門 の一つ アニメーション
頼みの綱は マーケットプレイス
立ちはだかるは スケルトンの壁 ※アニメーションは特定のスケルトンに紐づくデータであるため、入手した「とあるスケルトン用のアニメー ション」は、別途入手した別のスケルトン用のキャラクターにそのままでは適用できない
そこに持ちいだしたるは アニメーション リターゲット ※とあるスケルトン用アニメーションデータを別のスケルトン用に変換するプロセスのこと。一般のゲーム開 発ではDCCツールに戻って行うが、UEのエコシステムではインポート状態のアニメーションデータを頒布/ 受領する機会も多く、エディタ/ランタイムで実行可能なリターゲット機能が揃っている。
しかし、これが面倒なのであった・・・ ● UE5.3以前のワークフローでは、以下の3種類のアセットを作成しないと、リ ターゲットができなかった ● ソース(流用元)のスケルタルメッシュ(スケルトン)用IKリグ ● ターゲット(流用先)のスケルタルメッシュ用IKリグ ● これらのIKリグ間の変換を定義する、IKリターゲッタ
朗報
ソースのスケルトンとターゲットのスケルトンを 指定するだけでリターゲット可能に これが二足歩行型キャラクター自動アニメーションリターゲット機能 だ! (長い)
操作方法~数クリックでリターゲットが終わる! ①リターゲットしたいアニメーション シーケンスを右クリックして、 Retarget Animationsを選択 ②ダイアログ上のTarget Skeletal Mesh欄で、そのアニメーションを利 用させたい(ターゲットとなる)スケ ルタルメッシュを指定 ③改めて変換したいアニメーション シーケンスをリストから指定し、 Export Animationsをクリック (複数選択可)
どういうカラクリなの? ● 従来、リターゲットには、2種(ソースとターゲット)のIKリグと1種のIKリ ターゲッタというアセット3点セットを手で作っておく必要があった ● 自動リターゲットは、この3点セットを内部的に自動生成し、その場で使い捨 てることによって実現している ● リターゲット処理そのものはUE5.3に準拠 ● ● なお、自動生成されるIKリグとIKリターゲットをアセットとして書き出すことも可能 ● 編集して高品質化するもよし… ● ランタイムアニメーションリターゲットに使うもよし… 自動リターゲット利用によるパフォーマンス上の追加ペナルティはなし IKリグとリターゲッタを自動生成するところまでが新機能の仕事なので
よくありそうな質問と回答
Q.IKリターゲッタを自分で用意しました UE5.3以前のやり方でリターゲットをするに は? ①アニメーションシーケンスを右ク ②Auto Generate Retargeterの あとのプロセスは完全に同じ リックして「Retarget Animation」を 選択 Retarget Animationダイアログが開い たら、Target Skeletal Meshを指定 (ここまでは自動リターゲットの手順 と同じ) チェックボックスのチェックを外して から、Retarget Assetにリターゲッ タをセット。 リターゲットしたいアニメーション シーケンスをリストから選択して、 Export Animationsをクリック
Q. IKリグとIKリターゲットを書き出すには ● ①自動アニメーションリターゲットと同じ手順 で、Retarget Animationダイアログを立ち上 げ、Target Skeletal Meshを指定します。 ● ②「Export Animations」ではなく、「Export Retarget Assets」をクリックします。 ● ③コンテンツブラウザで、2つのIKリグと1つ のIKリターゲッタが書き出されたことを確認し ます。 ● →これを手で修正してより精度の高いリ ターゲットを行ったり、 ● →ランタイムリターゲットに利用するこ とができます
Q. 二足歩行ならなんでもリタゲできますか ● いいえ、見た目二足歩行ならなんでもよいわけ ではありません ● UEが扱える「既知の」二足歩行型キャラク ター骨構造に準拠していると成功率UP ● マーケットプレイスの技術詳細で、 Rigged to Epic skeletonがYesになっている アセットであればほぼ成功するでしょう
Q. 「既知」の骨構造ってなんですか ● 今のところ、IKRigAutoCharacterizer.cppにベ タ書きされている骨の階層構造 ● ここに記述された骨階層構造とマッチするスケ ルトンであれば自動リターゲットできる仕組み ● UE5.4.3時点でUEは、UE標準、有名DCCツー ル標準、モーションキャプチャなど、20種類 の骨構造を「知って」いる! ● ● UE4/UE5マネキン、Daz 3D、Mixamo Character Creator 4形式、 Xsens、mGear、Human IK、Vicon Optitrack、Mocopi、MetaHuman Move AI、Qualisys、 Fortnite Humanoidなどなど... 自社の独自の骨構造もここに追加すれば・・・
● ● ● ● ● アンリアルビルドアクセラレータ 二足歩行型キャラクター自動アニメーションリターゲット モジュール式コントロールリグ テクスチャグラフ PCG Biome Core
モジュール式コントロールリ グ ベータ
小規模/個人開発における 108の鬼門 の一つ リグ
リグの背景 リグ(Rig) 3Dモデルを動かす場合に、すべての ボーンを編集するのではなく、少ない 編集箇所で直感的に動作などを付ける ために作られたコントローラーやコン トロールする仕組み。(ゲームメーカーズ用語集より) リグの利点 腰を落とすと膝を曲げる、こぶしを付 きだすと肘を延ばすなど、ポージング の作業効率が大幅にアップする。 UE上でのリグ UEではシーケンサー機能を用いて、 カットシーンをアンリアルエディタ上 で直接作ることができる。 アニメーターはこれがなければ仕事に エディタ上で、DCCツール並みのアニ ならず、少なくともDCCツール上でリ メ制作効率を実現するために用意され グを構築することになる。 た仕組みがコントロールリグである。
リグの問題点 リガー(Rigger) リグを作成する技術者をリガーとい い、業界では固有の専門職とみなされ る。 リガーいない問題 リガーの業界レアリティはSSR級 どこかにいるが どうしたら雇えるのだろう 教えてほしい (ガンダーラ状態) ゲーム会社では アニメーターやTAが兼任することも リグ作るの大変問題 個人製作や小規模開発ではリガーの登 用は難しい 一方、マーケットプレイスで購入した アニメをリターゲットして使っていて も、IGCなどもろもろのシーンでリグ と向き合わなければならない
朗報
モジュール式コントロールリグ により ドラッグ&ドロップでリグ構築が可能になりまし た ● フルスクラッチでリグを作っても、背骨や四肢 のリグはだいたい同じになる ● ならば、身体各所のリグをパーツ化し、レゴの ように組み合わせることで全身のリグを構築で きるシステムがあればいいのでは(※) ● これを一般にモジュラーリギングシステムなど という ● リグモジュール(パーツ)の種類を増やせば、 いろんな構造に柔軟に対応できる (※) 各ゲーム会社、映像会社単位で独自にモジュール式リギングシステムを 開発していることが多い
モジュラーリグの概要 ModularRigは、従来のControlRigとは 別種のアセットタイプ。 どちらのタイプのRigを編集するかに よって、編集画面のインターフェイス も変わる。 コンテンツブラウザでコントロールリ グを追加する際に、従来型かモジュー ル型かを選択する。 また、スケルタルメッシュを右クリッ クして辿れる関連アセット作成項目で は、ControlRigとModularRigが別々に 示される。
モジュラーリグの大雑把な手順 はじめに、UEは骨構造と命名体系か 左パネルより、モジュールを選択し ら、身体の中心となるSpineの始点を認 て、スロットにドラッグ&ドロップす 識。ドラッグ&ドロップ用スロットが る。 作成され、最適と思われるモジュール が提案される。 モジュールは骨構造と命名規則から自 動的にバインド。さらに追加のスロッ トが作成され、スロットごとに最適な モジュールが提案される。 ベストシナリオでは、人間は言われるがままに モジュールを左から右にドラッグするだけの存在に成り下がる・・・!
モジュールの設定 ArmモジュールはFKベースで設定され ており、コントローラを動かすと手先 だけどこかに飛んで行ってしまう これを訂正するにはModule Hierachy でArmモジュールを選択し、Details でFK IK Defaultにチェックを入れる ゲーム中にFK/IKを切り替えるため に、My Blueprintパネルで公開変数を 作り、バインドすることもできる
モジュラーリグの使用 他システムにとってはモジュラーリグ もコントロールリグの一種であるた め、シーケンサーなどでは直接扱うこ とができる モジュラーリグでは良くも悪くもリグ グラフがない そのため、モジュラーリグのコント ロールにアプローチするには、 Control Rigで入力を露出させて値を書 き込むのがメインになりそう
Animation Blueprintからのアプローチ モジュラーグラフがないため、
よくありそうな質問と回答
Q. どんなスケルトンでもリグが組めますか? ● いいえ、背骨、腕、脚部などの各肢が、それぞれのモジュールリグが想定する骨構造を持っている必要がありま す。 ● マネキンなど、UEでよく知られている骨構造に沿っていると、だいたいうまくいく ● 自動理ターゲットと同じく、マーケットプレイスの技術詳細で、 Rigged to Epic skeletonがYesになっているアセットであればほぼ成功するでしょう
● ● ● ● ● アンリアルビルドアクセラレータ 二足歩行型キャラクター自動アニメーションリターゲット モジュール式コントロールリグ テクスチャグラフ PCG Biome Core
テクスチャグラフ 実験的機能
小規模/個人開発における 108の鬼門 の一つ テクスチャ編集
朗報
Unreal Editor上で 非破壊のテクスチャ編集 ができるようになりまし た
プラグイン有効化 要
やってみよう ~初めてのテクスチャグラフ~ ※要スターターコンテンツ
テクスチャグラフアセットの作成 ① プラグインを有効化したあと、コンテ ンツブラウザの Add > Texture > Texture Graph で、新しいテクスチャグラフアセット を作成 ②テクスチャグラフアセットに名前を つける ③ダブルクリックして テクスチャグラフエディタを起動
テクスチャグラフのインターフェイス Output ノード 選択ノード の詳細 プレビュー
テクスチャグラフの概要 Outputノードの入力ピンに、テクス チャ画像の編集ノードが最終出力する 結果を接続する マテリアルの編集に近いノリ ひとつのOutputノードにつき、ひと つのテクスチャアセットを書き出す そのアセット名と、書き出しフォル ダ、フォーマットの詳細は詳細パネル で設定できる ツールバーでExportボタンをクリック すると、グラフが実行され、テクス チャアセットの書き出しに入る
新しいノードは パレット からドラッグ&ドロップで設置 (コンテンツブラウザからテクスチャを投げ込むのもOK)
初めてのノード接続 ①パレットからTextureノードをド ラッグ&ドロップで設置して「Base Texture」と名前を付ける ②スタータコンテンツの T_Wood_Oak_DをBase Textureノー ドのSourceに指定する ③Textureノードの出力を、Output ノードの入力に接続する また、Outputノードの詳細でsRGBに チェックを入れておくこと
T_Wood_Oak_DのAチャンネルには市 松文様がついている これを題材に、チャンネル分離、チャ ンネル合成について学んでみましょう
チャンネル操作を使う ①パレットから「SplitChannels」をド ラッグ&ドロップして設置 Base Textureの出力を接続して、色を R、G、B、Aの各チャンネルに分解す る ②パレットから 「Combine Channels」を配置して、 下図のように、R、G、Bチャンネルを 「Split~」から受け取る ③CombineChannelsの出力をOutput に接続 これで元テクスチャのAチャンネルに 含まれていた市松パターンを排除でき た
プロシージャルノードを使う ①パレットから「Pattern」をドラッ グ&ドロップして設置 ②詳細パネルで、Repeat X、Repeat Y、Offsetのパラメータを適当に調節 して、床板っぽいパターンを作成
数学ノードを使う ①CombineChannelsの出力ピンからワ イヤーを伸ばして「Multiply」を設置 ②Patternノードの出力をMultiplyのB ③Multiplyの出力をOutputノードに接 ピンに接続して、テクスチャに床材の 続して、これをテクスチャ出力に使う 溝の線を引く
RMOマップを出力する (ラフネス -メタルネス -オクルージョン ) ①パレットからOutputノードをドラッ ②詳細パネルで、出力するファイル名 グ&ドロップし、「RMO」と名付ける をT_Floor_RMOに変更する ③Rにラフネス、Mにマテリアル、Bに アンビエントオクルージョンを設定す るため、CombineChannelsを設置して 接続 そして、PatternノードをBに接続
調整ノードを使う ①色からラフネスを計算してみましょ う。明るいところはツルツル、暗いと ころはザラザラに。 パレットからConvertToGrayscaleノー ドをドラッグ&ドロップし、Multiply ノードの出力と接続 ②明暗を逆にするために、 ConvertToGrayscaleノードの出力 を、Invertノードに接続 ③Invertノードの出力を CombineChannelsのRに差し込む
スカラーノードを使う ①メタルネスは一律、定数で指定する ことにしましょう パレットからScalarノードをドラッグ &ドロップ ②ノードの名前を「Metalness」に変 更し、値を「0.0」に変更してGチャ ンネルに差し込む ③このような紫色のノードは「入力」 ノードであり、Parametersタブで値を 変更できる
ノーマルマップを出力する ①パレットからOutputノードをドラッ ②詳細パネルで、ファイル名の変更だ グ&ドロップし、「Normal」と名付け けでなく、Compressionに る Normalmapを設定 ③Patternノードの出力をハイトマッ プとみなし、NormalFromHeightMap ノードでノーマルマップに変換する
できたあ~
よくありそうな質問と回答
Q. テクスチャグラフは使いまわしできますか? ● ハイ、できます。テクスチャグラフに、ほかのテクスチャグラフをサブグラフとして導入できます。 ● ● TextureGraphノードをパレットからドラッグ&ドロップするか、コンテンツブラウザからTextureGraph アセットをドラッグ&ドロップ TextureGraphの入力ノードが入力ピンに、出力ノードが出力ピンとしてバインドされる
Q. マテリアルを絡めることはできますか? ● ハイ、できます。テクスチャグラフではマテリアルをテクスチャ入力として取り込めます ● ● しかも、Base Colorやラフネスなどを指定して、特定のチャンネルから値を取り出せる マテリアル関数を演算ノードとしてノードネットワークに組み込むことも可能。少し癖があるので注意です。
● ● ● ● ● アンリアルビルドアクセラレータ 二足歩行型キャラクター自動アニメーションリターゲット モジュール式コントロールリグ テクスチャグラフ PCG Biome Core
PCG Biome Core 実験的機能
小規模/個人開発における 108の鬼門 の一つ プロシージャル
Procedural Content Generation Framework (PCG)とは UE5内で完結した汎用プロシージャルコンテンツ生成ツール
立ちはだかるは グラフの壁 PCGグラフのノーディングは、 ちょっとした専門領域ですよね…
朗報
データ設定だけ で植生(バイオーム)生成が ご利用いただけるようになりました
PCG Biome Core とは ● PCGフレームワークを利用した 植生(バイオーム)特化のデータドリブンなプロシージャルパッケージ ● 特徴 ● ● 植生に特化したPCGグラフをEpic側で組んであるので、ノードグラフを組む必要がない ● 植生の特徴や使用する3Dアセットを設定したデータを食わせるだけで森や草が生える ● サンプルデータが充実しており、カスタマイズなしで結構使える ● PCGの標準機能だけで実装された、PCG使い込みサンプルでもある 公式ドキュメントあり(まだ英語?
プラグイン有効化 要 ※サンプルをみるために、コンテンツブラウザのエンジンコ ンテンツとプラグインコンテンツの有効化も忘れずに
PCG Biome Coreの三大データ種 (全部データアセット ) Biome Definition(定義) Biome Asset(アセット) Biome Generator(生成器) 主に名前と色を定義する。 バイオームで分布させるメッシュア セットと、その分布具合を決定する ジェネレータを指定 グラフとデータで実装され、バイオー ムの領域でどのように生成ポイントを 撒くかを決定する 管理かデバッグ用の設定に見えるが意 外と重要(後述)なので、必ず一意に設 定する。 既存のものを流用すればよい
PCG Biome Coreの基本的な利用法 基本的にはBP_PCGCoreというPCG Volumeの一種をマップに配置し… そのボリューム内にバイオーム区分を つくる、Biome SplineやBiome Volumeを設置して… Biome DefinitionとBiome Assetを指定 すればよい マニュアルにもこう書いてあり、実際これで動作する
でもそうなってなくない? でもサンプルのBP_PCGBiomeVolume をみてみると… Definitionしか設定されていない! 省略すると、Setupの内容で 植生が実行される サンプルのマップでは、Definitionと Assetの紐づけを、Setupsというグ ローバル設定で行っている
グローバル設定? そういえば… ● 黄枠の部分はBiome SplineやBiome Volumeで 直接指定した区域なので生えるのは分かる ● なにも指定していない部分(マップの大半) に、それらしく植生が分布しているのはなぜ? ● ランダム分布ではなく、明らかにマップがいく つかのバイオームに区分されている
Debug - Display Biome Cache オン! ● バイオーム定義の割り当てを決定するバイオー ムキャッシュを可視化すると… ● SplineやVolumeで指定した地域以外の部分も バイオームが区分されている! ● どういうカラクリなの!?
実はサンプルマップでは、 BP_PCGBiomeCoreのBiome Texture Projection設定により、事前準備した バイオーム塗り分けテクスチャを投影 している そのため、最終的なバイオームキャッ シュには、投影ぶんと、Biome Spline とBiome Volumeによる設定ぶんの、 合成となる Biome Definitionの色設定が重要なの はこのため。 (バイオームキャッシュの実態は、一種の色塗分け 情報だといえる) PCG Biome Sampleは、このようなテクスチャ投影技を 他でも使っているので(投影機能は素晴らしいけど)サンプルを読み解く際は注意
Mountainのバイオームをみてみる 生えてるところとなんか生えて ないところがある木 平地にしか生え ていない木
Biome Assetのフィルタ設定をチェック 低密度 高いところには生えない 水辺の近くには生えない
Biome Assetのフィルタ設定をチェック フローが高くないと生えない 陽当たりが悪いところには生えない
サンプルフィルタの注意点 Flow
サンプルフィルタの注意点 Sun Exposure
サンプルフィルタの注意点 どちらも実はテクスチャ投影
どうなってるの ● 「水辺判定」「陽当たり」など、いかにも植生 に関係したフィルタ設定だが、実はPCGの新機 能を生かしたデータドリブン設定の一つ ● フィルタグラフを指定し、そのグラフの出力を PCGのアトリビュートに転写して使う ● PCG Biome Coreのサンプル含まれるフィルタ の中には、実装の都合上、そのままでは汎用性 が低いものもある
覚えて帰りたいポイン ト ● 高度、密度は汎用 ● 水辺からの距離の「水辺」は、海抜指定による 判定なので、データ依存なく動作する ● FlowとSun Exposureは情報をベイクしたテク スチャの投影 ● 現時点では、Landscapeを編集しても 反映されない点に注意!
よくありそうな質問と回答
FAQ Q.日本語エディタ環境だとPCG Biome Coreが 動作しないと聞いたのですが ● ご安心ください 先日リリースされたUE5.4.3で修正されました
FAQ Q.PCG Biome Core Sampleのマップが 白飛びするんですが… ● プロジェクトを作成する際、Quality Presetに Scalableではなく、Maximumを指定すると防止できます
まとめ
まとめ ● UBAで自宅でも分散ビルドが可能に ● 自動アニメーションリターゲットは既知の人型キャラならほぼ一発 どんどんアニメーションの再利用を ● ドラッグ&ドロップのモジュール式コントロールリグのおかげで、 買い付けたアセットが既知のスケルトンであれば、容易にリグがつけられる ● テクスチャグラフで簡単なテクスチャの加工を非破壊で実施可能 ● PCG Biome Coreは将来性有望
ご清聴 ありがとうございました 2023 Private & Confidential