福島gamejam2013 参加者向け事前セミナー【udk編】

79
第 1 第 第第 GameJam2013 第第第第第第第第第第第UDK 第1

Upload: junya-shimoda

Post on 13-Jun-2015

3.322 views

Category:

Entertainment & Humor


2 download

DESCRIPTION

福島GameJam 2013 参加者向け事前セミナー 【】

TRANSCRIPT

Page 1: 福島GameJam2013 参加者向け事前セミナー【UDK編】

1

Page 2: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回福島 GameJam2013参加者向け事前セミナー 【 UDK 編】2013/7/6 IGDA 日本主催

FROM CRI ミドルウェア様オフィス

EPIC GAMES JAPAN  下田純也

Page 3: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

3

UDK でゲームを制作できるようになる

本日の目標

Page 4: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

4

講師紹介 下田純也(サポート・マネージャ)

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

Page 5: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

5

ゲームエンジン基礎用語 ゲームエンジン

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

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

アセット

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

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

• 何かを起動するきっかけ イテレーション

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

Page 6: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

6

アンリアル・エンジン基礎用語 BSP (Binary Space Partitioning)

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

• レベル上に配置された物 スタティックメッシュ( StaticMesh / 静的メッシュ)

• 静的な建物等の 3D モデル スケルタルメッシュ( SkeletalMesh / 骨格メッシュ)

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

• プレイヤーや AI がコントロールするキャラクター キズメット( Kismet )

• アンリアル独自のビジュアルスクリプティング言語 スポーン( Spawn )

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

Page 7: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

7

UDK 概要説明と基本操作

Page 8: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

8

UDK のライセンス ライセンス料

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

• アイテム課金や、広告による収入にはロイヤリティが発生します• アプリケーションを販売される場合

• 初期ライセンス 99 ドル• さらに、 5 万ドルを超えた分の売上の 25% のロイヤリティ

• アプリ開発以外の業務利用• 年間 2,500 ドル × 人数

利用できるもの

• UDK 内のアセット利用も無料です• キャラクターモデルは除外

• Windows PC 、 iOS デバイス、 Mac のみに限定• UDK ではコンソール( PS3 、 Xbox360 等)のサポートを省略

Page 9: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

9

UDK の詳細説明に入る前にそもそもゲームエンジンとは? ゲームを制作するためのオールインワン環境

• ゲームを制作するための• 基本プログラム• ミドルウェア• ツール の統合環境

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

• 各開発会社の内制共通システム• マップエディタや各種ツール が存在していた

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

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

Page 10: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

10

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

Page 11: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

11

アンリアル・エンジン採用タイトル 数々のビッグヒットシリーズ

• Unreal シリーズ• Gears of War シリーズ• Bioshock シリーズ• Mass Effect シリーズ• Borderlands シリーズ• Batman シリーズ

日本でも• ロストオデッセイ• ラスト レムナント• シャドウ・オブ・ザ・ダムド• アスラズ ラース• ディアボリカルピッチ• ロリポップチェーンソー• 超速変形ジャイロゼッター• DmC: Devil May Cry• キラー・イズ・デッド• Yaiba: Ninja Gaiden Z• Bloodmasque• Magus• クリムゾン・ドラゴン• D4各製品名は各社の登録商標または商標です

* 含海外開発タイトル

Page 12: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

12

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

• ビジュアルプログラミングによるゲーム作成• プログラミング言語による深い開発もサポート

数々のミリオンヒットタイトルでの採用事例 大型チーム・大型タイトルの開発効率に優れている

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

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

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

Page 13: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

13

UDK の特徴 ハイエンドのグラフィックを PC からスマフォまでスケーラ

ブルに対応

• ビジュアルなマテリアル(シェーダー)作成ツール• 先進的な LOD サポート( with Simplygon )• ポストプロセス( DOF, 、グレア、アンビエントオクルー

ジョン)• グローバルイルミネーション• レンダーターゲット

Page 14: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

14

UDK の特徴 ゲームプレイ

• 物理エンジン( PhysX )• AI• ナビゲーションメッシュ( with Recast )• 群衆

ネットワーク対応

• 通信対戦• GameCenter対応• Steam対応• Facebook対応

プロファイラ

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

Page 15: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

