UNREAL FEST EXTREME 2020 SUMMERメモ

メモです

猫でもわかるControl Rig - UE4.25版 -

スクリプト可能なリギングシステム

いままでのアニメーションワークフローでは

DCCツールでモーション作って FBX出して UE4で読んで確認
イテレーションに問題がある
更に外部のモーションキャプチャーツールなどとの連携が増えると更に難しくなる 
つらみ

Control RIgなら

UE4上で編集調整できてしまう
一から作ることも、微調整も可能
C++で独自のノードで機能追加もできる

AnimationBPとちがうの?

AnimBPに比べてバーチャルマシンがすごく軽いメリットが有る

使い方

Rig Graphでリグとキャラの関連付け
Rig Hierarchy で階層構造
Control RigはSkeltalアセットに依存していない骨の名前と階層が同じなら流用可能

アセット作成

Control Rigプラグインを有効化
右クリックメニューから新規作成
ControlとSpaceを積んでいく
ControlはViewport上で触って動かすモノ
SpaceはControlの座標系制御のオブジェクト
動かした結果をノードによってボーンに反映させる
BeginExecuteでControlの位置などをボーンにセットする

ちょっとだけわかった(Sequencer版)




Epic Online Services でできること

EOSでなにができるのか
C++C#IOSSDKをサポート
EOSSDKは現在UEとの特別な連携はなく、ほかのエンジンからの利用と同様にSDKを利用する

全部知ってたらTwinmotionマスター!TwinmotionのぷちTips・テクニック

Twinmotionとは

UE4ベースにした建築建設都市計画造園のリアルタイムビジュアライゼーションソフト
いろいろなDCCツールで作られたデータをインポートして少ない工程で利用できる

user library

自分のアセットを登録して様々なプロジェクトで利用しやすくする仕組み

ライト強度の手入力

普通はスライダで調整するところを数値直接入力もできる

Auto Save

一定時間で自動保存等が設定できる

Grass Fading

芝の表示距離の調整(LOD等)

空の追加

パノラマ画像で空を設定できる
UV展開されたドームオブジェクトが公式にあるので使うと楽(tmiファイル(user libraryデータ)で公開されている)

Reflection Probes

SSRでカバーできない範囲のリフレクションをやりたい場合

Reflection Volume Resolution

鑑などの反射像の解像度を変更する(デフォルトは64x64くらい)

Custom PathとParticle

パス上にフォグやパーティクルをおける

Angle Snap

角度のスナップ単位を設定できる

viewsのレンダリング

平行投影viewなど
ExposureやWhiteBallanceなども変更可能

花の咲く植物

季節ごとのルック切り替えできる

見えない壁

BlockingVolume
納品時に作り込んでいない場所をブロックするとか

Bookmark

オブジェクト出現アニメーション

sections volumeでオブジェクトの可視な空間を制御できる(Volume内でにあるときは見えないとか)

shadowの設定

描画距離とか色々

viewportで操作

carガチャ(リセマラ)

ガチャ

オリジナルデカール

pngで透過付きデカールなど
mp4などの動画も使える

presenter昨日をpadで

Bim motionモードではGamePad操作できる

UE4エンタープライズコンテンツを制作する際のワークフロー ~Cutting-Edge Test Driveを題材に~

エンタープライズ案件50件くらい
これからUE4エンタープライズで使いたい人
開発とワークフローへの理解を深める
当たり前のことを定義

用語

エンタープライズ:非ゲーム領域
CETD:インタラクティブデモとして開発した Cutting-Edge Test Driveの略
アーティスト
エンジニア
開発フェイズ;段階

UE4の利用用途

ゲームから建築自動車輸送放送ライブテレビトレーニング&シミュレーション等

エンタープライズ案件ざっくり分類

インタラクティブコンテンツ系

バーチャルモデルルームや職業トレーニン
体験ベースのもの

静的映像系

建築映像やアニメ等

シミュレーション系

都市シミュレーションや自動運転、災害、AI教師データ生成等
UE4に求められているのはビジュアライズ部分

案件タイプ

エンジニアはインタラクティブコンテンツ系とシミュレーション系が多い
開発期間は3~6ヶ月くらいが多い
開発人数は1~5人くらいが多い

非ゲーム案件の難しさ

要件定義が難しい 技術レベルと要望のすり合わせ
特殊機材や外部ツール連携が多い
制作側が該当業界への理解が薄い 業務フローや用語常識が違う
発注側が開発の流れへの理解が薄い UE制作フローにも

制作フロー

要件定義 技術検証(機能・アート策定) 制作(ほぼ全実装) 詰め

要件定義フェイズ

プロジェクトの目的共有
物量の精査
技術的懸念点の洗い出し(コレによる振り幅が大きい場合は開発計画を分割することも考える)
アートのおぼろげな方向性を提示
「経験が必要なフェイズ」

CETDの場合
目的は自動車業界を中心にUEの活用例を示す
やりたいことはMegascansを使い倒す
製作期間は2ヶ月
メインスタッフはアーティスト2エンジニア1 + 外部スタッフとしてUIとSE

技術検証フェイズ

機能策定 画面遷移
アート策定 テイスト クオリティライン
技術検証 外部機器の検証も試しておく 後のリスクを減らす

