ゲームエンジン導入セミナー【udk編】

89
1

Upload: -epic-games-japan

Post on 13-Jun-2015

824 views

Category:

Engineering


2 download

DESCRIPTION

2013/3/8にCG-ARTS協会様主催によりゲームエンジン導入セミナー【UDK編】を開催させていただきました。 その際の資料です。 元々はこちら(http://www.slideshare.net/junyas1/udk-seminar-masterver)で公開させていただいていましたが、エピック・ゲームズ・ジャパンの公式アカウントでも公開させていただきます。

TRANSCRIPT

Page 1: ゲームエンジン導入セミナー【UDK編】

1

Page 2: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー 【UDK編】 CG-ARTS協会主催

2013/3/8@日本工学院蒲田校

EPIC GAMES JAPAN

SUPPORT TEAM, ROB GRAY & JUN SHIMODA

Page 3: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

オリエンテーション

9:45~10:00

3

Page 4: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

目標:其の1

UDKで

ゲームを制作する

本日の目標

4

Page 5: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

目標:其の2

その方法を

伝授できるようになる

本日の目標

5

Page 6: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

本日のスケジュール

9:45~10:00 オリエンテーション

10:00~11:00 UDK概要説明と基本操作

11:10~12:00 DCCツールとの連携

(モデルやテクスチャのインポート、マテリアル作成)

13:30~14:30 レベルデザイン

14:40~15:40 インタラクティブなアプリ構築

15:50~16:50 独自の制作体験(前編)

17:00~18:00 独自の制作体験(後編)とフォローアップ

6

Page 7: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

講師紹介

ロブ・グレイ(サポート・テクニカルアーティスト)

• アメリカ生まれ。映画制作大学を卒業してから日本に来て15年。テレビのCG制作の仕事などを経て、ゲーム業界に入りました。現在ゲーム業界の経験が約7年になります。前職でのラスト・レムナント等アンリアル・エンジン採用タイトルでの豊富な経験をきっかけに、2012年夏にエピック・ゲームズ・ジャパンに入社。Unreal Engineのテクニカル・アート、パイプライン、レベルデザインやスクリプティング、アセット作成などのサポートをしています。

下田純也(サポート・マネージャ)

• 中学生の頃からMZ-2000でBASIC、アセンブラとプログラミングを始め、CGも学び始める。1991年に学生の身ながらファミコン用のアセンブラでのゲーム制作のアルバイトを始めたのがきっかけで、ゲーム制作の道に入る。ゲーム制作会社数社でのリード開発者経験を経て、2002年マイクロソフト日本法人のゲーム部門に参加。代表作:Felix the Cat、フィロソマ、ポポロクロイス物語シリーズ、ロスト・オデッセイ等。MS退職後、ロスト・オデッセイでのアンリアル・エンジンの利用経験をきっかけとして2010年2月からエピック・ゲームズ・ジャパンでのUnreal Engineの日本国内サポート職に就く。

7

Page 8: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

ゲームエンジン基礎用語

ゲームエンジン

• ウィキペディアの「ゲームエンジン」をご参照ください

レベル

• マップやステージ、面に近いが、背景だけでなくインタラクティブな設定も全て含んだゲームのステージ

アセット

• ゲーム中やレベル制作に使用するモデル・パーツや素材

コリジョン

• プレイヤーが接する地面や壁の当たり、敵や武器の当たり。

イベント

• 何かを起動するきっかけ

イテレーション

• 制作・編集 ⇄ テストプレイ・確認の行き来。

8

Page 9: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

アンリアル・エンジン基礎用語

BSP (Binary Space Partitioning)

• レベルを構築するためのブロック(コリジョン付き)

アクター(Actor)

• レベル上に配置された物

スタティックメッシュ(StaticMesh / 静的メッシュ)

• 静的な建物等の3Dモデル

スケルタルメッシュ(SkeletalMesh / 骨格メッシュ)

• ボーンの入ったアニメーションする人体等の3Dオブジェクト

ポーン(Pawn)

• プレイヤーやAIがコントロールするキャラクター

キズメット(Kismet)

• アンリアル独自のビジュアルスクリプティング言語

スポーン(Spawn)

• キャラやモデルを生成する

9

Page 10: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDK概要説明と基本操作

10:00~11:00

10

Page 11: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDKのライセンス

ライセンス料

• 教育利用は無料

• 無料アプリへの利用は無料

• アイテム課金や、広告による収入にはロイヤリティが発生します

• アプリケーションを販売される場合

• 初期ライセンス99ドル

• さらに、5万ドルを超えた分の売上の25%のロイヤリティ

• アプリ開発以外の業務利用

• 年間2,500ドル×人数

利用できるもの

• UDK内のアセット利用も無料です

• Windows PC、iOSデバイス、Macのみに限定

• UDKではコンソール(PS3、Xbox360等)のサポートを省略

11

Page 12: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDKの詳細説明に入る前に

そもそもゲームエンジンとは?

ゲームを制作するためのオールインワン環境

• ゲームを制作するための • 基本プログラム

• ミドルウェア

• ツール

の統合環境

• ゲームエンジン誕生以前にも • 「描画ライブラリ」や「物理ライブラリ」等の ある分野に特化したライブラリ・ミドルウェア

• 各開発会社の内制共通システム

• マップエディタや各種ツール

が存在していた

• これらを全ての統合とレベルエディタが備わっているのが特長 • エディタでレベルを作成して、ボタン一発で即座にプレイできる

• なので・・・「RPGツクール」等もRPGに特化しているものの デザイン思想的には同じ方向と考えられる

12

Page 13: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDKとは?

Unreal Development Kitの略

• 元々Unreal Engine3はMod制作の世界に広く普及していたのだが、それを広く一般向けに使いやすくしたもの

• Unreal Engine 3との大きな違いはC++のエンジンのソースコードが含まれない事と、ライセンス体系の違いがあります

Unreal Engine

• 1998年、初代Unreal Engine、ゲームUnrealと共にデビュー

• 2002年、Unreal Engine 2発表

• 2004年、Unreal Engine 3発表(UDKのベース)

• 2012年、Unreal Engine 4発表

• Unreal Engineを利用したゲームソフト一覧 http://ja.wikipedia.org/wiki/Unreal_Engine%E3%82%92%E6%8E%A1%E7%94%A8%E3%81%97%E3%81%9F%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%BD%E3%83%95%E3%83%88%E4%B8%80%E8%A6%A7

13

Page 14: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

アンリアル・エンジン

採用タイトル

数々のビッグヒットシリーズ

• Unreal シリーズ

• Gears of War シリーズ

• Bioshock シリーズ

• Mass Effect シリーズ

• Borderlands シリーズ

• Batman シリーズ

日本でも

• ロストオデッセイ

• ラスト レムナント

• シャドウ・オブ・ザ・ダムド

• アスラズ ラース

• ディアボリカルピッチ

• ロリポップチェーンソー

• 超速変形ジャイロゼッター

• DmC: Devil May Cry *

• キラー・イズ・デッド

14 各製品名は各社の登録商標または商標です

*DmCは主な開発は海外

Page 15: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDKの特徴

複雑なプログラミング言語からの開放

• ビジュアルプログラミングによるゲーム作成

• プログラミング言語による深い開発もサポート

数々のミリオンヒットタイトルでの採用事例

大型チーム・大型タイトルの開発効率に優れている

• Perforceサーバとクライアント同梱(20クライアント無料)

通信対戦やネットワーク越しのキャラ同期もすぐに利用可能

• もちろんUDKやモバイルでも通信可能(例:Wild Blood)

15

Page 16: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDKの特徴

ハイエンドのグラフィックをPCからスマフォまでスケーラブルに対応

• ビジュアルなマテリアル(シェーダー)作成ツール

• 先進的なLODサポート(with Simplygon)

• ポストプロセス(DOF,、グレア、アンビエントオクルージョン)

• グローバルイルミネーション

• レンダーターゲット

16

Page 17: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDKの特徴

ゲームプレイ

• 物理エンジン(PhysX)

• AI • ナビゲーションメッシュ(with Recast)

• 群衆

ネットワーク対応

• 通信対戦

• GameCenter対応

• Steam対応

• Facebook対応

プロファイラ

• ゲームプロファイラ

• ネットワークプロファイラ

17

Page 18: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDKの特徴

FPS(ファーストパーソン・シューター)に特化してるの?

• もちろん得意です

• サードパーソン・シューターは すぐできます

でも

・・・もっと違うものも!

18

Page 19: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDKはFPSだけじゃない

Waves

http://www.squidinabox.com/games/

Solar System Educational Program

http://www.explorethesolarsystem.com/Explore_The_Solar

_System.html

http://www.youtube.com/watch?v=rW7qkSf9Fe0

19

Page 20: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDKの海外動向

UDKからフルソースライセンスへの移行事例

• Hawken (http://www.youtube.com/watch?v=dOU4HBJaZ-o)

• Dungeon Defenders

• Chivalry (http://www.youtube.com/watch?v=8Ijb69jekYw)

20

Page 21: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

ゲーム以外の分野への活用

学校

• 大学

• 専門学校

企業

• 建築

• ドライブシミュレーター

• 医療シミュレーター

政府機関

• 戦闘シミュレーター

• 月探索シミュレーター

21

Page 22: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

ゲーム&アプリケーション

Solar System (iPad) https://itunes.apple.com/us/app/solar-system-explore-your/id573791182?ls=1&mt=8

Slender Rising (iOS) https://itunes.apple.com/us/app/slender-rising-free/id589534981

They Se Me Rolling http://www.youtube.com/watch?v=OBm6XZuPqvs

Running Paper http://www.youtube.com/watch?v=BIM5v1A3_TU

Crystal Space http://www.youtube.com/watch?v=XUzoDeIS0pY

A Hat in Time http://www.youtube.com/watch?v=IFtBdssnNI0

Remote Cooldown http://www.youtube.com/watch?v=7xWSZh12qlo

Oblig4 http://www.youtube.com/watch?v=0bKkP6abGMQ

22

Page 23: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

ビジュアルDEMO

Mass Effect challenge http://www.youtube.com/watch?v=fMHst3WWVrM

Left to Rot

• Farm District http://www.youtube.com/watch?v=1U4nEJMzXR4

• City http://www.youtube.com/watch?v=0nPLU4xN2kg

William Maroulis – Level Design http://www.youtube.com/watch?v=H9_IyVXQpms

UDK Rollercoaster http://www.youtube.com/watch?v=oaCQBWHy0ao

2D paper type animation http://www.youtube.com/watch?v=z0K9mRUhfVU

UDK Environment - Uncharted 3 Inspired https://www.youtube.com/watch?v=YGna1Ey0SYI

23

Page 24: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

Visualize

Real time Architectural Visualization

http://www.youtube.com/watch?v=-BDaqxXNw8U

Water Simulations for the National Highway Institute

http://www.youtube.com/watch?v=F6-Y9QUBSCw

Boston City Hall

http://www.youtube.com/watch?v=my9XK0HbPn4

Tesseract Group Offices

http://vimeo.com/58028298

Golf Course

http://www.youtube.com/watch?v=fip9-R2mVaA

24

Page 25: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

それでは・・・ ここから本編。

25

Page 26: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDKのインストールと起動

UDKの日本語ページ www.unrealengine.com/ja/udk/ の「ダウンロード」から 最新リリースをダウンロードしてインストールしてください。

• 最低スペック • Windows XP SP3以上

• 2GHz以上のCPU、2GB RAM、3GB以上のHDDの空き容量

• Shader Model 3対応のグラフィックスカード

• 推奨スペック • Windows 7 64ビット版

• 2GHz以上のマルチコアCPU、8GB RAM、大容量HDD

• NVIDIA 8000シリーズもしくはそれ以上のグラフィックスカード

Windowsのスタートメニューから

• 「Unreal Development Kit」を選択すると、先ほどインストールしたフォルダ名(「UDK-2012-10」等)の中に 「UDK Editor」があるので、そちらをクリックしてください。

26

Page 27: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

アンリアル・エディタ

アンリアル・エディタを使って 実際のゲームはもちろん、マチネー、キズメット等で使われるコンテンツをレベル上に組み上げます

本日後半は、実際に制作を体験していただきます

27

Page 28: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

アンリアル・エディタの操作

コンテンツブラウザ

コンテンツのブラウザ

• アセットの管理ツール

• Perforceと連携

• Windowsのフォルダツリー

• パッケージ内にコンテンツ

• パッケージ内にさらにサブフォルダのようなグループを作成可能

Ctrl+Bやウインドウ上部のアイコンで開きます

28

Page 29: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

アンリアル・エディタ

各ビューのモード切替

4分割ビューと全面ビュー

• 各ビュー右上のアイコンで切り替え

ビューの種類(サイド、パース等)

• 各ビュー左上の「S」「F」「P」「T」で切り替え

ビューの表示モード

• ワイヤーフレーム、ライティング、シェーダーの負荷等々

29

Page 30: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

アンリアル・エディタ

ビュー内での移動操作

パースビュー

• マウス左ボタン+マウス移動で前後移動とカメラの左右パン

• マウス右ボタン+マウス移動でカメラの上下左右パン

• マウス左右ボタン+マウス移動でカメラの上下左右移動

• Mayaライク • Uキーを押しながら、カメラの中心を軸に回転

• Lキーを押しながら、選択したオブジェクトを軸に回転

• WASDキー • W:前進、S:後退、A:左、D:右、移動 「ユーザー設定」メニューの「フライトカメラ操作オプション」でON/OFF可能

平行投影ビュー

• マウス左もしくは右ボタン+ドラッグで平行移動

• マウス左右ボタン+ドラッグでカメラの前後

• 「ユーザー設定」メニューから平行投影ビューのリンク制御

各ビュー共通

• 「Home」でオブジェクト中心にカメラを移動

30

Page 31: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

アンリアル・エディタ

ビュー上のオブジェクト選択

オブジェクトの選択

• 複数選択

• Ctrlを押しながらマウス左クリックで、選択オブジェクトを追加できます

• Ctrl+Alt+マウス左ドラッグで、ボックス選択

• Ctrl+Alt+マウス右ドラッグで、ボックス選択解除

• 選択の解除は、Shift+N

「スペース」キーで移動ウィジェット切り替え

• 「スペース」キーで平行移動・回転・スケールの切り替え

31

Page 32: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

アンリアル・エディタ

ビュー上へのオブジェクト配置

スタティック・メッシュやスケルタルメッシュの配置

• コンテントブラウザからドラッグ&ドロップでレベル上に配置

• コンテンツブラウザでスタティック・メッシュを選択し ※「ユーザー設定」-「フライトカメラ操作オプション」で WASDで移動しないようにしておく必要があります

• 「S」キーを押しながら レベル上をクリックで配置

• 「Alt+S」キーを押しながら レベル上をクリックすると 配置先のオブジェクトの 面(法線)に沿って配置

• 配置時の回転やスケールの制御は スタティック・メッシュモードで

32

Page 33: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

アンリアル・エディタ

配置されたオブジェクトの操作

配置されたオブジェクトは・・・

• エディタ上部の移動アイコン群の左クリックでウィジェットを切り替えられますが、右クリックすると数値入力できます

• 「相対値」にチェックを入れることで • 現在のオブジェクトの位置から相対移動になります

• オブジェクトを複数選択して適用することも可能です • その横の「ローカル」「ワールド」の切り替えで、ワールド座標とオブジェクトのローカル座標とを切り替えられます

その他便利なオブジェクト操作

• Alt+マウス左ドラッグで、複製移動

• 「F4」でプロパティウインドウ表示

33

Page 34: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

アンリアル・エディタ

BSPの基本操作

Binary Space Partitioningの略なのですが、レベル上に足し引きできるブロックのようなものです

基本操作

• BSPでよく使うのは

• Brushesアイコン群の「キューブ」と

• CSGアイコン群の「CSG和演算」です

• Brushesアイコン群をクリックすると

• 「キューブ」等の形状が

赤いラインでマップに現れます

• これが「ブラシ」となり

このブラシの形状をレベル上に

足し(引き)していきます。

34

Page 35: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

アンリアル・エディタ

BSPの基本操作

ブラシ形状の変更

• ウィジェットでの操作

• Brushesアイコンの右クリックで数値入力もできます

• Modesアイコン群から、編集モードをジオメトリモードに

• ジオメトリモードにすることで、個々の頂点を移動させる事もできます、この場合Ctrlキーを押しながら、マウス左クリックで複数の頂点を選択できます

• 頂点の移動は基準座標系「ワールド」が扱い易いです

35

Page 36: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

アンリアル・エディタ

BSPの基本操作Tips

配置後のBSPブラシを動かして、エディタに反映させるには

• 「ビルド」メニューの「現在のレベルのジオメトリ」

デフォルトではOFFになっていますが

• 「ユーザー設定」メニューの 「BSPビジュアルの自動更新」にチェックを 入れることで、移動が即反映されます

• ただし、コリジョンには反映されないので 上記の再「ビルド」は必要です

配置後のBSPブラシをクリックすると

• BSP上の面が選択されますが Shift+Ctrl+左クリックで、BSPブラシ選択可能

• 「ユーザー設定」メニューの 「BSPのクリックでブラシを選択」に チェックを入れると、この動作を入れ替えられます

36

Page 37: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDK導入に有用なリソース

チュートリアルビデオ

• 3D Buzz(UDKドキュメントサイト内、日本語字幕ファイルあり)

http://udn.epicgames.com/Three/VideoTutorialsJP.html

• 【映像再生】

• Technical Art Tutorials

http://www.youtube.com/udkTutorials

• UDK: How to Add Player Starts, PathNodes, Weaopns, Items,

Vehicles an… - World of Level Design

http://www.youtube.com/watch?v=8qscKmO8Hmo

37

Page 38: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

DCCツールとの連携

11:10~12:10

38

Page 39: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

そもそもDCCツールとは?

2D素材や3Dモデルを制作するためのツールです (Digital Content Creation ツールの略 最初がDesignと説明されている場合もあり)

• 2D素材

• Products: Photoshop®, Painter

• Share: Sai

• Free: Gimp

• 3Dモデル

• Products: Maya®, 3ds Max®, Softimage®, Mudbox™, Zbrush®

• Share: Metasequoia (FBX出力なし、後述)

• Free: Blender

これらの2D素材や、3Dモデルを作成する機能はUDKにないので、インポートして利用する事になります。

39

Page 40: ゲームエンジン導入セミナー【UDK編】

40

2D素材

Page 41: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDKの対応している

2D素材テクスチャフォーマット

テクスチャフォーマット

• PSD (Photoshop®の標準画像形式)

• TGA (古い歴史のあるTargaフォーマット、RGBA各8ビットの32ビットまで保持できる)

• PNG (W3C推しのWeb向けフォーマット、RGBA各8ビットもしくは16ビットの64ビットまで保持できるが、UDKでは8

ビットフォーマットをサポート)

• BMP (Windowsの標準画像フォーマット、UDKではRGBA8

ビットのフォーマットをサポート)

• FLOAT (RGB浮動少数画像、UDKではRGBEに変換して格納)

• PCX (使うメリットがないので割愛)

41

Page 42: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

2D素材のインポート

コンテントブラウザからインポートします

• 左下のインポートボタン

• 右クリック「Import」

• 素材を直接コンテンツブラウザへドラッグ&ドロップ

注意

• 素材データ全般ですが日本語のフォルダ名・ファイル名が使われていると問題が発生する場合があるので英語のファイル名をご利用ください

42

Page 43: ゲームエンジン導入セミナー【UDK編】

43

3Dモデル

Page 44: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

UDKの対応している

3Dモデルフォーマット

3Dモデルフォーマット

• FBX (Autodeskさん推奨フォーマット、元々はFilmbox用)

http://udn.epicgames.com/Three/FBXBestPracticesJP.html

古いので非推奨

• PSK (旧スケルタル・メッシュ専用フォーマット)

• ASE (旧スタティック・メッシュ専用フォーマット)

• 過去にはDAE (COLLADA、SCEさん提唱のオープンなフォーマット) もサポートしていましたが、最近更新がないようなので現在はサポートしておりません

44

Page 45: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

3Dモデルのインポート

コンテントブラウザからインポートします

• 左下のインポートボタン

• 右クリック「Import」

• 素材を直接コンテンツブラウザへドラッグ&ドロップ

お勧めのオプション

• Combine Meshes

• Import Materials

• Import Textures

45

Page 46: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

マテリアル

難しいプログラマブル・シェーダーのコードを書く必要なし

ビジュアルにマテリアル(シェーダー)が組める

• さらにリアルタイムで途中の状況が確認できる!

http://udn.epicgames.com/Three/MaterialExamplesJP.html

46

Page 47: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

マテリアルインスタンス

マテリアルの一部パラメータのみ変更

複雑なマテリアルを組まずにバリエーションが簡単に作れる

MatineeやKismet、プログラムから操作可能

http://udn.epicgames.com/Three/InstancedMaterialsJP.html

47

Page 48: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

アニメーション

アニメーション・シーケンス

• DCCツールで作成したアニメーションをインポート

• AnimNotifyでアニメーションにイベントを埋め込める

• パーティクル

• サウンド

• イベント

48

Page 49: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

AnimTree

(アニメーション・ツリー)

アニムツリー

• プログラムを組まずにアニメーションの状態遷移

• IK制御

49

Page 50: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

パーティクル(Cascade)

パーティクルのエディタ

• マテリアル

• エミッター

• タイムライン

50

Page 51: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

サウンド

サウンドデータはWAVから

インポートオプション

• Auto Create Cue にチェックでSEとして

使いやすいCueも作成

• ループ音は

Include Looping Nodeも有用

51

Page 52: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

レベルデザイン

13:30~14:30

52

Page 53: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

BSP

BSPとはバイナリ・スペース・パーティション(Binary

Space Partition)の略

ここで使われるのは数学的に生成された面となり、CSG、(コンストラクティブ・ソリッド・ジオメトリ、Constructive

Solid Geometry)と呼ばれます

CSGでレベル全体を構築することもできますし、部分的に利用することもできます

一般的にはCSGはスタティック・メッシュより重いです

53

Page 54: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

BSP

ソリッドな(空きではない密度のある)形状をワールドに追加できます

そこから、ある形状で削ることもできます

ワールドに配置された形状から、複雑なブラシを作ることもできます

ブラシはシンプルに保つことを留意してください!

計算は追加・削除の順番に従って構築されますが、コンテキストメニューから順番を変更することも可能です

デフォルトでは左クリックでBSP上の面が選択されますが、Shift+Ctrl+左クリックで、ブラシを選択できます

54

Page 55: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

Decals

Decalsは、レベルの表面に投影されたテクスチャー。

Decalで、ワールドのディテールを簡単にすぐに増やすことが可能。

ペイントや、血糊、ラベルを作るには便利です。

55

Page 56: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

StaticMeshの配置

Static Meshは、 3DSMaxやMayaのDCCツールからインポートされたモデルです。

Static Meshは、Lightmassにより焼き付けられたライトマップを利用します

Static Meshは、ビデオメモリ上にキャッシュされた1つのメッシュデータを利用するので高速です

基本的にはStatic Meshはアニメーションを使えませんが、マテリアルで頂点アニメーションが可能です。

56

Page 57: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

Lighting

directional light、point light、spot light、sky lightでレベルのライティングを入れる。

ライトの色や明るさを変更することができる。

Directional lightと spot lightを回転することで方向を決める。

マスクと使用するマテリアルと半透明なマテリアルも正しく影を落とす。

Lightmassで静的なライティングとGIをベークする。

Lightmassのクオリティーを低くするとライティングの時間が早くなる。

57

Page 58: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

Particle Effects

パーティクルのエフェクトでレベルに動的なディテールを追加することが可能。

Cascadeで正しく設定すると、ワールドとコリジョンやインタラクションが可能。

58

Page 59: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

環境音(Ambient Sound)

ビジュアルに合わせた環境音を配置することで、その環境に居る感覚を、よりプレイヤーに感じさせることができます

複数の環境音を重ねる事により、より印象的な環境を構築できます

リバーブ(反響音)を追加することも、もちろんできます

59

Page 60: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

ボリューム(Volume)

ボリュームとは見えないBSPで、レベルに様々な機能を追加できます

ブロッキング・ボリュームでレベル上に見えない壁をつくり、レベルのコリジョンをシンプルに構築することが可能です

ポストプロセス・ボリュームにプレイヤーが入った場合に、シーンのデフォルトのポストプロセスとは違ったポストプロセスを適用することも可能です

物理ボリュームで、物理設定を変えることも可能です

(例:重力の違い等)

60

Page 61: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

Kismet

Kismetを利用することでレベルにインタラクティブな部分を作れる。

ライトをトグルしたり、ドアやエレベーターを動かしたりできる。

簡単なゲームロジック。

61

Page 62: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

Landscape(Terrain)

Create Landscape

Landscape material

• Use sample material -> introduce documents

Ref

• Link

• Pic

62

Page 63: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

インタラクティブなアプリ構築

14:40~15:40

63

Page 64: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

実際のUDK上で制作実演

UDK上でKismetを使ってゲーム制作

(50分前後実演予定)

64

Page 65: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

レベルのセットアップ

EngineMeshes\CubeのStaticMeshを配置して床を作る。

• プロパティーでdrawscaleを(x=4, y=2, z=0.25)にセット。

• 位置はわかりやすく原点にlocationを(x=0, y=0, z=0)にセット。

PlayerStartとDominantDirectionalLightを追加。

WorldPropertiesでGameType for PIEをutgameに。

プレーヤーが前後に動かないように、プレーヤーの周りにBlocking volumeを配置。右と左の動きを制限させるためにもBlocking Volumeを入れる。

• Brushesのキューブ右クリックからブラシビルダ- キューブ

• 左右のBlockingVolumeは(x=1024, y=64, z=256)

• 前後のBlockingVolumeは(x=32, y=512, z=256)

プレーヤーの後ろにCameraActorを配置。

65

Page 66: ゲームエンジン導入セミナー【UDK編】

66

レベルのセットアップ

Page 67: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

Kismetでカメラを切り替える

「新しいイベント」>LevelLoadedのノードを配置。

新しいMatineeを作る。

レベルでカメラが選択されている状態で、Matineeで「新しい空きのグループを新規作成」。

• このグループを「Camera」という名前にする。

Matineeで「新しいディレクタグループを追加」。

タイムラインの0でキーを入れて、「Camera」グループを選ぶ。

Matineeのプロパティーで、Loopingにチェックを入れる。

67

Page 68: ゲームエンジン導入セミナー【UDK編】

68

Kismetでカメラを切り替える

Page 69: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

プレーヤーの動きを制限しよう

Kismetで「新しいイベント」>Player>Player Spawnedのノードを配置。

「新しいアクション」>Toggle>Toggle Cinematic Modeを配置して、Player Spawnedをこれに接続する。

• プロパティーで、DisableMovement, DisableInput,

HidePlayerのチェックを外す。

「新しいアクション」>Pawn>Pawn Animのノードを配置。

• Anim Nameというプロパティーに、「Run_Fwd_Red」を入力する。

• Loopingプロパティーにチェックを。

「新規の変数」>Player>Playerを上記アクションノードのTargetに接続

69

Page 70: ゲームエンジン導入セミナー【UDK編】

70

プレーヤーの動きを制限しよう

Page 71: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

Matineeで床を動かそう

レベルで床のメッシュを右クリックし、Convert「変換」>「StaticMeshアクターを Moverに変換」でInterpActorに変更する。

• コリジョンの設定が「No Collision」になるので、プロパティーでCollsion>Collision TypeをCOLLIDE_Block Allにする。

床が選択されているままで、Matineeで「空きのグループを新規追加」。

• このグループの名前を「Floor」に。

Floorグループを右クリックし、「(movement)ムーブメントトラックを新規追加」で移動のトラックを追加する。

タイムラインの2秒で、Movement Trackにキーを入れる。

レベルで床のメッシュを512ユニットをカメラの方向に移動する。

カーブエディターで、カーブをリニアにする。

Matineeの終点(タイムラインしたにある赤い三角)を右クリックし、Move to Longest Track Endpointを選ぶ。

71

Page 72: ゲームエンジン導入セミナー【UDK編】

72

Matineeで床を動かせよう

Page 73: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

床を長くしよう

レベルで床のメッシュをコピーして、元の床メッシュの隣に移動する。

元の床に新しい床をアタッチする。

• 新しいメッシュのプロパティを開く。

• ロックのアイコンをクリック。

• 元の床メッシュを選択する。

• 新しいメッシュのAttachment>Baseプロパティの右にある緑矢印をクリックし、元のメッシュをアサインする。

• Hard Attachプロパティにチェックを。

アタッチした床をさらに2個コピーして移動する。

73

Page 74: ゲームエンジン導入セミナー【UDK編】

74

床を長くしよう

Page 75: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

障害物を作ろう

MatineeでFloorグループを選択し、右クリックして「(Event)イベントトラックを新規追加」。

Event Trackでタイムラインの最初の方にキーを入れる(約0.5秒に)。

• 名前を「Spawn」にする。

Kismetで「新しいアクション」>Actor>Actor Factoryを作る。

• FactoryプロパティをActorFactoryRigidBodyにする。

• Meshプロパティーを好きなメッシュに(RemadePhysBarrelなど)。

• Scaleプロパティーで大きさを指定する。(x=1.5, y=1.5, z=1.5)

• No Encroach Checkプロパティーのチェックを外す(コリジョンのため)。

75

Page 76: ゲームエンジン導入セミナー【UDK編】

76

障害物を作ろう

Page 77: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

障害物をランダムに

レベルで3つの新しいPathNodeを配置。

3つのPath Nodeを選択し、Kismetで「新規の変数」>Object>Object Listを。

ObjectListを右クリックし、「PathNodeをオブジェクトリストに挿入」で3つのPath NodeをObject Listに入れる。

「新しいアクション」>Object List>Access Object Listのノードを入れる。

MatineeのSpawn出力をAccess ObjectListのRandom入力に接続する。

Access ObjectListのOutput Objectコネクタを右クリックし、「Object変数を新規作成」で空のObject変数を作る。

この変数をActor FactoryのSpawn Pointタブに接続する。

樽がBlocking volumeで止まってしまうので、Blocking Volumeのプロパティーを開いて、Collision>Block Rigid Bodyプロパティーのチェックを外す。

77

Page 78: ゲームエンジン導入セミナー【UDK編】

78

障害物をランダムに

Page 79: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

ジャンプを高くしよう

Kismetで「新しいアクション」>Object Property>Modify

Propertyのノードを配置。

• Propertyの右にある緑プラスをクリックし、編集するプロパティーを一つ追加する。

• Property Nameに「JumpZ」を入力。

• Modify Propertyにチェック。

• Property Valueに500を入力。

79

Page 80: ゲームエンジン導入セミナー【UDK編】

80

ジャンプを高くしよう

Page 81: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

プレーヤーにダメージを

Kismetで「新しいアクション」>Event>Attach To Eventのノードを配置。

「新しいイベント」>Physics>Touchのイベントノードを配置。

• Class Proximity Typesのプロパティーで「KActorSpawnable」を選ぶ。

• Max Trigger Countを0にする。

• Player Onlyプロパティーのチェックを外す。

「新しいアクション」>Actor>Modify Healthのノードを配置。

• Amountプロパティーを「25」に。

81

Page 82: ゲームエンジン導入セミナー【UDK編】

82

プレーヤーにダメージを

Page 83: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

Unreal Frontend

ゲームやアプリができたら

• 公開するためのパッケージを制作

• そのためのツールがUneral Frontendです

Windowsの「スタート」メニューのUDKから

• Unreal Development KitのTool内の「Unreal Frontend」

83

Page 84: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

独自の制作体験(前編)

15:50~16:50

84

Page 85: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

それでは制作してみましょう

ゲーム制作に慣れていないかたは、UDKのプレイヤーを利用すると手っ取り早くできます

• 「編集」メニューから、WorldInfoを選択

• GameTypeをUTGameに設定

お気軽に、創ってみたいアイディアのご相談をどうぞ!

85

Page 86: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

独自の制作体験(後編)とフォローアップ

17:00~18:00

86

Page 87: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

制作フォロー

皆さんの席を周りますので、気になる点等気軽に声をかけてください

87

Page 88: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

制作に行き詰ったら・・・

ドキュメントを検索してみてください

• http://udn.epicgames.com/Three/WebHomeJP.html

UDKのフォーラムを覗いてみてください

• http://forums.epicgames.com/forums/366-UDK

TumblrでTipsも公開しています

• http://epicgamesjapan.tumblr.com

88

Page 89: ゲームエンジン導入セミナー【UDK編】

ゲームエンジン導入セミナー【UDK編】

ありがとうございました

© 2013, Epic Games, Inc. All rights reserved. Epic, Epic

Games, the Epic Games logo, Gears of War, Gears of War

2, Marcus Fenix, the Crimson Omen logo, Unreal, Unreal

Engine, Unreal Tournament, and the Unreal Tournament 3

logo are trademarks or registered trademarks of Epic

Games, Inc. in the United States of America and

elsewhere. Other brands or product names are the

trademarks of their respective owners.

89