【UE4】ソースコードを読む、その1

CEDEC 2014 始まってたんだなあ。

いくつかまとめ記事を読んだ。

冲方丁氏の基調講演や、Houdini Engineのプロシージャルなアセット制作、あとUnity5の情報とか、大変わくわくする内容だった。

あらためて講義全体が聞きたいなあ。動画サイトでアップされるのを待とう。

さて、アンリアルエンジン4のソースだけれども、今日読んでわかったことをいくつか。

まず、UE4で作成したプロジェクトごとにログファイルが出力されている、という基本的なことにはじめて気づいた。

<プロジェクトフォルダ>/Saved/Logs/<プロジェクト名>.log

ログファイルにはいろんな手がかりが当然詰まっている。

プロジェクトをプラットフォーム向けにパッケージするには、冒頭の画像にあるようにメニューから行う。

パッケージングのコマンドを実行したときに出力されたログをみてみると、MainFrameActions.cppファイルがいろんなコマンドの窓口になっているらしいことがわかった。
(UnrealEngine\Engine\Source\Editor\MainFrame\Private\Frame\MainFrameActions.cpp)

上記ファイルのPackageProject( const FName InPlatformInfoName )という、いかにもな名前のメソッドにブレークポイントを張って、VisualStudioからプロセスにアタッチする。

※デバッガで起動できるプロセスはどうやらただのランチャーらしく、エディタを起動したら自分自身は終了する。つまり、エディター自身のプロセスはランチャーとは別プロセスなのでデバッガでアタッチする必要がある。

このメソッドの中を追いかけてみると、どうやらコマンドラインで実行するためのコマンド文字列を生成しているようだ。

ここで作られるコマンドはこんな感じ。

BuildCookRun -nocompileeditor -nop4 -project=<プロジェクトパス> -cook -allmaps -stage -archive -archivedirectory=<出力パス> -package -WindowsNoEditor -clientconfig=Development -ue4exe=UE4Editor-Cmd.exe -clean -pak -targetplatform=Win64 -utf8output

そして、このコマンドラインを引数にUE4Editor-Cmd.exeを起動しているらしい。

今日わかったのはここまで。

この先はどうなっているのか。

エンジンを組み込んだ中間ファイルのCPPファイルが生成されて、コンパイラが実行された結果、EXEファイルが出来上がる、という流れだと非常にありがたいんだけれども、そんな簡単な話じゃないだろうなあ。

そうそう、もうすぐ発売ですな。CEDECでは先攻販売されていたらしい。

4年前

コメントを残す

メールアドレスが公開されることはありません。