どういう画面があってどこがどうつながっていてというのをまとめる
カットリストを作る(映像系の考え方) どういう画面でそれぞれ何をしたいのかどんなアセットが必要か

制作フェイズ

とにかく手を止めずに作る
All-In 全実装を目指す
処理負荷気にしておこう 3割程度の高速化はできるがそれ以上はつらすぎるので注意
ストレージサイズも注意 CETDは2.9GBくらい
スケジュール例
f:id:nagakagachi:20200718160716p:plain

詰め

クオリティブラッシュアップ
最適化 
CETDでは車の質感向上が重要だった
見せるための便利機能の追加等(スキップ機能とか)
粗を潰していく

CETDでは反射物を増やすため直接映らない天井を改良
レイトレやりたかったが4.24の機能では難しかった

f:id:nagakagachi:20200718161226p:plain
各フェイズの割合

案件タイプによる特徴

インタラクティブコンテンツ

とにかく早く動くプロトを作る

映像系

映像を作るパイプラインを構築 DCCツール等 詰めの段階に気合が必要

シミュレーション系

一部モジュールとしてのUEを意識する

これからUE4を始める方へ

なれないうちはチーム連携より個人技 UE4だいすき人間を一人つっこんでおく
プロトタイプは強引でも早く作れるのでつくる

質疑

値段の付け方 初めてのお仕事は数百万でここまでやりましょうという契約
業界ちがいによる予想外の問題が出てくる
契約はフェイズ0とフェイズ1の間で確定が多いがフェイズ0で金額感も決めておくのが多い
フェイズ0の技術検証で出てこなかった問題 外部機器などので機器の用意ができない場合なども多い
ファイルサイズ10GBから2.9GBの削減は主にテクスチャを対象に減らしたのが大きかった
CETDは倍の解像度で出してキャプチャしてた
業界違いの話 建築案件では建材の質感や寸法へのこだわりがすごい ちょっとした草や木の揺れで喜んでくれる ツボがちがう



Bloodstainedで世界のバッカーの期待に応えたUE4事例紹介

ユーザー参加型のゲーム開発
バッカーという個人支援者の要望も取り入れる

ユーザー参加

途中経過をバッカーに報告
ユーザー考案の敵やアイテムなどを組み込み
様々なストレッチゴールに対応 バッカー支援額の量によって変化する目標

どんな期待に答えたのか

描画は 60fps達成
いろいろ

60fpsのためにしたこと

規約

ルールを決めましょう
画面ポリゴン数は30万 背景15万キャラ15万
キャラ背景の奥はunlitにする 画面の30~40%はunlit
規約づくりは実は失敗しながら泥仕合

画面の例教会エリア
背景キャラ合計18万くらい
描画設定
 ForwardRendering
 OcclusionCulling
 Bloom
 FXAA
 影の品質2
計測結果
 実機に近いPCで計測
 実機で計測
 実は半年ほど実機計測してなかった!さらに8倍強いPCで計測してた!

ポリゴン数削減(背景)
 背景は標準LOD機能 装飾はモデリングじゃなくてテクスチャ? OcclusionCulling大事
  LOD設定を Copy LOD でコピペできる!
 OcclusionCullingがとても有効だった
非metalで光沢が出なかった
 ForwardはSSRで無いので反射光沢でにくい
 StationalyLightがあたって無くてそもそもライトがあたってない
 リフレクションキャプチャ(High Quality Reflection)をOFFにしてた

ポリゴン数削減(キャラ)
 当時はUEでスケルタルメッシュリダクションできなかった
 Houdiniでやる
  FBX→Houdiniでリダクション→UE4

f:id:nagakagachi:20200718170945p:plain
Houdiniのノード

  アトリビュートペイントでリダクション具合をペイントできる

マテリアル最適化
 テクスチャ減らす シンプルに
 HightQualityReflectionOFF
 CustomizedUV利用
 キャラはUnlit
  巨大なMaskedマテリアルで常時状態異常のための計算をしてて重い
シャドウ
 影用モデルのHoudiniで作成
 DynamicShadow切る ステージによっては背景全部OFFだったりする

本当はやりたかった負荷削減

負荷設計したかった 実機が必要
EarlyZはいれましょう

途中経過を報告しつつ1600個の画面を輪繰内品質に

納得の行く当たり判定 低画角にする

高画角だと足場がわかりにくいなど問題がある
高画角だと画面の右端と左端でキャラの向きが違ってしまう
低画角にすると背景の立体感がなくなってのっぺりしてしまう
スケールで背景を歪めてしまった
 ジオメトリが歪むのでライティングが壊れる

途中経過を報告する中で改善

大変なことに
手描きテクスチャのアーティスト個性が出すぎて雰囲気がちがいすぎて心配に
手書きのBCテクスチャをやめてProcedual生成にした
基本の建築アセットをHoudiniで作成して品質統一
アセットのプロシージャルアセットを改善し続けて終盤に効果が発揮され始めた
嘘ライトを削除してちゃんとランプとかにライトを置く
Jenkinsさんでライトマップ自動ベイクやBPで大量のライト配置などの効率化

Unreal Engine 4 で広大な世界を構築する際にひそむ罠

共通アセットを探し出す

先読みして共通アセットがないか調査 かなりの量があって1/3のアセットが該当



____________ここでメモは途切れている____________
.
.
.
.