#ue4fest#ue4fest
UE4とBlenderでランニングコスト
を抑えるモダンなワークフロー
株式会社 Indie-us Games
代表取締役 中村 匡彦
アートディレクター 坂井 真
#ue4fest#ue4fest
株式会社Indie-us Games
関西でUE4を使ったゲーム、映像、建築、VRなど、
ありとあらゆるプロジェクトをやってます!
最近関わったプロジェクト
・ドラゴンクエストVR
・ガールズ&パンツァー 最終章 第2話
・FUJI ROCK`19 EXPerience
会社紹介
#ue4fest#ue4fest
名前 : 中村 匡彦
株式会社Indie-us Games
代表取締役
ゲーム業界歴 12年。UE4の何でも屋。
UE4だけでなく、Blenderも推進中!
自己紹介
#ue4fest#ue4fest
#UE4forB3D
ぜひ実況お願いします!
#ue4fest#ue4fest
なぜUE4とBlenderなのか?
#ue4fest#ue4fest
昨今ではツールを維持するだけで相当の費用がかかるように。
サブスクリプション形式のツールが増えて、値上り傾向。
特に3Dアーティストの年間ソフト維持費は4,50万程度とも。
仮に100人のアーティストに全て与えると年間5000万もかかる計算。
これは経営者にとっても頭の痛いお値段!
開発ランニングコストの増加
#ue4fest#ue4fest
UE4もBlenderも基本的には無料で使えます。
UE4はゲームを販売するまでは完全に無料!
※ライセンシー企業さんは別
導入までのハードルが低い!
とりあえずの検証がしやすい!
UE4とBlenderは無料
#ue4fest#ue4fest
取引先企業さんに合わせてDCCツールを選択。
Mayaや3ds Maxも必要に応じて使用していますが、
ライセンスはあくまでも最低限に。
ワークフローがBlenderで完結する部分はBlenderオンリー。
本来でのサブスクの利点を活かしつつ、コストを削減。
小規模スタジオでは非常に大きなコスト削減効果があるはず!
Indie-us Gamesでの導入例
#ue4fest#ue4fest
マーケットプレイスで販売中アセット
もちろん全てがBlender製!
現在キャラ中心ですが、背景アセットも少
しずつ増やし、ブループリントアセットも
計画中!
Indie-us Games 作成アセット
#ue4fest#ue4fest
『無料のツールなんて機能は対したことがない』
『無料だからサポートがない』
全然むしろ、そんなことはなく!
オープンソース故の強みがあります。
無料だから機能が弱い?
#ue4fest#ue4fest
UE4もBlenderもコミュニティがオープン。
開発自体も非常に進化が速く、問題への対応も迅速。
バグがあれば開発者に直接報告が出来ます。
またオープンソースなので、自らがコントリビューターに!
世界的にもオープンソースは非常に大きい影響力となっています。
コミュニティが開放的
#ue4fest#ue4fest
UE4ではアセット&プラグイン、Blenderではアドオンがあります。
これらを使いこなすことによって、開発コストを大幅に削減。
UE4のアセットはBlenderで利用することも認められています!
もちろん自分で開発することも可能。
強力なプラグイン&アドオン
#ue4fest#ue4fest
UE4の開発元である、Epic Gamesが助成金プログラムであるEpic Mega
Grantsにより、Blenderに120万ドルの支援。
現在BlenderにとってもEpic Gamesは最大のパトロンに。
Blender Development Fund
https://fund.blender.org
Epic GamesがBlenderを支援
#ue4fest#ue4fest
名前 : 坂井 真
株式会社Indie-us Games
アートディレクター
デザイナー暦30年…
3D CG暦25年くらい…
UE4で結婚したひと
自己紹介
#ue4fest#ue4fest
• 90年代にオランダのCGスタジオにてAmiga向けのレイトレーサーとし
て開発された。SGI IRIXなどに移植されBlenderと名称変更される。
• その後Ton Roosendaalが設立したNaN社(Not a Number
Technorogies)がWindows版を開発(98年)当初は有料版があった。
• 2001年にNaN社は経営破綻…しかしTonは「ソースコード開放!」を合
言葉にBlender Foundation(Blender財団)を設立した。
• ※AmigaとかSGIに反応するひとは…
Blenderの歴史、知ってますか?
#ue4fest#ue4fest
なぜ、今Blenderが注目されるの?
#ue4fest#ue4fest
• OSS(オープンソースソフトウエア)なのでUE4と同じく、何か問題が
生じたときにソースに当たれるのは強い
• 基本的なポリゴンモデリング機能において、各DCC間の圧倒的なアドバ
ンテージというものを探すのは難しいほど、これらの機能は枯れて(成
熟して)いる
• 最新版2.8xにおいては、懸念だった右クリック選択などの独特すぎる操
作性が刷新され、他のDCCからの移行コストが大幅に削減された。
• Python周りについては後の解説で!
なぜBlenderなのか?
#ue4fest#ue4fest
というような
環境的な良さは以後紹介しますが…
#ue4fest#ue4fest
なんといっても
導入コストが無償であること!
#ue4fest#ue4fest
CGを専門に学ぶ機会がなかった
多方面の人材が
Blenderなら今すぐはじめられる!
#ue4fest#ue4fest
これがなにを意味するのか?
#ue4fest#ue4fest
3D CGの開放!
#ue4fest#ue4fest
社会的には
3D CGが一部の特殊な技能では
なくなっていくのかも知れない
#ue4fest#ue4fest
3D CGという文化の底辺が広がり
様々な方面での
サスティナビリティの向上が得られる
#ue4fest#ue4fest
以上が、
なぜBlenderなのか?への
IUGからの回答です。
#ue4fest#ue4fest
Blenderを主軸に据えたIUGのワークフロー
#ue4fest#ue4fest
ワークフローでBlenderが担うパート
#ue4fest#ue4fest
ZbrushとBlenderの連携:GoB
• Zbrush to Blenderをワンボタンで実
現するソリューション
• 2.8対応版は改良され、スムージング
グループなどのエクスポートが可能
• 使い心地はGoZと変わらない
https://github.com/JoseConseco/GoB
#ue4fest#ue4fest
Substance PainterとBlender
• 2.7x時代からSPで作成
したPBRテクスチャを利
用できるシェーダーはあ
ったが、2.8xでは
Eeveeで手軽にルックを
確認できるようになった
• IUGの場合、Liveリンク
は利用していないがむし
ろそのほうがやりやすい
#ue4fest#ue4fest
Blenderを普及させるために
Indie-us Gamesの取り組み
#ue4fest#ue4fest
Udemy講座が2.7x対応で配信されています!
https://www.udemy.com/course/blender-unreal-engine-
4/learn/lecture/10994522#content
【超初心者向け】Blenderでキャラクターをモデリングしてアンリアルエンジンで動かす講座【ハンズオン】
#ue4fest#ue4fest
受講者数2200人突破。そろそろ2.8対応も…???
#ue4fest#ue4fest
機能検証1:
Blender2.8で改善されたアレコレ
#ue4fest#ue4fest
UIが劇的に改善。モダンで合理的な外観になった。
#ue4fest#ue4fest
Blender2.8のEeveeビューポート表示(ルックDev)
#ue4fest#ue4fest
特筆すべき機能:グリースペンシル
#ue4fest#ue4fest
Blender2.8グリースペンシルの強化機能
• アノテーション(注釈)とグリースペンシルが分離
• バケツツールが追加。閉領域の塗りつぶしが簡単になった
• 従来からあるストロークのスカルプトや変形が分かりやすく高速に
• グリースペンシル専用のモディファイヤ(ミラーなど)が用意された
• アニメーション機能も強化。リグを組んで動かせる!
• 専用の作業スペースが用意された。
• グリースペンシルの機能だけで講演できるほど多機能…
#ue4fest#ue4fest
スカルプトモードも大幅強化
#ue4fest#ue4fest
Blender2.8スカルプトの強化機能
• EeveeによるPBR表示のままスカルプト作業ができる!
• 2.7xからあるDyntopoも高速化。さらにパフォーマンス向上される予定
• 全体的にスカルプトブラシの操作性・手触り感が向上
• スカルプトにマスク機能が標準で入った
• モーフ(シェイプキー)の作成がはかどる!
• 2.81ではさらなるスカルプトモードの機能強化が進行中
• 自動リトポまわりのアドオンも続々整備されつつある
#ue4fest#ue4fest
機能検証2:
Blenderの基本的な特長・良さ
#ue4fest#ue4fest
Poly Build
#ue4fest#ue4fest
Blenderで法線のコントロール
• 3つのCubeはすべて同じポリゴンモ
デルで、エッジにベベルをかけている
• それぞれに「重み付き法線モディファ
イヤ」を付加し、法線をコントロール
• この他にも「法線編集モディファイ
ヤ」で放射状法線や他の形状からの法
線転写が行える
#ue4fest#ue4fest
カスタム分割法線データ
• 法線編集系のモディファイヤ
を適用するとメッシュの頂点
データに「カスタム分割法線
データ」が付加される。
• ハードサーフェース・モデリ
ングやブーリアンを多用する
ようなモデリング、ローポリ
モデルでベベルエッジの見栄
えを向上させるのに便利!
#ue4fest#ue4fest
Blenderのボーンシステム「Armature」の特徴
ボーンチェーンの途中を接続解除してもチェーンとしての機能が保たれる。
これを利用して二重関節を自在に作成することができる。
#ue4fest#ue4fest
関節の接続を解除した「ずらしボーン」の動き
リムの接続が自由なので通常は回転しかしない関節に移動のキーやエクスプレッションを
導入することで変形を補完したり自由度の高いアニメーションを作成できる。
#ue4fest#ue4fest
UE4のアンリアルスケルトン互換を考えると…
• ボーンの接続を解除した場合、中間にリンクが生じる。
• そのため、アンリアルスケルトン互換とは言えなくなる。
• 一種の二重関節になるので便利ですが自社案件などで…
• マーケットプレースのキャラクタアセットでは使えません。
※「と思われます」の解釈でお願いします。
#ue4fest#ue4fest
ボーンと頂点グループの対応
• メッシュとアーマチュアのバインデ
ィングを行うと頂点グループがボー
ンに対応して作成される
• バインディング後にボーンの名称を
変更すると自動的に頂点グループの
名称も変更される。
• バインディングの前後で自由にシェ
イプキー(モーフ)の作成が可能
#ue4fest#ue4fest
ボーンと頂点グループの対応:2
例:Rootの名前をYasaiに変えたら頂点グルー
プ名も自動で変更される。
#ue4fest#ue4fest
Blenderでスケルタルメッシュを作る・編集する
• メッシュをアーマチュア(スケルトン)にペア
レントする際「アーマチュア変形」を選択する
ことで各ボーンに対応した頂点グループが作成
され、自動でウエイトを振ることができる。
• 頂点グループを自動で作成するかどうか、ウエ
イトを振るかどうかは任意で選択可能。
• ボーン変形は「アーマチュアモディファイヤ」
が行うが、ウエイトデータはメッシュ自体が保
持しているのでアタッチ・デタッチを自在に行
える。
#ue4fest#ue4fest
アーマチュアモディファイヤ
• アーマチュアモディファイヤは「メッシュのボ
ーン変形」だけを制御している
• 頂点グループとウエイトはメッシュそのものが持っている。
• デュアルクオータニオンは「体積を維持」で実
装されている(ゲームエンジンにはもちろん持
っていけませんが)
• バインド対象を頂点グループとボーンエンベロ
ープで選択できる
#ue4fest#ue4fest
Blenderのモーフ(シェイプキー)
↑の例ではポリゴン編集モードで頂点をプ
ロポーショナル編集している
• Blenderのモーフはシェ
イプキーと呼ばれている
• メッシュをボーンにバイ
ンドする前後で自由にシ
ェイプキーの追加・編
集・削除が可能
• もちろんモーフターゲッ
トを使ったシェイプキー
も作れるが、Blenderな
ら直接編集したほうが便
利だと思われる
#ue4fest#ue4fest
シェイプキーとドライバ
• Blenderでは「ドライバ」という機能で
ボーンのトランスフォームとモーフをリ
ンクさせることができる(エクスプレッ
ションの一種)
• これによりフェイシャルや関節変形の補
正にシェイプキーを利用することが楽に
なっている
• スクリプトやプラグインの支援なしにこ
れらを実現できることは個人制作者や小
規模スタジオにとっては激しくありがた
いことである。
#ue4fest#ue4fest
Blenderのモーフとスカルプトモード
• モーフの作成には当然スカ
ルプトモードも利用できる
• シェイプキーを作成し
「値」を1に設定してから
スカルプトモードに入れば
良い
• ハイディティールのモーフ
も作成できるので映像分野
では特に便利
• アドオンでVATにも対応で
きる。
#ue4fest#ue4fest
Action Constraintについて
• 左のGIFでキーを打っているのは
spineとIKだけ
• FootとToeはエクスプレッションで
はなく、別のアクションをコンス
トレイントで再生している
• 一種のモーフターゲットの要領で
別のアクションをコンストレイン
トとして利用できる
#ue4fest#ue4fest
Action Constraintの使い方
• 足のボーンFootとToeに上記の3つ(任意)のキーを打ち動きを作成
• この動きを「foot」というアクションとして登録
• アクションコンストレイントを追加
• IKターゲットボーンのX回転(45度)でfootを再生させる
#ue4fest#ue4fest
基本機能検証
Blender to UE4でアセット制作
#ue4fest#ue4fest
Blenderで作ったアセットをUE4で利用するために
• スタティックメッシュでは何も問題なし
• スケルタルメッシュでは経験と知識が必要。
• UE4はセンチが1単位→Blenderではメートルが1単位
• 座標系も違うのでスケルタルメッシュでは注意。
※Blender側がすごい勢いで改良されているので1年後には解消されているかも…
#ue4fest#ue4fest
UE4用スケルタルメッシュの座標軸とスケール調整
大前提としてUE4はZupのXfrontという特殊な座標系です。
BlenderはZupで-YがFrontという、ちょっと稀な座標系です。
左:正面図
右:上面図
#ue4fest#ue4fest
スケルタルメッシュの座標軸とスケール調整
BlenderでFBXを出力
する際、設定が間違っ
ているとrootボーンに
回転のトランスフォー
ム 値 が 入 っ た 状 態 で
UE4にインポートされ
てしまう。
#ue4fest#ue4fest
Armatureの名称とrootボーンの設置
UE4はFBXの情報として
「Armature」という名称
でスケルトンが存在し、最
初の階層に「root」ボーン
があれば、UE4のrootボ
ーンとして認識してくれる。
※Armature.001というように修飾子がつくとダメです。ここ大事。
#ue4fest#ue4fest
Armatureとメッシュのスケール合わせ
メッシュはトランスフォームのスケールが1になるように設定する。
アーマチュア(スケルトン)は0.01(1/100)に設定する。
#ue4fest#ue4fest
UE4用スケルタルメッシュのスケール設定手順
1. 通常の手順でアーマチュアとメッシュをスキニングする。
2. アーマチュアのスケールを100倍に巨大化(数値入力)
3. アーマチュアのスケールを適用(フリーズ)する
4. アーマチュアのスケールを0.01倍にする。(元の大きさに)
5. メッシュのスケールを適用する→スケールが1になる。
6. アーマチュアは0.01スケールのままでOK
※現在IUG社内でこの手順を自動化しようとしています。
#ue4fest#ue4fest
Blender標準FBXエクスポーターの設定
FBX出力の際、rootボーンがワー
ルド座標系でどこを向いているか?
を指定する。BlenderはZupなの
でプライマリにZ軸を指定し、セカ
ンダリには正面から見たときの水平
軸になるX軸を設定すれば良い。
※ここの設定がもう少し分かりやすければ…とは思いますが2.7xからの伝統です。
注意:タンジェントとスムージング(グループ)の説明は割愛します。
#ue4fest#ue4fest
アドオンでこれらの設定を自動化することもできます!
• BlenderからキャラクターをUE4に持って行くのが面倒!
• スケール合わせもスケルタルメッシュでは「まだ」必要…
• キャラクタアセットならAutoRigProでほぼ問題解決!
• 総合的UE4アセットはBlender-For-UnrealEngine-Addons
※アドオンの個別紹介は後のスライドでも行います。
#ue4fest#ue4fest
機能検証3:
厳選!Blenderを拡張するアドオンたち
#ue4fest#ue4fest
Animation nodes
Blender2.7x時代から存在するノードベース
アニメーションを実現するアドオン。非常に
強力なプロシージャルアニメーション環境を
実現。2.8対応は現在「試験的」だが、そこそ
こ安定して使用できる。
https://github.com/JacquesLucke/animation_nodes/releases
#ue4fest#ue4fest
ちょっとAnimation Nodes
1. 簡単なステージを用意。背景とライ
トを置いたらメタボールをひとつ作
成して中央に配置
2. Animation nodesの専用エディタで
ノードを追加。→Object Instancer
3. ノードでインスタンス数に20を入れ
ると複製(インスタンス)が20個作
成される
4. Object Transform Outputを用意し
ておく
#ue4fest#ue4fest
もうちょっとAnimation Nodes
1. Vector Wiggleノードを追加
2. 各ノードをこんな風に接続
3. 結果↓
#ue4fest#ue4fest
さらにもうちょっとAnimation Nodes
↑最終的なノード構成
• Time Infoノードを
Evolutionに接続すれば
アニメーション開始
#ue4fest#ue4fest
Auto-Rig Pro
有償アドオン。IUGの人型キャラクタ制作を支え
るアドオンと言って過言はない。UE4をはじめ、
ゲームエンジン向けの独自FBXエクスポーターを
搭載しており、めちゃくちゃ多機能。
作者による更新も恐ろしく活発で、2.8向けの新機
能の実装やバグFixも頻繁に行われている。
https://blendermarket.com/products/auto-rig-pro
#ue4fest#ue4fest
Fluent
有償アドオン。主にハードサーフェース系のモデ
リングを支援する、ブーリアン、配列複製、ベベ
ル処理、法線制御などに特化したアドオン 。
これ単体で何かを作ることはあまりないが、モデ
リング工程を合理化したり非破壊的にメッシュを
加工する強力なツール群となっている。
https://blendermarket.com/products/fluent
#ue4fest#ue4fest
Meshmachine
有償アドオン。ハードサーフェースツールキット
とキットバッシュモデリングのツールを統合した
アドオン。Fluentと似た部分はあるが強力なブー
リアン最適化機能やベベルエッジのコントロール、
ポリゴンフローの改善ツールなどが搭載されてい
て手放せない。めっちゃ便利!
https://blendermarket.com/products/MESHmachine
#ue4fest#ue4fest
Curves To Mesh
有償アドオン。いわゆるカーブモデラーの機能を
Blenderで実現するアドオン。標準でもベジェや
NURBSは扱えるがこのアドオンがあればサーフェ
ースモデラー並みの機能拡張が実現できる。カー
ブからのメッシュ変換を最適化する機能更新がア
ナウンスされている。
https://blendermarket.com/products/curves-to-mesh
#ue4fest#ue4fest
Quick Draw
有償アドオン。グリースペンシルのストロークを
直接押し出したり、囲み領域をポリゴン化するこ
とができる。ターゲットポリゴンのブーリアンに
も対応しており、3Dコンセプトアート作成の高速
化を支援する。
https://blendermarket.com/products/quickdraw
#ue4fest#ue4fest
Lazy Weight Tool
有償アドオン。3dsMax風の頂点ウエイト設定ツ
ール。かゆいところに手が届く系。他のことはな
にもできない代わりに低価格で必要十分な機能を
満たしている。便利なアドオンの見本。
https://blendermarket.com/products/lazy-weight-tool
#ue4fest#ue4fest
制作事例紹介:
Blenderで
UE4物理ビークルを作ってみよう。
#ue4fest#ue4fest
最近、社内制作でこれを作ったり…
#ue4fest#ue4fest
こんな乗り物?を個人制作していました。
#ue4fest#ue4fest
まず、UE4の物理ビークルについて
#ue4fest#ue4fest
UE4物理ビークルはプラグイン機能です。
#ue4fest#ue4fest
サンプルコンテンツは2種類用意されていて…
今回セットアップするサンドレーサーもサスペンションの仕様は
この「青いクルマ」と基本的に同じ仕組みです。
#ue4fest#ue4fest
UE4物理ビークルの「個人的な」感想:初見
• 良くある「物理的な挙動」のクルマ
• そのままだと「あーアレ!」って感じ
• あくまで「物理的な感じ」で、リアルとは言えない
• 現実のパラメーターに縛られ過ぎで、それが爽快さを阻害
• 設定も色々面倒くさそうで、本気で触る気になれなかった…
#ue4fest#ue4fest
UE4物理ビークルの「個人的な」感想:現在
• 実はセッティングを詰めると激しく面白くなる
• 非物理なキャラクタアセットでは実現しづらい動きが可能
• 工夫すれば四輪車をベースに「見た目n輪車」もできそう
• 設定できる項目が実車に基づいていて分かりやすい
• 本気で触る機会があったので、かなり詰めて研究した!
超いーじゃん!
#ue4fest#ue4fest
超いーじゃん!
#ue4fest#ue4fest
UE4の物理ビークルを作成する上でのポイント
• 基本はBoxと円柱が4つ、あとは骨を入れれば動きます。
• ビークルの場合、XフロントでFBX出力する必要がある。
• サスペンションをきちんとセットアップするには知識が必要。
• 四輪車が基本。二輪車や多輪の場合は工夫が必要。
#ue4fest#ue4fest
Unreal Festでデモになるアセットにしよう!
伝統的スーパーカー要素
マッチョなV8的要素
オフローダーがいいな!
やっぱオーバーフェンダー
#ue4fest#ue4fest
よし!モデリングしちゃう!!!
考えるより先に作っちゃう派なので、あっと言う間に試作の
クルマ素体が積みあがっていく…若干迷走する…
#ue4fest#ue4fest
うーん…だが…だがしかし
基本に戻って考えよう…
#ue4fest#ue4fest
脳内を整理する(あまり考えていない)
#ue4fest#ue4fest
あっ…これ?この感じええんとちゃう?
#ue4fest#ue4fest
ここで、実車だったら?という設計を考える。
• 駆動方式は四輪駆動(All Wheel Drive)
• エンジン+電気モーターのハイブリッド型
• エンジンとモーターはリヤ・ミッドに搭載している。
• 過給機への冷気導入はフロントバルクヘッドのICで行う。
• 重たいバッテリーもフロントに搭載して重量バランスさせる。
• フロントサスペンションは変形ダブルウイッシュボーン
• リヤサスペンションはストラット式
#ue4fest#ue4fest
なぜ、そこまで考えるかというと…
現実に、こういうクルマの設計や走行イベントの主催に関わっていたからです。
※2017年にお手伝いしたイベントでの撮影
#ue4fest#ue4fest
以上を踏まえて、詳細を
モデリングしていきます。
#ue4fest#ue4fest
できました。(土日の作業でした)
#ue4fest#ue4fest
テクスチャ、よし!
#ue4fest#ue4fest
ディティールチェック…
あって良かったSubstance Painter
#ue4fest#ue4fest
それでは、UE4でビークルとして
走れるようにボーンを組みます。
#ue4fest#ue4fest
できました
寝ている間に無意識のうちにスケルトン完成!
#ue4fest#ue4fest
足回りだけにするとこんな
#ue4fest#ue4fest
フロントサスペンション
見えない部分なのでドライブシャフトとタイロッドはオミットしました。
#ue4fest#ue4fest
リヤサスペンション
モデリング時もリグ入れ時も常にEeveeでルック確認できる!
#ue4fest#ue4fest
物理サスペンション・リグの設計
物理ホイールと表示用ホイールでボーンを別々に用意
#ue4fest#ue4fest
物理サスペンション・リグの設計:2
作例ではphys_wheelがレイキャストで上下動するので、そのチャイルドに
lowerarm_targetボーンを設置し、ロワアームのボーンがそれをLook at(注視点)ノード
で追跡することで円弧の動きを作り、ロッカーアームやハブの位置決めを行うことにした。
#ue4fest#ue4fest
デザインアイディア:インナーホイールモーター
従来はホイールとタイヤが一体になって駆動方向に回転していたが、インナーホイール型の駆
動装置を想定するとホイールが駆動装置と操舵装置を兼ねるような設計が可能。一部のEVでは
実用化もされている。ハブ位置の自由度が向上するので近未来的なレイアウトが可能。
#ue4fest#ue4fest
リアルタイム向けプロシージャルリグの特徴
• キーフレームアニメーションを使わないのでアニメーション用
コントローラーが不要(ぶっちゃけ骨だけあれば良い)
• 動作を検証・確認する場合、DCC側ではコンストレイントの設
定だけを行う
• UE4にはBlenderのコンストレイントは持って行けないので、
アニメーションBPで動作を再構築することになる
#ue4fest#ue4fest
ダンパー(ショックアブソーバー)のウエイト
ダンパーについては、上下にボーンを設置し同軸上に配置する。(分割して方向反転)
その上で、フォーク部分とケース部分に1.0のウエイト値を設定してスキニングする。
#ue4fest#ue4fest
【重要】ビークルをFBX出力する
通常のキャラクターはBlender標準の-Yフロントのまま先述のFBX設定を行えば良いが、物理
ビークルの場合は+Xが前方になるようにアーマチュアの向きを変更する必要がある。
#ue4fest#ue4fest
DCCツールからUE4ビークルを出力する際の注意
• 公式ドキュメント「ビークル(乗り物)アートの設定」
• https://docs.unrealengine.com/ja/Engine/Physics/Vehicles/VehicleConte
ntCreation/index.html
• ビークルのメッシュはX軸上に沿って正のX方向を向く
• ジョイント(ボーン)もX軸が前方向(ロール)、Y軸が縦回転
(ピッチ)、Z軸が左右回転(ヨー)になるように設定する。
#ue4fest#ue4fest
アーマチュア(スケルトン)の調整:1
キャラクターであれば、rootボーンは直立(Z軸に沿う)した状態が扱いやすいが、物理ビークル
の場合はY軸に沿った状態で「寝かせる」と正常に動作する。
1. アーマチュアを回転
2. RootボーンをX90度回転
3. ロール角を0に
#ue4fest#ue4fest
アーマチュア(スケルトン)の調整:2
左側のボーンはrootに合わせてロール角を0に。右側のボーンは-90を設定する。
なお、スケルタルメッシュのスケール合わせについてはキャラクタアセットと同様に行う。
#ue4fest#ue4fest
FBX出力の設定(アーマチュアのタブ)
BlenderからFBX出力する際のアマーチュアの項目にあるプライマリとセカンダリのボーン軸の設
定は、rootボーンがワールド座標でどこを向いているのか、を設定すれば良い。
• パーツの位置決めをするための非デフォームボーンが
大量にあるので「デフォームボーンのみ」を外す
• プライマリボーン軸はrootボーンがY軸に沿っている
のでYになる。
• セカンダリボーン軸はX
• その他の設定は通常のキャラクタと同じ
• UE4キャラクタ、UE4ビークルという風にオペレータ
ープリセットを保存しておくと楽
#ue4fest#ue4fest
ビークルFBXのUE4インポート
特に特別な設定はありません。
普通にFBXをD&Dすれば読み込める。
かんたん!
#ue4fest#ue4fest
ビークル用スケルタルメッシュのインポート確認
• Rootボーンを選択してトラン
スフォームを確認
• 左のスクショにある程度の誤
差は問題ない
• 位置・回転は0、スケールは1
になっていること
←のスケルトンツリーで、グレー表示されているのは非デフォームボーン。物理ビーク
ルではソケットが使えないようなので必要になる。
#ue4fest#ue4fest
ここからはUE4でビークルを
セットアップしていきます。
#ue4fest#ue4fest
できました!
#ue4fest#ue4fest
とばしすぎの
スピード違反や!
#ue4fest#ue4fest
反省して手順を解説します。
#ue4fest#ue4fest
UE4にビークルのスケルタルメッシュをインポート
まずはスケルタルメッシュとして正しい状態になっているかをチェックし、
物理アセットについてはビークル用の設定を行わなければなりません。
• スケルタルメッシュ
• スケルトン
• 物理アセット
※なお「SKL_」や「PHYS_」はIUGのアセット命名規則に従っています。
#ue4fest#ue4fest
物理アセットをPhATでセットアップ
この手順を間違えると物理ビークルは動かない
#ue4fest#ue4fest
物理アセットの設定は揺れモノと同じように行う
• Rootの骨に物理アセットを作成
• Physics TypeはDefaultで
• Angular Dampingを適時上げる
• Inertia Tensor Scale超大事!
#ue4fest#ue4fest
メッシュは見た目だけやりましょう
いい感じにマテリアルを設定してください! マテリアルのネタは別の機会にじっくり
やりましょう!
#ue4fest#ue4fest
UE4ビークルアセットに必要なBPとデータ
• タイヤデータ
• Vehicle Wheel BP
• ビークルアニメーションBP
• Wheeled Vehicle Pawn (BP)
※物理ビークルは基本どれでも同じなのでサンプルコンテンツをDLすれば同じモノが用意されています。
#ue4fest#ue4fest
最もシンプルなビークルアニメBP
とりあえずこれだけあれば動きます。
でも、せっかくなので…
#ue4fest#ue4fest
物理ビークルの動きはアニメーションBPで決まる!
スケルタルのプロシージャルな動作はアニメBPで制御する。
#ue4fest#ue4fest
ただし、使うノードはほぼ3つだけ!
物理ビークル専用のVehicle Anim Instanceが親クラスになります。
• 「Wheel Handler」が物理ビー
クルのタイヤの動きを決定する。
• 「ボーンをコピー」で移動and
or回転を別のボーンにコピーする。
• 「注視点(Look at)」でターゲ
ットとなるボーンの方向にジョイ
ントを「回転追尾」させる。
スケルトンの位置と親子関係(ツリー構造)さえ
適切なら、サスペンションのプロシージャルアニ
メーションはこの3つのノードだけで作成できる。
#ue4fest#ue4fest
物理ビークルのサスペンション設定ガイド
• 公式ドキュメント「ダブルウィッシュボーン式サスペンション」
• https://docs.unrealengine.com/ja/Engine/Physics/Vehicles/DoubleWishboneVehicle/index.html
• 『つまり、表示される車輪とシミュレーションされた車輪は実
は全く別の 2 つオブジェクトであり、後者は全く表示しなくて
もよいのです。』
#ue4fest#ue4fest
シミュレーションタイヤと表示されるタイヤ
• シミュレートされるタイヤは上下移動だけ行う(レイキャスト)
• シミュレートされるタイヤは必ずしも表示する必要がない
• リアルさを求めるビークルでは、表示されるタイヤはサスペンションに拘
束されて円弧の運動を行う
• シミュレートされるタイヤ(phys_wheel)と表示用のタイヤ
(vis_wheel)の位置をボーンのコピーとLook atで制御する。
#ue4fest#ue4fest
ロジックを整理
物理ホイールが
回転・上下運動
Visホイールが物
理ホイールの回
転をコピー
物理ホイールにロ
ワアームがLook
at
ロワアームの先端
でハブposが移動
ハブposの位置に
ハブとvisホイール
が移動コピー
ハブがハブTarget
をLook at
ダンパー下部がダ
ンパーposの位置
をコピー
ダンパー上下がそ
れぞれをLook at
※この物理ビークルを駆動しているのは表示されていない物理ホイールで、表示されているVisホイールはあくまでア
ニメーションをプロシージャルに再生しているだけ。
#ue4fest#ue4fest
実際のアニムグラフ:1(全部見せ)
#ue4fest#ue4fest
実際のアニムグラフ:2
• たったこれだけ。超かんたん!
• 制御する骨の数がちょっとだけ多いのでノ
ードで参照する時間違えないように注意
• その他に物理で動く揺れモノなどがある場
合はRigid Bodyノードで制御する
■やろうと思ったけどやめておいたこと
→速度で可変するリヤウイングのフラップや
エアダムをやろうかと思ったのだけど、工期
の関係で今回は見送った。
#ue4fest#ue4fest
Vehicle Wheel Blueprintで設定するもの
• ホイール(タイヤ)の大き
さと重量
• ステアリング操舵角度
• 縦と横のグリップ力
• 減衰力
• ブレーキング係数
• サスペンションストローク
実車を知っていれば分かりやすいが、知らな
いとけっこう大変な設定作業になるかも…
#ue4fest#ue4fest
Vehicle Wheel Blueprintの最重要ポイント
• Lat Stiff Max Load
• 速度に対する操舵応答性
• Lat Stiff Value
• 横方向のタイヤグリップ力
• Long Stiff Value
• 縦方向のタイヤグリップ力
ドキュメントを見ても分かりにくいが、だいたいこういう捉え方で設定ができる。
#ue4fest#ue4fest
Tire Config(タイヤデータ)で設定するもの
• タイヤのグリップ力
これだけです。
ただし、前後のタイヤに違うデータを持たせることができるので、こだわってもOK
#ue4fest#ue4fest
Wheeled Vehicle Pawn (BP_SandRacer)
• 基本的な構成はキャラクタBPと同じ
• Movementコンポーネントが物理ビークル
専用のものになる。
• メッシュやカメラのコンポーネントは通常の
Pawnやキャラクタと一緒
今回のデモ用アセットはサンプルコンテンツの中身を改造して作成
#ue4fest#ue4fest
VehicleMovementコンポーネント:1
• エンジン出力(トルク)と回転数
• ディファレンシャル(差動装置)
• 駆動方式(FF、FR、4WD)
• トランスミッション(変速装置)のギヤ比
Mechanical Setup項目
• 欲を言えばLSD(差動制限装置)のトルクバイアスレシオだとかロック比
などを設定できると嬉しい。
• クラッチ強度の項目がちょっと繊細すぎる感じ
• ギヤ比だけでなく段数が設定できればなお良い
#ue4fest#ue4fest
VehicleMovementコンポーネント:2
• 速度に応じたハンドル切れ角
• ホイールとボーンの対応
• Vehicle Wheel Classの設定(参照)
• 車体の重量やサイズの設定
• Deprecated Spring Offset Mode(重要)
SteeringとVehicle Setup項目
#ue4fest#ue4fest
BP_SandRacer:イベントグラフ1
インプットイベントからビークルを動かす。空中制御を加えました。
#ue4fest#ue4fest
BP_SandRacer:イベントグラフ2
ハンドブレーキのインプットからスピンターン用の関数を追加
#ue4fest#ue4fest
BP_SandRacer:関数「Air Control」
ビークルの空中制御用関数。通常だとメッシュコンポーネントに物理力を働
かせたくなるが、物理ビークルでは囲みにあるUpdate Primitiveに対して
Angular Velocityを付加している。
#ue4fest#ue4fest
BP_SandRacer:関数「Is Air Check」
なんの変哲もないレイキャスト。「body」のボーンが300単位なににも触
れていなければ「Is Air」のフラグを立てるだけ。関数はシンプルだが数値
が敏感すぎるとちょっとした跳ね上げでIs Air判定してしまうので注意。
#ue4fest#ue4fest
BP_SandRacer:関数「Hand Brake Turn」
サイドブレーキターン(スピンターン)用関数。空中制御の関数と内容はほ
ぼ一緒。DirectionZ(ヨー回転)だけに作用する。キモは最後のAngular
Velocityを「in Radian(ラジアン)」で付加していること。
(360度=2πRad)
#ue4fest#ue4fest
ビークルが暴れすぎるときは?
みんな大好きInertia Tensor Scale(慣性量倍率)を調整。
タイヤやサスペンションをセッティングしているよりてっとり早くコーナ
リングを落ち着かせたり、ドリフト風セッティングも可能
#ue4fest#ue4fest
以上がUE4ビークル制作の解説でした。
それでは物理ビークルの
デモンストレーションをご覧ください。
#ue4fest#ue4fest
#ue4fest#ue4fest
今後の展望
• 四輪車だけではなく二輪車(バイク)も作りたい
• Wheeled Vehicle Pawnは四輪車用のクラスなので、工夫をかなり行わ
ないと二輪車やn輪車は実現できない。
じゃぁやろう!
#ue4fest#ue4fest
BlenderでのPython
#ue4fest#ue4fest
Blender 2.8でのPythonのバージョンは3.7.0
ほぼ最新バージョンのPythonが利用可能。
Blenderのインターフェースなどのガワ部分はほとんどPythonで記述され
ており、C/C++部分はコア機能部分に留まっています。
逆を言えばビルドなしでありとあらゆる部分を変更可能。
BlenderでのPython
#ue4fest#ue4fest
#ue4fest#ue4fest
2.79bのPythonのバージョンは3.5.3。
2.80ではPythonのバージョンだけでなく、API自体も大きく変更されてお
り、より合理的になっている分、過去のアドオンとの互換性がありません。
Blender 2.80: Python API Changes
https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API
2.79までと2.80のPython
#ue4fest#ue4fest
とりあえず使うまで
#ue4fest#ue4fest
Scriptingタブを開いて、『+ 新規』ボタンでテキストを追加し、スクリプトを書く。
ファイルを追加する
#ue4fest#ue4fest
『スクリプト実行』から現在のスクリプトを実行。Alt+Pでショートカット可能。
スクリプトを実行
#ue4fest#ue4fest
別のDCCツールを使ったことがある人なら、おそらくすぐに慣れます。
値のデバッグ表示はシステムコンソールから確認。
APIをワンライナーで実行でするPythonコンソールもあります。
Python使いならすぐに慣れる
#ue4fest#ue4fest
IUG内でもいくつかの既存アドオンを2.80に対応させています。
Vertex Animation Texture
https://github.com/t-sumisaki/unreal_tools/tree/dev_blender280
ネットのリソースも参考に、独自でカスタマイズしています。
Blender 2.79 のスクリプトを 2.80 にアップデートする
https://dskjal.com/blender/script-279-to-280.html
既存アドオンの2.80対応
#ue4fest#ue4fest
Blenderのライセンス
#ue4fest#ue4fest
企業で扱う上で非常に厄介なGNU Public License Version 3。
じゃあ作ったアセットも全てGPLだから公開?
いいえ、違います。
BlenderのライセンスはGPL v3
#ue4fest#ue4fest
GPLの効果があるのはあくまでもソフト側。
そこで作ったアセットに対しては一切制限がありません。
ただし作成したアセットに別のライセンスが含まれているような場合、そ
ちらの影響を受ける可能性はあります。
Blender is released under the GNU General Public License
https://www.blender.org/about/license/
あくまでもソフトウェアに対して
#ue4fest#ue4fest
ただし、スクリプトやアドオンは別。
Blender Python APIを利用した時点でGPLが強制されます。
公開するスクリプトコードは必ずGPLにしておく必要があります。
有料販売する場合、DL販売に限定され、必ずコードを含むようにします。
Sharing or selling Blender add-ons (Python scripts)
https://www.blender.org/about/license/
スクリプトやアドオン
#ue4fest#ue4fest
いいえ。
内々で作成されたスクリプトはGPLでも公開する必要はありません。
判断材料はパブリックに公開されているものかで、異なります。
仕事の中で作成したものは公開の義務はありませんので、安心して作成し
たものを利用しましょう。
公開した場合は必ずGPLを付与しておきましょう。
作ったものは必ず公開?
#ue4fest#ue4fest
Blender to Unreal Exporter
面倒な設定をせずにワンボタンでUE4へインポート!
BlenderからUE4へのトライ&エラーを高速化。
IUG内でも独自のアドオン開発中!
#ue4fest#ue4fest
BlenderとUE4をリアルタイムに繋ぐ、Live Link機能
まだまだ検証段階。出来ればやってみたい。
UE4側に機能は用意されているので、仕組み上は可能なはず。
Live Link プラグイン
https://docs.unrealengine.com/ja/Engine/Animation/LiveLinkPlugin/index.html
最終目標
#ue4fest#ue4fest
BlenderマテリアルをUE4上で再現
PBRマテリアルをそのまま持っていけるようにしたい。
FBXにはPBRの情報がないので、独自フォーマットが必要。
glTFベース?
まだglTFがUE4では上手く扱えないため、もう少し時間がかかりそう。
最終目標2
#ue4fest#ue4fest
いいもの出来たら公開したい!
GitHubから誰でもアクセスできるようにする。
特にワークフロー改善は多くの人にとって有用。
UE4もBlenderもコミュニティの善意で成り立っているものが多い。
少しでもコミュニティに貢献したいです。
最終目標3
#ue4fest#ue4fest
UE4とBlenderを使うことで、ランニングコストが抑えられる!
導入のハードルは非常に低く、どちらも無料で使える!
別のDCCツールはサブスクで必要なだけを確保し、基本的にBlenderでも
可能な部分は全てBlenderでなんとかする。
浮いたコストは別の部分へ投資!(できればみんなのお給料へ)
まとめ
#ue4fest#ue4fest
Blenderコミュニティは非常に活発。
開発者との距離が近く、問題があれば報告することで解決することも多い。
2.8で非常にフレンドリーとなったので、キーマップ含め、他のDCCツール
からの移行もしやすくなっています。
Eevee、グリースペンシルなど先進的な機能が盛り沢山!
まとめ2
#ue4fest#ue4fest
Blender 2.8のPythonは最新バージョンの3.7.0。
Pythonを他のDCCツールで書いたことのある人ならすぐに慣れる。
2.79bとはBlender Python APIが色々と変わっているので、修正が必須。
ライセンスはGPLだが、必ずしも公開は必須ではない。
まとめ3
#ue4fest#ue4fest
UE4とBlender
相性はとてもいいので、
ぜひ使っていきましょう!
#ue4fest#ue4fest
ご清聴ありがとうございました!

UE4とBlenderでランニングコストを抑えるモダンなワークフロー