15

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

• もちろん得意です• サードパーソン・シューターは

すぐできます

でも

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

Page 16: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

16

UDK は FPS だけじゃない Waves

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

Solar System Educational Programhttp://www.explorethesolarsystem.com/Explore_The_Solar_System.html

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

Page 17: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

17

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

• Hawken (http://www.youtube.com/watch?v=dOU4HBJaZ-o)• Dungeon Defenders• Chivalry (http://www.youtube.com/watch?v=8Ijb69jekYw)

Page 18: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

18

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

• 大学• 専門学校

企業

• 建築• ドライブシミュレーター• 医療シミュレーター

政府機関

• 戦闘シミュレーター• 月探索シミュレーター

Page 19: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

19

ゲーム&アプリケーション 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 Rollinghttp://www.youtube.com/watch?v=OBm6XZuPqvs

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

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

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

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

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

Reference

Page 20: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

20

ビジュアル DEMO Mass Effect challenge

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

Left to Rot

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

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

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

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

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

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

Reference

Page 21: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

21

Visualize Real time Architectural Visualization

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

Water Simulations for the National Highway Institutehttp://www.youtube.com/watch?v=F6-Y9QUBSCw

Boston City Hallhttp://www.youtube.com/watch?v=my9XK0HbPn4

Tesseract Group Officeshttp://vimeo.com/58028298

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

Reference

Page 22: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

22

早速始めましょう。

Page 23: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

23

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-2013-02 」等)の中に「 UDK Editor 」があるので、そちらをクリックしてください。

Page 24: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

24

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

本日は実際に体験してみましょう

Page 25: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

25

アンリアル・エディタの操作コンテンツブラウザ コンテンツのブラウザ

• アセットの管理ツール• Perforce と連携• Windows のフォルダツリー• パッケージ内にコンテンツ

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

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

Try it!

Page 26: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

26

アンリアル・エディタ各ビューのモード切替 4 分割ビューと全面ビュー

• 各ビュー右上のアイコンで切り替え ビューの種類(サイド、パース等)

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

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

Try it!

Page 27: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

27

アンリアル・エディタビュー内での移動操作 パースビュー

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

• U キーを押しながら、カメラの中心を軸に回転• L キーを押しながら、選択したオブジェクトを軸に回転

• WASD キー• W: 前進、 S: 後退、 A:左、 D:右、移動

「ユーザー設定」メニューの「フライトカメラ操作オプション」で ON/OFF可能 平行投影ビュー

• マウス左もしくは右ボタン+ドラッグで平行移動• マウス左右ボタン+ドラッグでカメラの前後• 「ユーザー設定」メニューから平行投影ビューのリンク制御

各ビュー共通

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

Try it!

Page 28: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

28

アンリアル・エディタビュー上のオブジェクト選択 オブジェクトの選択

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

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

• 選択の解除は、 Shift+N 「スペース」キーで移動ウィジェット切り替え

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

Try it!

Page 29: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

29

アンリアル・エディタビュー上へのオブジェクト配置 スタティック・メッシュやスケルタルメッシュの配置

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

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

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

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

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

Try it!

Tips

Page 30: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

30

アンリアル・エディタ配置されたオブジェクトの操作 配置されたオブジェクトは・・・

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

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

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

のローカル座標とを切り替えられます その他便利なオブジェクト操作

• Alt+ マウス左ドラッグで、複製移動• 「 F4 」でプロパティウインドウ表示

Try it!

Page 31: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

31

アンリアル・エディタBSP の基本操作 Binary Space Partitioning の略なのですが、レベル上に足し引きできるブロックのようなものです

基本操作

• BSP でよく使うのは• Brushes アイコン群の「キューブ」と• CSG アイコン群の「 CSG和演算」です

• Brushes アイコン群をクリックすると• 「キューブ」等の形状が赤いラインでマップに現れます

• これが「ブラシ」となりこのブラシの形状をレベル上に足し(引き)していきます。

Page 32: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

32

アンリアル・エディタBSP の基本操作 ブラシ形状の変更

• ウィジェットでの操作• Brushes アイコンの右クリックで数値入力もできます• Modes アイコン群から、編集モードをジオメトリモードに

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

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

Page 33: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

33

