ゲームエンジン導入セミナー【udk編】
DESCRIPTION
2013/3/8にCG-ARTS協会様主催によりゲームエンジン導入セミナー【UDK編】を開催させていただきました。 その際の資料です。 元々はこちら(http://www.slideshare.net/junyas1/udk-seminar-masterver)で公開させていただいていましたが、エピック・ゲームズ・ジャパンの公式アカウントでも公開させていただきます。TRANSCRIPT
1
ゲームエンジン導入セミナー 【UDK編】 CG-ARTS協会主催
2013/3/8@日本工学院蒲田校
EPIC GAMES JAPAN
SUPPORT TEAM, ROB GRAY & JUN SHIMODA
ゲームエンジン導入セミナー【UDK編】
オリエンテーション
9:45~10:00
3
ゲームエンジン導入セミナー【UDK編】
目標:其の1
UDKで
ゲームを制作する
本日の目標
4
ゲームエンジン導入セミナー【UDK編】
目標:其の2
その方法を
伝授できるようになる
本日の目標
5
ゲームエンジン導入セミナー【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
ゲームエンジン導入セミナー【UDK編】
講師紹介
ロブ・グレイ(サポート・テクニカルアーティスト)
• アメリカ生まれ。映画制作大学を卒業してから日本に来て15年。テレビのCG制作の仕事などを経て、ゲーム業界に入りました。現在ゲーム業界の経験が約7年になります。前職でのラスト・レムナント等アンリアル・エンジン採用タイトルでの豊富な経験をきっかけに、2012年夏にエピック・ゲームズ・ジャパンに入社。Unreal Engineのテクニカル・アート、パイプライン、レベルデザインやスクリプティング、アセット作成などのサポートをしています。
下田純也(サポート・マネージャ)
• 中学生の頃からMZ-2000でBASIC、アセンブラとプログラミングを始め、CGも学び始める。1991年に学生の身ながらファミコン用のアセンブラでのゲーム制作のアルバイトを始めたのがきっかけで、ゲーム制作の道に入る。ゲーム制作会社数社でのリード開発者経験を経て、2002年マイクロソフト日本法人のゲーム部門に参加。代表作:Felix the Cat、フィロソマ、ポポロクロイス物語シリーズ、ロスト・オデッセイ等。MS退職後、ロスト・オデッセイでのアンリアル・エンジンの利用経験をきっかけとして2010年2月からエピック・ゲームズ・ジャパンでのUnreal Engineの日本国内サポート職に就く。
7
ゲームエンジン導入セミナー【UDK編】
ゲームエンジン基礎用語
ゲームエンジン
• ウィキペディアの「ゲームエンジン」をご参照ください
レベル
• マップやステージ、面に近いが、背景だけでなくインタラクティブな設定も全て含んだゲームのステージ
アセット
• ゲーム中やレベル制作に使用するモデル・パーツや素材
コリジョン
• プレイヤーが接する地面や壁の当たり、敵や武器の当たり。
イベント
• 何かを起動するきっかけ
イテレーション
• 制作・編集 ⇄ テストプレイ・確認の行き来。
8
ゲームエンジン導入セミナー【UDK編】
アンリアル・エンジン基礎用語
BSP (Binary Space Partitioning)
• レベルを構築するためのブロック(コリジョン付き)
アクター(Actor)
• レベル上に配置された物
スタティックメッシュ(StaticMesh / 静的メッシュ)
• 静的な建物等の3Dモデル
スケルタルメッシュ(SkeletalMesh / 骨格メッシュ)
• ボーンの入ったアニメーションする人体等の3Dオブジェクト
ポーン(Pawn)
• プレイヤーやAIがコントロールするキャラクター
キズメット(Kismet)
• アンリアル独自のビジュアルスクリプティング言語
スポーン(Spawn)
• キャラやモデルを生成する
9
ゲームエンジン導入セミナー【UDK編】
UDK概要説明と基本操作
10:00~11:00
10
ゲームエンジン導入セミナー【UDK編】
UDKのライセンス
ライセンス料
• 教育利用は無料
• 無料アプリへの利用は無料
• アイテム課金や、広告による収入にはロイヤリティが発生します
• アプリケーションを販売される場合
• 初期ライセンス99ドル
• さらに、5万ドルを超えた分の売上の25%のロイヤリティ
• アプリ開発以外の業務利用
• 年間2,500ドル×人数
利用できるもの
• UDK内のアセット利用も無料です
• Windows PC、iOSデバイス、Macのみに限定
• UDKではコンソール(PS3、Xbox360等)のサポートを省略
11
ゲームエンジン導入セミナー【UDK編】
UDKの詳細説明に入る前に
そもそもゲームエンジンとは?
ゲームを制作するためのオールインワン環境
• ゲームを制作するための • 基本プログラム
• ミドルウェア
• ツール
の統合環境
• ゲームエンジン誕生以前にも • 「描画ライブラリ」や「物理ライブラリ」等の ある分野に特化したライブラリ・ミドルウェア
• 各開発会社の内制共通システム
• マップエディタや各種ツール
が存在していた
• これらを全ての統合とレベルエディタが備わっているのが特長 • エディタでレベルを作成して、ボタン一発で即座にプレイできる
• なので・・・「RPGツクール」等もRPGに特化しているものの デザイン思想的には同じ方向と考えられる
12
ゲームエンジン導入セミナー【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
ゲームエンジン導入セミナー【UDK編】
アンリアル・エンジン
採用タイトル
数々のビッグヒットシリーズ
• Unreal シリーズ
• Gears of War シリーズ
• Bioshock シリーズ
• Mass Effect シリーズ
• Borderlands シリーズ
• Batman シリーズ
日本でも
• ロストオデッセイ
• ラスト レムナント
• シャドウ・オブ・ザ・ダムド
• アスラズ ラース
• ディアボリカルピッチ
• ロリポップチェーンソー
• 超速変形ジャイロゼッター
• DmC: Devil May Cry *
• キラー・イズ・デッド
14 各製品名は各社の登録商標または商標です
*DmCは主な開発は海外
ゲームエンジン導入セミナー【UDK編】
UDKの特徴
複雑なプログラミング言語からの開放
• ビジュアルプログラミングによるゲーム作成
• プログラミング言語による深い開発もサポート
数々のミリオンヒットタイトルでの採用事例
大型チーム・大型タイトルの開発効率に優れている
• Perforceサーバとクライアント同梱(20クライアント無料)
通信対戦やネットワーク越しのキャラ同期もすぐに利用可能
• もちろんUDKやモバイルでも通信可能(例:Wild Blood)
15
ゲームエンジン導入セミナー【UDK編】
UDKの特徴
ハイエンドのグラフィックをPCからスマフォまでスケーラブルに対応
• ビジュアルなマテリアル(シェーダー)作成ツール
• 先進的なLODサポート(with Simplygon)
• ポストプロセス(DOF,、グレア、アンビエントオクルージョン)
• グローバルイルミネーション
• レンダーターゲット
16
ゲームエンジン導入セミナー【UDK編】
UDKの特徴
ゲームプレイ
• 物理エンジン(PhysX)
• AI • ナビゲーションメッシュ(with Recast)
• 群衆
ネットワーク対応
• 通信対戦
• GameCenter対応
• Steam対応
• Facebook対応
プロファイラ
• ゲームプロファイラ
• ネットワークプロファイラ
17
ゲームエンジン導入セミナー【UDK編】
UDKの特徴
FPS(ファーストパーソン・シューター)に特化してるの?
• もちろん得意です
• サードパーソン・シューターは すぐできます
でも
・・・もっと違うものも!
18
ゲームエンジン導入セミナー【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
ゲームエンジン導入セミナー【UDK編】
UDKの海外動向
UDKからフルソースライセンスへの移行事例
• Hawken (http://www.youtube.com/watch?v=dOU4HBJaZ-o)
• Dungeon Defenders
• Chivalry (http://www.youtube.com/watch?v=8Ijb69jekYw)
20
ゲームエンジン導入セミナー【UDK編】
ゲーム以外の分野への活用
学校
• 大学
• 専門学校
企業
• 建築
• ドライブシミュレーター
• 医療シミュレーター
政府機関
• 戦闘シミュレーター
• 月探索シミュレーター
21
ゲームエンジン導入セミナー【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
ゲームエンジン導入セミナー【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
ゲームエンジン導入セミナー【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
ゲームエンジン導入セミナー【UDK編】
それでは・・・ ここから本編。
25
ゲームエンジン導入セミナー【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
ゲームエンジン導入セミナー【UDK編】
アンリアル・エディタ
アンリアル・エディタを使って 実際のゲームはもちろん、マチネー、キズメット等で使われるコンテンツをレベル上に組み上げます
本日後半は、実際に制作を体験していただきます
27
ゲームエンジン導入セミナー【UDK編】
アンリアル・エディタの操作
コンテンツブラウザ
コンテンツのブラウザ
• アセットの管理ツール
• Perforceと連携
• Windowsのフォルダツリー
• パッケージ内にコンテンツ
• パッケージ内にさらにサブフォルダのようなグループを作成可能
Ctrl+Bやウインドウ上部のアイコンで開きます
28
ゲームエンジン導入セミナー【UDK編】
アンリアル・エディタ
各ビューのモード切替
4分割ビューと全面ビュー
• 各ビュー右上のアイコンで切り替え
ビューの種類(サイド、パース等)
• 各ビュー左上の「S」「F」「P」「T」で切り替え
ビューの表示モード
• ワイヤーフレーム、ライティング、シェーダーの負荷等々
29
ゲームエンジン導入セミナー【UDK編】
アンリアル・エディタ
ビュー内での移動操作
パースビュー
• マウス左ボタン+マウス移動で前後移動とカメラの左右パン
• マウス右ボタン+マウス移動でカメラの上下左右パン
• マウス左右ボタン+マウス移動でカメラの上下左右移動
• Mayaライク • Uキーを押しながら、カメラの中心を軸に回転
• Lキーを押しながら、選択したオブジェクトを軸に回転
• WASDキー • W:前進、S:後退、A:左、D:右、移動 「ユーザー設定」メニューの「フライトカメラ操作オプション」でON/OFF可能
平行投影ビュー
• マウス左もしくは右ボタン+ドラッグで平行移動
• マウス左右ボタン+ドラッグでカメラの前後
• 「ユーザー設定」メニューから平行投影ビューのリンク制御
各ビュー共通
• 「Home」でオブジェクト中心にカメラを移動
30
ゲームエンジン導入セミナー【UDK編】
アンリアル・エディタ
ビュー上のオブジェクト選択
オブジェクトの選択
• 複数選択
• Ctrlを押しながらマウス左クリックで、選択オブジェクトを追加できます
• Ctrl+Alt+マウス左ドラッグで、ボックス選択
• Ctrl+Alt+マウス右ドラッグで、ボックス選択解除
• 選択の解除は、Shift+N
「スペース」キーで移動ウィジェット切り替え
• 「スペース」キーで平行移動・回転・スケールの切り替え
31
ゲームエンジン導入セミナー【UDK編】
アンリアル・エディタ
ビュー上へのオブジェクト配置
スタティック・メッシュやスケルタルメッシュの配置
• コンテントブラウザからドラッグ&ドロップでレベル上に配置
• コンテンツブラウザでスタティック・メッシュを選択し ※「ユーザー設定」-「フライトカメラ操作オプション」で WASDで移動しないようにしておく必要があります
• 「S」キーを押しながら レベル上をクリックで配置
• 「Alt+S」キーを押しながら レベル上をクリックすると 配置先のオブジェクトの 面(法線)に沿って配置
• 配置時の回転やスケールの制御は スタティック・メッシュモードで
32
ゲームエンジン導入セミナー【UDK編】
アンリアル・エディタ
配置されたオブジェクトの操作
配置されたオブジェクトは・・・
• エディタ上部の移動アイコン群の左クリックでウィジェットを切り替えられますが、右クリックすると数値入力できます
• 「相対値」にチェックを入れることで • 現在のオブジェクトの位置から相対移動になります
• オブジェクトを複数選択して適用することも可能です • その横の「ローカル」「ワールド」の切り替えで、ワールド座標とオブジェクトのローカル座標とを切り替えられます
その他便利なオブジェクト操作
• Alt+マウス左ドラッグで、複製移動
• 「F4」でプロパティウインドウ表示
33
ゲームエンジン導入セミナー【UDK編】
アンリアル・エディタ
BSPの基本操作
Binary Space Partitioningの略なのですが、レベル上に足し引きできるブロックのようなものです
基本操作
• BSPでよく使うのは
• Brushesアイコン群の「キューブ」と
• CSGアイコン群の「CSG和演算」です
• Brushesアイコン群をクリックすると
• 「キューブ」等の形状が
赤いラインでマップに現れます
• これが「ブラシ」となり
このブラシの形状をレベル上に
足し(引き)していきます。
34
ゲームエンジン導入セミナー【UDK編】
アンリアル・エディタ
BSPの基本操作
ブラシ形状の変更
• ウィジェットでの操作
• Brushesアイコンの右クリックで数値入力もできます
• Modesアイコン群から、編集モードをジオメトリモードに
• ジオメトリモードにすることで、個々の頂点を移動させる事もできます、この場合Ctrlキーを押しながら、マウス左クリックで複数の頂点を選択できます
• 頂点の移動は基準座標系「ワールド」が扱い易いです
35
ゲームエンジン導入セミナー【UDK編】
アンリアル・エディタ
BSPの基本操作Tips
配置後のBSPブラシを動かして、エディタに反映させるには
• 「ビルド」メニューの「現在のレベルのジオメトリ」
デフォルトではOFFになっていますが
• 「ユーザー設定」メニューの 「BSPビジュアルの自動更新」にチェックを 入れることで、移動が即反映されます
• ただし、コリジョンには反映されないので 上記の再「ビルド」は必要です
配置後のBSPブラシをクリックすると
• BSP上の面が選択されますが Shift+Ctrl+左クリックで、BSPブラシ選択可能
• 「ユーザー設定」メニューの 「BSPのクリックでブラシを選択」に チェックを入れると、この動作を入れ替えられます
36
ゲームエンジン導入セミナー【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
ゲームエンジン導入セミナー【UDK編】
DCCツールとの連携
11:10~12:10
38
ゲームエンジン導入セミナー【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
40
2D素材
ゲームエンジン導入セミナー【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
ゲームエンジン導入セミナー【UDK編】
2D素材のインポート
コンテントブラウザからインポートします
• 左下のインポートボタン
• 右クリック「Import」
• 素材を直接コンテンツブラウザへドラッグ&ドロップ
注意
• 素材データ全般ですが日本語のフォルダ名・ファイル名が使われていると問題が発生する場合があるので英語のファイル名をご利用ください
42
43
3Dモデル
ゲームエンジン導入セミナー【UDK編】
UDKの対応している
3Dモデルフォーマット
3Dモデルフォーマット
• FBX (Autodeskさん推奨フォーマット、元々はFilmbox用)
http://udn.epicgames.com/Three/FBXBestPracticesJP.html
古いので非推奨
• PSK (旧スケルタル・メッシュ専用フォーマット)
• ASE (旧スタティック・メッシュ専用フォーマット)
• 過去にはDAE (COLLADA、SCEさん提唱のオープンなフォーマット) もサポートしていましたが、最近更新がないようなので現在はサポートしておりません
44
ゲームエンジン導入セミナー【UDK編】
3Dモデルのインポート
コンテントブラウザからインポートします
• 左下のインポートボタン
• 右クリック「Import」
• 素材を直接コンテンツブラウザへドラッグ&ドロップ
お勧めのオプション
• Combine Meshes
• Import Materials
• Import Textures
45
ゲームエンジン導入セミナー【UDK編】
マテリアル
難しいプログラマブル・シェーダーのコードを書く必要なし
ビジュアルにマテリアル(シェーダー)が組める
• さらにリアルタイムで途中の状況が確認できる!
http://udn.epicgames.com/Three/MaterialExamplesJP.html
46
ゲームエンジン導入セミナー【UDK編】
マテリアルインスタンス
マテリアルの一部パラメータのみ変更
複雑なマテリアルを組まずにバリエーションが簡単に作れる
MatineeやKismet、プログラムから操作可能
http://udn.epicgames.com/Three/InstancedMaterialsJP.html
47
ゲームエンジン導入セミナー【UDK編】
アニメーション
アニメーション・シーケンス
• DCCツールで作成したアニメーションをインポート
• AnimNotifyでアニメーションにイベントを埋め込める
• パーティクル
• サウンド
• イベント
48
ゲームエンジン導入セミナー【UDK編】
AnimTree
(アニメーション・ツリー)
アニムツリー
• プログラムを組まずにアニメーションの状態遷移
• IK制御
49
ゲームエンジン導入セミナー【UDK編】
パーティクル(Cascade)
パーティクルのエディタ
• マテリアル
• エミッター
• タイムライン
50
ゲームエンジン導入セミナー【UDK編】
サウンド
サウンドデータはWAVから
インポートオプション
• Auto Create Cue にチェックでSEとして
使いやすいCueも作成
• ループ音は
Include Looping Nodeも有用
51
ゲームエンジン導入セミナー【UDK編】
レベルデザイン
13:30~14:30
52
ゲームエンジン導入セミナー【UDK編】
BSP
BSPとはバイナリ・スペース・パーティション(Binary
Space Partition)の略
ここで使われるのは数学的に生成された面となり、CSG、(コンストラクティブ・ソリッド・ジオメトリ、Constructive
Solid Geometry)と呼ばれます
CSGでレベル全体を構築することもできますし、部分的に利用することもできます
一般的にはCSGはスタティック・メッシュより重いです
53
ゲームエンジン導入セミナー【UDK編】
BSP
ソリッドな(空きではない密度のある)形状をワールドに追加できます
そこから、ある形状で削ることもできます
ワールドに配置された形状から、複雑なブラシを作ることもできます
ブラシはシンプルに保つことを留意してください!
計算は追加・削除の順番に従って構築されますが、コンテキストメニューから順番を変更することも可能です
デフォルトでは左クリックでBSP上の面が選択されますが、Shift+Ctrl+左クリックで、ブラシを選択できます
54
ゲームエンジン導入セミナー【UDK編】
Decals
Decalsは、レベルの表面に投影されたテクスチャー。
Decalで、ワールドのディテールを簡単にすぐに増やすことが可能。
ペイントや、血糊、ラベルを作るには便利です。
55
ゲームエンジン導入セミナー【UDK編】
StaticMeshの配置
Static Meshは、 3DSMaxやMayaのDCCツールからインポートされたモデルです。
Static Meshは、Lightmassにより焼き付けられたライトマップを利用します
Static Meshは、ビデオメモリ上にキャッシュされた1つのメッシュデータを利用するので高速です
基本的にはStatic Meshはアニメーションを使えませんが、マテリアルで頂点アニメーションが可能です。
56
ゲームエンジン導入セミナー【UDK編】
Lighting
directional light、point light、spot light、sky lightでレベルのライティングを入れる。
ライトの色や明るさを変更することができる。
Directional lightと spot lightを回転することで方向を決める。
マスクと使用するマテリアルと半透明なマテリアルも正しく影を落とす。
Lightmassで静的なライティングとGIをベークする。
Lightmassのクオリティーを低くするとライティングの時間が早くなる。
57
ゲームエンジン導入セミナー【UDK編】
Particle Effects
パーティクルのエフェクトでレベルに動的なディテールを追加することが可能。
Cascadeで正しく設定すると、ワールドとコリジョンやインタラクションが可能。
58
ゲームエンジン導入セミナー【UDK編】
環境音(Ambient Sound)
ビジュアルに合わせた環境音を配置することで、その環境に居る感覚を、よりプレイヤーに感じさせることができます
複数の環境音を重ねる事により、より印象的な環境を構築できます
リバーブ(反響音)を追加することも、もちろんできます
59
ゲームエンジン導入セミナー【UDK編】
ボリューム(Volume)
ボリュームとは見えないBSPで、レベルに様々な機能を追加できます
ブロッキング・ボリュームでレベル上に見えない壁をつくり、レベルのコリジョンをシンプルに構築することが可能です
ポストプロセス・ボリュームにプレイヤーが入った場合に、シーンのデフォルトのポストプロセスとは違ったポストプロセスを適用することも可能です
物理ボリュームで、物理設定を変えることも可能です
(例:重力の違い等)
60
ゲームエンジン導入セミナー【UDK編】
Kismet
Kismetを利用することでレベルにインタラクティブな部分を作れる。
ライトをトグルしたり、ドアやエレベーターを動かしたりできる。
簡単なゲームロジック。
61
ゲームエンジン導入セミナー【UDK編】
Landscape(Terrain)
Create Landscape
Landscape material
• Use sample material -> introduce documents
Ref
• Link
• Pic
62
ゲームエンジン導入セミナー【UDK編】
インタラクティブなアプリ構築
14:40~15:40
63
ゲームエンジン導入セミナー【UDK編】
実際のUDK上で制作実演
UDK上でKismetを使ってゲーム制作
(50分前後実演予定)
64
ゲームエンジン導入セミナー【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
66
レベルのセットアップ
ゲームエンジン導入セミナー【UDK編】
Kismetでカメラを切り替える
「新しいイベント」>LevelLoadedのノードを配置。
新しいMatineeを作る。
レベルでカメラが選択されている状態で、Matineeで「新しい空きのグループを新規作成」。
• このグループを「Camera」という名前にする。
Matineeで「新しいディレクタグループを追加」。
タイムラインの0でキーを入れて、「Camera」グループを選ぶ。
Matineeのプロパティーで、Loopingにチェックを入れる。
67
68
Kismetでカメラを切り替える
ゲームエンジン導入セミナー【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
70
プレーヤーの動きを制限しよう
ゲームエンジン導入セミナー【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
72
Matineeで床を動かせよう
ゲームエンジン導入セミナー【UDK編】
床を長くしよう
レベルで床のメッシュをコピーして、元の床メッシュの隣に移動する。
元の床に新しい床をアタッチする。
• 新しいメッシュのプロパティを開く。
• ロックのアイコンをクリック。
• 元の床メッシュを選択する。
• 新しいメッシュのAttachment>Baseプロパティの右にある緑矢印をクリックし、元のメッシュをアサインする。
• Hard Attachプロパティにチェックを。
アタッチした床をさらに2個コピーして移動する。
73
74
床を長くしよう
ゲームエンジン導入セミナー【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
76
障害物を作ろう
ゲームエンジン導入セミナー【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
78
障害物をランダムに
ゲームエンジン導入セミナー【UDK編】
ジャンプを高くしよう
Kismetで「新しいアクション」>Object Property>Modify
Propertyのノードを配置。
• Propertyの右にある緑プラスをクリックし、編集するプロパティーを一つ追加する。
• Property Nameに「JumpZ」を入力。
• Modify Propertyにチェック。
• Property Valueに500を入力。
79
80
ジャンプを高くしよう
ゲームエンジン導入セミナー【UDK編】
プレーヤーにダメージを
Kismetで「新しいアクション」>Event>Attach To Eventのノードを配置。
「新しいイベント」>Physics>Touchのイベントノードを配置。
• Class Proximity Typesのプロパティーで「KActorSpawnable」を選ぶ。
• Max Trigger Countを0にする。
• Player Onlyプロパティーのチェックを外す。
「新しいアクション」>Actor>Modify Healthのノードを配置。
• Amountプロパティーを「25」に。
81
82
プレーヤーにダメージを
ゲームエンジン導入セミナー【UDK編】
Unreal Frontend
ゲームやアプリができたら
• 公開するためのパッケージを制作
• そのためのツールがUneral Frontendです
Windowsの「スタート」メニューのUDKから
• Unreal Development KitのTool内の「Unreal Frontend」
83
ゲームエンジン導入セミナー【UDK編】
独自の制作体験(前編)
15:50~16:50
84
ゲームエンジン導入セミナー【UDK編】
それでは制作してみましょう
ゲーム制作に慣れていないかたは、UDKのプレイヤーを利用すると手っ取り早くできます
• 「編集」メニューから、WorldInfoを選択
• GameTypeをUTGameに設定
お気軽に、創ってみたいアイディアのご相談をどうぞ!
85
ゲームエンジン導入セミナー【UDK編】
独自の制作体験(後編)とフォローアップ
17:00~18:00
86
ゲームエンジン導入セミナー【UDK編】
制作フォロー
皆さんの席を周りますので、気になる点等気軽に声をかけてください
87
ゲームエンジン導入セミナー【UDK編】
制作に行き詰ったら・・・
ドキュメントを検索してみてください
• http://udn.epicgames.com/Three/WebHomeJP.html
UDKのフォーラムを覗いてみてください
• http://forums.epicgames.com/forums/366-UDK
TumblrでTipsも公開しています
• http://epicgamesjapan.tumblr.com
88
ゲームエンジン導入セミナー【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