ゲームエンジンの文法【UE4】
スタティックメッシュエディタ:
スタティックメッシュアセットとアクターの操作
No.007
YouTubeに動画公開
スタティックメッシュエディタ:
スタティックメッシュアセットとア
クターの操作
この講義では、3Dモデルの読み込み、スタ
ティックメッシュエディタの使用、コリ
ジョンの編集、スタティックメッシュア
セットとアクタの操作に精通します。
目次
1. スタティックメッシュ(Static Mesh)
2. スタティックメッシュエディタ
3. スタティックメッシュアクタの使用
4. リンク集
講義のゴール(目標)と成果
ゴール(目標)
この講義のゴール(目標)は、
• スタティックメッシュエディタの使い方を学ぶ
• 3Dモデルファイルをインポートする方法を学ぶ
• マテリアルとコリジョンをスタティックメッシュ
アセットに割り当てる方法を学ぶ
• スタティックメッシュアクターをレベルに配置す
る方法を学ぶ
• スタティックメッシュアクタのメッシュとマテリ
アル参照を変更する方法を学ぶ
• スタティックメッシュアクタの衝突応答を設定す
る方法を学ぶ
成果
この講義をすることによって出来ること
• スタティックメッシュエディタを使用出来る
• 3Dモデルファイルをインポート出来る
• マテリアルとコリジョンをスタティックメッシュア
セットに割り当てる
• スタティックメッシュアクターをレベルに配置する
• スタティックメッシュアクタのメッシュとマテリアル
参照を変更する
• スタティックメッシュアクタのコリジョン応答の設定
について理解する
環境について
(2019/4/16)
• OS : Windows 10
• UE4Version: 4.22.0
Sams Teach Yourself
Unreal Engine 4
Game Development
in 24 Hours
この資料は[アンリアル エンジン 4 イ
ンストラクターガイド]のAram
Cookson 氏、Ryan DowlingSoka 氏、
Clinton Crumpler 氏による書籍、Sams
Teach Yourself Unreal Engine 4 Game
Development を元にしています。この
ガイドには 22 の講義に、小テスト、
試験、コンテンツが含まれています。
アンリアル エンジンの基礎機能を学
ぶことができます。
https://www.unrealengine.com/ja/blog/unreal-engine-4-instructor-guides-are-now-available
アンリアル エンジン 4 インストラクターガイドが公開されました
1.スタティックメッシュ(Static Mesh)
スタティックメッシュ
スタティックメッシュは、UE4で使用する最
も一般的なアートアセットとアクタータイプ
の一部です。
スタティックメッシュは、3ds MaxやMayaな
どのアプリケーションからインポートされた
3Dモデルです。主にSet DressingとWorld
Buildingのために使用されます。
すべてのレベルはスタティックメッシュを使
用します。
スタティックメッシュ
http://api.unrealengine.com/JPN/Engine/Content/Types/StaticMeshes/index.html
スタティックメッシュ
Asset Actor
• スタティックメッシュアセッ
トが読み込まれ、コンテンツ
ブラウザに保存されます
• スタティックメッシュアセッ
トがインポートされ、コンテ
ンツブラウザに保存されます。
• アセットには初期コリジョン
設定が格納されます。
• アセットには、メッシュの最
初のマテリアル割り当てが保
存されます。
• アセットにはLOD割り当てが
格納されます。
• スタティックメッシュアクタ
は、あるレベルのスタティッ
クメッシュアセットの配置さ
れたインスタンスです。
• 単一のアセットの多くのイン
スタンスが存在する可能性が
あります。
• 各Actorインスタンスのプロパ
ティは個別に変更できます。
スタティックメッシュ
スタティックメッシュには以下が含まれます:
• ピボットポイント(ローカル軸)
• モデルの視覚的な外観を定義する頂点、
エッジ、ポリゴン
• Levels of detail (LODs)
• コリジョンハル
• ソケット
• テクスチャとライトマップを投影するため
に使用されるUVレイアウト
• 頂点カラー割り当て
スタティックメッシュの
インポート
エディタに3Dモデルをインポートするには、
2つのファイルタイプが一般的に使用されま
す:
• .obj
• .fbx
スタティックメッシュの
インポート
いずれかのファイルタイプをインポートする
と、FBXインポートオプションウィンドウが開
きます。
インポート時にコリジョンハルとライトマッ
プUVを自動生成することで処理速度を向上さ
せることができますが、スタティックメッ
シュエディタでコリジョンハルとライトマッ
プUVを編集および変更することもできます。
スタティックメッシュエディ
タを開く
スタティックメッシュエディタでスタティッ
クメッシュを表示するには、コンテンツブラ
ウザでスタティックメッシュアセットをダブ
ルクリックします。スタティックメッシュエ
ディタが新しいウィンドウで開きます。
ダブルクリックした各スタティックメッシュ
アセットは、独自のスタティックメッシュエ
ディタウィンドウを開きます。
2. スタティックメッシュエディタ
スタティックメッシュエディタ
スタティックメッシュエディタを使用すると、
コンテンツブラウザに格納されたスタティッ
クメッシュアセットの基本プロパティを編集、
変更、および設定ができます。
スタティック メッシュ エディタ UI
http://api.unrealengine.com/JPN/Engine/Content/Types/StaticMeshes/Editor/index.html
UVレイアウトの表示
マテリアルがモデルの表面に適切に表示され
る前に、UVマップと呼ばれるUVマップレイア
ウトが必要です。
モデルが3Dモデリングアプリケーションで適
切に作成されている場合、モデルには少なく
とも1つのUVチャンネルが設定されている必
要があります。
スタティックメッシュは複数のUVチャンネル
を持つことができます。
通常、Asset(UVチャンネル0)用のUVチャン
ネルとライトマップデータ(UVチャンネル
1)用のUVチャンネルが少なくとも1つありま
す。
UVレイアウトの表示
スタティックメッシュのUVチャンネルを表示
するには、ツールバーのUVボタンをクリック
してオン/オフを切り替えます。
現在のUVチャンネルがビューポートウィンド
ウに表示されます。
ツールバーのドロップダウンからチャンネル
を選択すると、表示されるUVチャンネルを変
更できます。
ライトマップUVチャンネル
ライトマップUVチャンネルは、メッシュの表面に光
と影の情報を格納するために使用されます。
エディタはインポート中にライトマップ用のUVチャンネルを
自動生成しますが、スタティックメッシュエディタの詳細パネ
ルオプションを使用してインポート後に作成することもできま
す。
デフォルトのライトマップUVチャンネルは1で、UVチャンネル
インデックスが0から始まるため、2番目のUVチャンネルです。
ライトマップに必要なUVチャンネルを技術的に使用すること
はできますが、始めるときにはデフォルト設定を使用すること
をお勧めします。
スタティックメッシュアセット
へのマテリアルの割り当て
スタティックメッシュアセットは基本アセッ
トなので、継続的に使用するためにアセット
を準備することをお勧めします。
アセットがスタティックメッシュアクタとし
てレベルに配置されるたびに、マテリアルが
すでにあるように、デフォルトマテリアルを
割り当てます。
レベルにメッシュのインスタンスを配置する
たびに、必要に応じてそのインスタンスに新
しいマテリアルを割り当てることができます。
コリジョンハル
コリジョンハルは、メッシュを取り囲む単純
な基本形状であり、衝突イベントを識別する
ために使用されます。
コリジョンハルは、2つのアクターコリジョ
ンハルが衝突したり、接触したり、重なった
りするときに発生します。.
3Dモデルをインポートすると、エディタは単
純なコリジョンハルを自動的に生成します。
スタティックメッシュでコリジョンをセットアップする
http://api.unrealengine.com/JPN/Engine/Content/Types/StaticMeshes/HowTo/SettingCollision/index.html
コリジョンハルを表示する
• スタティックメッシュエディタツールバー
のコリジョンアイコンをクリックすると、
スタティックメッシュエディタでコリジョ
ンハルを表示できます。
コリジョンハルの編集
ワイヤフレームエッジのいずれかをクリック
すると、コリジョンハルを編集できます。
スペースバーを押して変形ギズモを循環させ
ることで、コリジョンハルを移動、拡大縮小、
回転させることができます。
Deleteキーを押すと、選択したコリジョンハ
ルを取り外すことができます。
コリジョンハルの編集
インポート時にコリジョンハルを自動生成す
ることで時間を節約できますが、メッシュア
セットの形状によっては、自動生成が常に最
適なソリューションになるとは限りません。
右の画像では、S_Gateメッシュ全体を囲む自
動生成されたコリジョンハルです。このコリ
ジョンハルは、アクターがメッシュを通過す
るのをブロックしますが、アクターが門の下
を通過することができません。この場合、コ
リジョンハルを修正する必要があります。
コリジョンハルの編集:
単純化されたコリジョン
1つのスタティックメッシュに複数のコリ
ジョンハルを追加することができます.
• コリジョンハルを追加するには、メニュー
バーの[コリジョン]をクリックし、追加す
るコリジョンの形状を選択します。
• 1つのコリジョンハルを削除する必要があ
る場合は、Viewportでそのコリジョンハル
を選択し、Deleteキーを押します。
• コリジョンハルをViewportからすべて削除
する場合は、[コリジョン] > [コリジョンを
取り除く]を選択します。
コリジョンハルの編集:
単純化されたコリジョン
右側の画像は、1つのメッシュに割り当てら
れた複数のボックス単純化コリジョンハルを
示しています。
凸型分解
(Convex Decomposition)
スタティックメッシュエディタには凸型分解
というパネルがあり、より複雑なモデルのた
めにコリジョンハルを自動的に生成すること
ができます。
スタティックメッシュの複雑さと凸型分解の
設定を変更すると、さまざまな結果が得られ
ます。
[凸型分解]パネルを開くには、[コリジョン] >
[オートコンベックスコリジョン]を選択しま
す。
自動凸型コリジョン ツールを使ってコリジョン モデルを作成する
http://api.unrealengine.com/JPN/Engine/Physics/Collision/HowTo/AddConvexHulls/index.html
Per-Poly Collision
スタティックメッシュアセットをポリゴン毎
の衝突に設定することができます。これは最
も正確な衝突です。しかし、計算量が多いの
で、精度が必要な特定の状況でのみ使用して
ください。
• スタティックメッシュアセットをポリゴン
ごとの衝突に設定するには、詳細パネルの
コリジョン設定セクションに移動し、
Collision Complexityを[Use Complex Collision
As Simple]に設定します。
• 単純プリミティブ、凸プリミティブの代わ
りに複雑な衝突(ポリゴン毎)を使用する
ようにエディタに指示します。
3. スタティックメッシュアクタの使用
スタティックメッシュアクタ
スタティックメッシュアクタは、スタティッ
クメッシュアセットのインスタンスをレベル
に配置します。
配置された各スタティックメッシュアクタに
は、参照されるスタティックメッシュアセッ
トとは独立して変更できる独自のプロパティ
があります
スタティックメッシュの編集
スタティックメッシュアセットのプロパティ
を変更すると、それを参照するすべてのスタ
ティックメッシュアクタに影響を与える可能
性があります。
たとえば、コリジョンハルをメッシュアセッ
トから完全に削除すると、そのスタティック
メッシュを使用するすべてのアクタはコリ
ジョン応答を生成できません。
ただし、スタティックメッシュアクタのプロ
パティと設定を変更しても、元のスタティッ
クメッシュアセットには影響しません。
スタティックメッシュの配置
スタティックメッシュをレベルに配置するに
は、コンテンツブラウザからアセットをレベ
ルエディタビューポートの現在のレベルにド
ラッグ&ドロップします。
スタティックメッシュをレベルにドラッグす
ると、元のメッシュアセットを参照するスタ
ティックメッシュアクタが作成されます。
配置されたスタティックメッシュアクタをレ
ベルで選択すると、トランスフォームギズモ
がアクタのピボットポイントに表示されます。
レベルエディタの詳細パネルには、アクタに
モビリティ設定とともにワールドの位置、回
転、スケールを格納する変換プロパティがあ
ることが表示されます。
スタティックメッシュアトリビュートは元の
スタティックメッシュアセットを参照します
が、配置されるとスタティックメッシュとマ
テリアル参照を変更できます。
モビリティの設定
スタティックメッシュアクタには、3つのモ
ビリティステート(スタティック、ステイ
ショナリー、ムーバブル)があります。
アクタのモビリティ状態を変更すると、エン
ジンがアクタのライトおよびシャドウ情報を
どのように計算するかが決まります。
• スタティックは、照明をあらかじめ計算す
る必要があることをエンジンに伝えます。
• ステイショナリーは、移動しない Light ア
クタ に使用します。しかし、オン、オフが
切り替えられる、カラーが変更されるなど
ゲームプレイ中に何らかの方法で更新され
る場合があります
• ムーバブルは、ランタイム中に照明を計算
するようにエンジンに指示します。
スタティックメッシュアクタをアニメーショ
ン化したり、物理をシミュレートする場合は、
モビリティをムーバブルに設定する必要があ
ります。
スタティックメッシュアクタの
メッシュリファレンスの変更
スタティックメッシュアクタは、アクタがレ
ベルに配置されたときに使用された最初のス
タティックメッシュアセットを参照します。
メッシュ参照は、以下の2つの方法で簡単に
変更できます。
• コンテンツブラウザの新しいメッシュア
セットを、選択したスタティックメッシュ
アクタのレベル詳細パネルのスタティック
メッシュ参照サムネイルにドラッグします。
• 現在割り当てられているメッシュの横にあ
るドロップダウン矢印をクリックし、新し
いメッシュを選択します。
スタティックメッシュアクタ上
のマテリアル割り当ての変更
スタティックメッシュエディタでは、メッ
シュアセットに割り当てられた元のマテリア
ルに基づいて最初に割り当てられたマテリア
ル参照もあります。
いくつかの方法で各アクタのマテリアルを変
更することができます:
• 新しいマテリアルをコンテンツブラウザか
ら、詳細パネルの現在のマテリアルのサム
ネイル画像にドラッグします。
• 現在割り当てられているマテリアルの横に
あるドロップダウン矢印をクリックし、リ
ストから選択します。
• 新しいマテリアルをクリックして、コンテ
ンツブラウザからレベル内のいずれかのス
タティックメッシュアクタにドラッグしま
す。
スタティックメッシュアクタの
コリジョン応答の編集
レベルで選択されたスタティックメッシュア
クタを使用すると、レベルエディタの詳細パ
ネルでアクタの衝突設定を見つけることがで
きます。
レベルエディタビューポートでアクタコリ
ジョンハルを表示するには、Alt + Cを押して
コリジョンハルの可視性を切り替えます。
コリジョン反応の参照
http://api.unrealengine.com/JPN/Engine/Physics/Collision/Reference/index.html
スタティックメッシュアクタの
コリジョン応答の編集
メインエディタの詳細パネルの衝突プリセッ
トの左側にある三角形をクリックすると、
ウィンドウを展開してより多くのオプション
を表示できます。
既に割り当てられているプリセットでは、コ
リジョン応答オプションがグレー表示され、
変更できないことがわかります。
プリセットは、異なるオブジェクトタイプを
持つアクタのコリジョンレスポンスの共通設
定を定義します。
オプションのロックを解除するには、
「Custom…」を選択します。
Collision Enabled
詳細パネルのCollision Enabledプロパティを使
用すると、選択したアクタの衝突をオンまた
はオフにできます。
これを選択すると、アクタの参照されるスタ
ティックメッシュアセットにコリジョンハル
があっても、アクタは衝突のやりとりやイベ
ントを処理しません。
Object Type
詳細パネルのオブジェクトタイププロパティ
では、このアクタの種類を設定できます。そ
のため、他のアクタが衝突すると、応答する
方法がわかります。
たとえば、スタティックメッシュアクタが[ト
ランスフォーム]の下にある[スタティック]に
設定されている場合、そのオブジェクトタイ
プはWorldStaticに設定する必要がありますが、
[トランスフォーム]で[ムーバブル]に設定され
ている場合は、オブジェクトタイプを
WorldDynamicに設定する必要があります。
Object Type
衝突可能なすべてのアクタには、割り当てら
れたオブジェクトタイプがあります。
7つのオブジェクトタイプがあります:
• WorldStatic
• WorldDynamic
• Pawn
• PhysicsBody
• Vehicle
• Destructible
• Projectile
コリジョン応答
詳細パネルの衝突応答セクションでは、選択
したスタティックメッシュアクタが、定義さ
れたオブジェクトタイプの他のアクタにどの
ように応答するかを設定できます。
衝突の相互作用には3つの相互作用状態(無視
する、オーバーラップ、ブロック)がありま
す:
• 無視する:これらのオブジェクトタイプの衝
突応答は無視されます。
• オーバーラップ:メッシュのコリジョンハ
ルが他のアクタと交差しているかどうかを
確認します。
• ブロック:他のアクタがメッシュのコリ
ジョンハルを通過するのを止めます。
カスタムコリジョン
プリセット
レベルエディタのメインメニューで、[編集] >
[プロジェクト設定] > [Collision]を選択すると、
プロジェクトの独自のコリジョンプリセット
を作成できます。
ただし、最初に開始するときは、カスタムプ
リセットを選択して、選択したスタティック
メッシュアクタ上の各アクタのコリジョン応
答を直接変更するのが最も簡単です。
4. リンク集
リンク集
• スタティックメッシュ
( http://api.unrealengine.com/JPN/Engine/Content/Types/StaticMeshes/index.html )
• スタティックメッシュのインポート
( http://api.unrealengine.com/JPN/Engine/Content/Types/StaticMeshes/HowTo/Importing/index.html )
• スタティックメッシュでコリジョンをセットアップする
( http://api.unrealengine.com/JPN/Engine/Content/Types/StaticMeshes/HowTo/SettingCollision/index.html )
• スタティック メッシュ エディタ UI
( http://api.unrealengine.com/JPN/Engine/Content/Types/StaticMeshes/Editor/index.html )
• 自動凸型コリジョン ツールを使ってコリジョン モデルを作成する
( http://api.unrealengine.com/JPN/Engine/Physics/Collision/HowTo/AddConvexHulls/index.html )
• コリジョン反応の参照
( http://api.unrealengine.com/JPN/Engine/Physics/Collision/Reference/index.html )
http://denshikousakubu.com/
@gansaibow
ゲームエンジンの文法【UE4】No.007 スタティックメッシュエディタ:スタティックメッシュアセットとアクターの操作

ゲームエンジンの文法【UE4】No.007 スタティックメッシュエディタ:スタティックメッシュアセットとアクターの操作