アンリアル・エディタBSP の基本操作 Tips 配置後の BSP ブラシを動かして、エディタに反映させるには

• 「ビルド」メニューの「現在のレベルのジオメトリ」 デフォルトでは OFF になっていますが

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

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

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

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

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

Tips

Page 34: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

34

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 Designhttp://www.youtube.com/watch?v=8qscKmO8Hmo

Must have!

Page 35: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

35

DCC ツールとの連携

Page 36: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

36

そもそも 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 にないので、インポートして利用する事になります。

Page 37: 福島GameJam2013 参加者向け事前セミナー【UDK編】

37

2D 素材

Page 38: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

38

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 ( 使うメリットがないので割愛 )

Page 39: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

39

2D 素材のインポート コンテントブラウザからインポートします

• 左下のインポートボタン• 右クリック「 Import 」• 素材を直接コンテンツブラウザへドラッグ&ドロップ

注意

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

Try it!

Point

Page 40: 福島GameJam2013 参加者向け事前セミナー【UDK編】

40

3D モデル

Page 41: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

41

UDK の対応している3D モデルフォーマット 3D モデルフォーマット

• FBX (Autodesk さん推奨フォーマット、元々は Filmbox 用 )http://udn.epicgames.com/Three/FBXBestPracticesJP.html

古いので非推奨

• PSK (旧スケルタル・メッシュ専用フォーマット )• ASE (旧スタティック・メッシュ専用フォーマット )• 過去には DAE (COLLADA 、 SCE さん提唱のオープンな

フォーマット ) もサポートしていましたが、最近更新がないようなので現在はサポートしておりません

Page 42: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

42

3D モデルのインポート コンテントブラウザからインポートします

• 左下のインポートボタン• 右クリック「 Import 」• 素材を直接コンテンツブラウザへドラッグ&ドロップ

お勧めのオプション

• Combine Meshes• Import Materials• Import Textures

Try it!

Point

Page 43: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

43

マテリアル 難しいプログラマブル・シェーダーのコードを書く必要なし ビジュアルにマテリアル(シェーダー)が組める

• さらにリアルタイムで途中の状況が確認できる! http://udn.epicgames.com/Three/MaterialExamplesJP.html

Page 44: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

44

マテリアルインスタンス マテリアルの一部パラメータのみ変更 複雑なマテリアルを組まずにバリエーションが簡単に作れる Matinee や Kismet 、プログラムから操作可能

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

Try it!

Page 45: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

45

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

• DCC ツールで作成したアニメーションをインポート• AnimNotify でアニメーションにイベントを埋め込める

• パーティクル• サウンド• イベント

Try it!

Page 46: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

46

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

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

Page 47: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

47

パーティクル( Cascade ) パーティクルのエディタ

• マテリアル• エミッター• タイムライン

Try it!

Page 48: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

48

サウンド サウンドデータは WAV から インポートオプション

• Auto Create Cueにチェックで SE として使いやすい Cue も作成

• ループ音はInclude Looping Node も有用

Page 49: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

49

レベルデザイン

Page 50: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

50

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

Space Partition )の略 ここで使われるのは数学的に生成された面となり、 CSG 、

(コンストラクティブ・ソリッド・ジオメトリ、 Constructive Solid Geometry )と呼ばれます

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

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

Page 51: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

51

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

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

できます ブラシはシンプルに保つことを留意してください! 計算は追加・削除の順番に従って構築されますが、コンテキ

ストメニューから順番を変更することも可能です デフォルトでは左クリックで BSP 上の面が選択されますが、

Shift+Ctrl+左クリックで、ブラシを選択できます

Page 52: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

52

StaticMesh の配置 Static Mesh は、 3DSMax や Maya の DCC ツールからイン

ポートされたモデルです。 Static Mesh は、 Lightmass により焼き付けられたライトマッ

プを利用します Static Mesh は、ビデオメモリ上にキャッシュされた 1つの

メッシュデータを利用するので高速です 基本的には Static Mesh はアニメーションを使えませんが、

マテリアルで頂点アニメーションが可能です。

Page 53: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

53

Lighting directional light 、 point light 、 spot light 、 sky light でレベル

