はじめに
- 時は2014年。このげいむ業界はUnity帝国の統治により平和な日々(!)を過ごしていた。しかし突然、地底からUE4が・・・(伝記 戦争の歯車の冒頭より)
でも実は、UEの歴史はすごく古いデス。
※僕も実はアンリアル1の頃からMod作るためにちょこっとエディタ触ってました。ValveのSorceエンジンやQuakeエンジンのエディタより断然使いやすかったなぁ( ´∀`)
GDC2014で歴史的発表がなされた。
【GDC 14】Epic Games、「Unreal Engine 4」にサブスクリプションモデルを導入―月額19ドルで全ての機能が利用可能に gamespark
→ 2015年3月3日から無料になりました\(^o^)/
え?今更オープンソース化?カーマック先生(Quake・Doom開発者・現Oculus CTO)は昔からやってたよ!あれちがう!?安いとは言え金取るのかよ!!今までと変わらんじゃないか!
と発表直後は思いました。
しかしよく調べてみると、
- 最新のエンジン・グラフィックス技術の実装が見放題
- ソースコードは自由に改変可能
- 契約はいつでもやめて良い。その時取得したソースコードはそのまま持っといてもOK。プログラムのアイデアを自分のコードに反映することは全然構わない。(UE以外のプロジェクトへの転用は不可)
- 対応プラットフォームは、Windows、Mac、iOS、Android、(PS4・XBOX ONEも対応予定?)
- 売上が発生した場合には総収入の5%のロイヤリティ支払えばOK。良心的(・∀・)
あれ。コレって速攻契約しなきゃ損ってやつじゃんよ?
#ってことでVS2013でソースコードビルドするとこまで簡単に説明
- とりあえずビデオ見ながらが早い。Downloading and Building UE4 Source
- このページを見てもなお「ソースコードなんていらねぇやい!」って人は、https://www.unrealengine.com/dashboard の Latest Download からDLすれば、ビルド済みのエディタが手にはいります。
##ビルドに必要なもの
- 月々2千円(プライスレス)
- GitHubのアカウント
- VS2013(無料版でも可らしい)
- DirectX SDK
- 割りとハイスペックなマシン(エンジンのビルド・実行に相当CPUとメモリを使います)
- ソースコードへの愛と情熱
※あと、VisualAssistXとかあると解析がとても捗ります。購入を強くおすすめします。
##ビルドまでの簡単な手順
- UE4のページにアクセスして、「GET UNREAL」をクリック。アカウント作ります。
- 淡々と個人情報を入力していきます。クレジットはInternationalなやつじゃないと使えないので注意。住所の入力方法に癖があるのでネットで調べながら入力。
- アカウントが作成出来たら、さっきのトップページから、SignIn します。
- GitHubとの連携的な項目があるので説明に沿って設定。
- GitHubは、Git(ギット?)っいう大リーナス神が考案したバージョン管理システムを使ってるので、TortoiseGitをインストールするなり、SouceTreeを使うなりしてインストールします。面倒ならZipで落としてきてもOK。
- あとは、GitHubの Getting up and running に書かれてるとおりに、dependencies(追加の依存ファイル)を落としてきて、ソースフォルダに上書きする。(Optional/Required_1of2.zip/ Required_2of2.zipの3つ)
- エンジンのルートフォルダの、README.mdの手順に沿って、GenerateProjectFiles.bat を実行。(ここでなんかハマった気がするけど忘れた)
- VS2013を起動して、フルビルド。しばらくアニメでも見ながらビルドが終わるのを待つ。
- ビルドが終わったら実行してみる。
#ソースコード解析のポイントなど
-
UE4のGUI部分はC#。エンジン部分はC++で書かれてる。
-
エディタ起動しながらの、C++コードのホットロードの実力を体感せよ!(エディタ起動しながらビルドして即反映の仕組み)
-
UnrealEngine\Engine\Source\Runtime\Engine 以下フォルダがエンジンのコアのソースコード
-
描画系は、UnrealEngine\Engine\Source\Runtime\Renderer の当たり。
-
シェーダーは独自言語。UnrealEngine\Engine\Shaders 以下の.usfファイルがシェーダーファイル。
-
話題沸騰のBluePrint(ノードベーススクリプティング環境。旧Kismet)のコードは、UnrealEngine\Engine\Source\Runtime\Engine\Private\Blueprint.cpp らへん。
-
UObject がすべてのクラスの基底クラス。シリアライズ/デシリアライズや、エディタとの連携処理などが実装されてる。
-
Actorは、定期更新処理を持つオブジェクトの基底。キャラとかエフェクトとかギミックはコレを継承して作られてる。
-
オキュラス関連は、UnrealEngine\Engine\Plugins\OculusRift\Source\OculusRift
-
APIドキュメントといいつつDoxygenそのまま。あまり整備されてないからちょっと見づらい。
UnrealEngine\Engine\Documentation\CHM\API.chm
#まとめ
-
月額2000円でソースコード見放題とかそのへんのエッチなサイトより断然安い\(^o^)/(コラ
-
ソースコードを読むには、ゲームエンジンの構造に関する知識が必要なので、gemsやゲームエンジン・アーキテクチャなど読んで事前に勉強した方が良いかも。ネットにも情報は沢山あります。
-
UE4を自作ゲームで使う・使わないに関係なく、プログラムスキルを磨くために見ないと損。
ってことで簡単に導入まで書いてみましたとさ。
その他ソースコードが読める3D向けゲームエンジン達
無料
- Blender Game Engine
- Helium Engine
- いるりっひたん(irrlicht Engine)
- Project Anarchy
- Torque engine
- そーすえんじん( ´∀`) (あっ
##有料