のライティングを入れる。 ライトの色や明るさを変更することができる。 Directional light と spot light を回転することで方向を決める。 マスクと使用するマテリアルと半透明なマテリアルも正しく影を落とす。

Lightmass で静的なライティングとGIをベークする。 Lightmass のクオリティーを低くするとライティングの時間

が早くなる。

Page 54: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

54

Particle Effects パーティクルのエフェクトでレベルに動的なディテールを追

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

タラクションが可能。

Page 55: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

55

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

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

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

Page 56: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

56

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

できます ブロッキング・ボリュームでレベル上に見えない壁をつくり、

レベルのコリジョンをシンプルに構築することが可能です ポストプロセス・ボリュームにプレイヤーが入った場合に、

シーンのデフォルトのポストプロセスとは違ったポストプロセスを適用することも可能です

物理ボリュームで、物理設定を変えることも可能です(例:重力の違い等)

Page 57: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

57

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

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

きる。 簡単なゲームロジック。

Page 58: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

58

ゲーム制作!

Page 59: 福島GameJam2013 参加者向け事前セミナー【UDK編】

59

レベルのセットアップ

Page 60: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

60

レベルのセットアップ 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 を配置。

Page 61: 福島GameJam2013 参加者向け事前セミナー【UDK編】

61

Kismetでカメラを切り替える

Page 62: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

62

Kismetでカメラを切り替える 「新しいイベント」 >LevelLoaded のノードを配置。 新しい Matinee を作る。 レベルでカメラが選択されている状態で、 Matinee で「新し

い空きのグループを新規作成」。

• このグループを「 Camera 」という名前にする。 Matinee で「新しいディレクタグループを追加」。 タイムラインの 0 でキーを入れて、「 Camera 」グループを選ぶ。

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

Page 63: 福島GameJam2013 参加者向け事前セミナー【UDK編】

63

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

Page 64: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

64

プレーヤーの動きを制限しよう 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 に接続

Page 65: 福島GameJam2013 参加者向け事前セミナー【UDK編】

65

Matinee で床を動かそう

Page 66: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

66

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 を選ぶ。

Page 67: 福島GameJam2013 参加者向け事前セミナー【UDK編】

67

床を長くしよう

Page 68: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

68

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

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

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

• Hard Attach プロパティにチェックを。 アタッチした床をさらに 2個コピーして移動する。

Page 69: 福島GameJam2013 参加者向け事前セミナー【UDK編】

69

障害物を作ろう

Page 70: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

70

障害物を作ろう 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 プロパティーのチェックを外す(コリ

ジョンのため)。

Page 71: 福島GameJam2013 参加者向け事前セミナー【UDK編】

71

障害物をランダムに

Page 72: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

72

障害物をランダムに レベルで 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 プロパティーのチェックを外す。

Page 73: 福島GameJam2013 参加者向け事前セミナー【UDK編】

73

ジャンプを高くしよう

Page 74: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

74

ジャンプを高くしよう Kismet で「新しいアクション」 >Object Property>Modify

Property のノードを配置。

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

• Property Name に「 JumpZ 」を入力。• Modify Property にチェック。• Property Value に 500 を入力。

Page 75: 福島GameJam2013 参加者向け事前セミナー【UDK編】

75

プレーヤーにダメージを

Page 76: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

76

プレーヤーにダメージを Kismet で「新しいアクション」 >Event>Attach To Event のノードを配置。

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

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

• Max Trigger Count を 0 にする。• Player Only プロパティーのチェックを外す。

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

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

Page 77: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

77

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

• 公開するためのパッケージを制作• そのためのツールが Uneral Frontend です

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

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

Memo

Page 78: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

78

制作に行き詰ったら・・・ ドキュメントを検索してみてください

• http://udn.epicgames.com/Three/WebHomeJP.html UDK のフォーラムを覗いてみてください

• http://forums.epicgames.com/forums/366-UDK Tumblr で Tips も公開しています

• http://epicgamesjapan.tumblr.com

Page 79: 福島GameJam2013 参加者向け事前セミナー【UDK編】

第 1 回 福島 GameJam2013 参加者向け事前セミナー【 UDK 編】

79

ありがとうございました 謝辞

福島 GameJam2013運営の皆様東京会場 CRI ミドルウェアの皆様各会場の運営・配信ご協力の皆様

© 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.