ブログの説明

学校に通わないで学んだことを記しています。間違っているところが何かありましたらご指摘下さると幸いです。コメントに対する返信が遅れる可能性があります。その場合は申し訳ありません。

このブログではサイドバーに広告を表示しています。このブログ内の投稿記事を検索するには右上の拡大鏡のアイコンを、アーカイブやラベル付けから投稿記事を閲覧するには左上の三重線のアイコンをクリックして下さい。

数式の表示にはMathJaxを利用させていただいています。数式の表示のためにJavaScriptが有効である必要があります。そうでない場合、訳の分からないLatexのコードが表示されます。幾何学図形やチャートの表示にはHTML5 CanvasやGoogle Chartを使用しています。その表示のためにもJavaScriptが有効である必要があります。

Debian GNU/Linux 10にUnreal Engineをインストール(失敗)

今回の目的は、Debian GNU/Linux 10にEpic Games社のビデオゲーム・エンジンであるUnreal Engine 4をインストールし、ビデオゲームの開発環境を準備すること。

~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:        10
Codename:       buster
$ uname -rs
Linux 4.19.0-10-amd64

必要な環境

Unreal Engineを使って実用的に開発を行うには、それなりのマシン・スペックが必要になるかもしれない。公式サイトに掲載されている推奨ハードウェアとして、8GBかそれ以上のメモリ、DirectX 11かDirectX 12に対応したビデオ・カード、Quad-core IntelかAMDの2.5 GHzかそれ以上のCPUが期待されている。そしてインストールのための20GB以上の空きディスク容量。

特にDirectX 11以上に対応したグラフィクス機能を持っていないマシンだと、Unreal Engineをビルドすることができたとしても起動時にエラーメッセージが出て起動に失敗する可能性がある。

Unreal EngineとGitHubの両アカウント取得

Linux向けのバイナリコードはEpic Games社から公式に提供されていないので、GitHubからUnreal Engineのソースコードをダウンロードしてそれをビルドしてインストールすることになる。

それらを行うためには、Unreal Engineの公式サイトのアカウントとGitHubサイトのアカウントを取得する必要がある。それらの公式サイトでサイン・アップの手続きをするのだが、その過程で有効なメール・アカウントが一つ必要になる。

Unreal Engine: https://www.unrealengine.com/ja/
GitHub: https://github.co.jp/

Unreal EngineのサイトからGitHubをリンクさせる

Unreal EngineとGitHubにアカウントを取得したらサイン・インした状態のまま、これらの二つのアカウントを連繋させる手続きが必要になる。

Unreal Engineのサイトにサイン・インした状態のトップ・メニューの右上、「ダウンロード」の左隣に自分のアカウント名が表示されているはず。それにマウスポインタを合わせるとメニューが表示されるので、その中から「開発者情報」を選ぶ。

そうするとさらに「全般」「お支払い」「トランザクション」...といったメニューが表示される。その中から「接続」を選ぶ。

その下に接続画面が表示されるので「アカウント」タブを選ぶ。そして「GITHUB」の「接続」を選ぶ。

そうするとサイン・インの画面が再び表われる。そこで再びサイン・インの手続きを行うと、「GITHUBのアカウントをリンクする」という画面が表われるので「アカウントをリンクする」を選ぶ。さらに「Authorize Epic Games」という画面が表われるので「Authorize EpicGames」を選ぶ。

うまくいけば、これらの手順の結果、連繋の手続きが完了するはず。

GitHubからUnreal Engineのソースコードをダウンロード

上記の手続きがうまくいけば、GitHubのサイン・アップの時に登録したメール・アカウント宛てにGitHubから「[GitHub] @EpicTeamAdmin has invited you to join the @EpicGames organization」というタイトルの招待メールが届くはず。

このメールを開いてそこに記されている「Join @EpicGames」を押すと、GitHubにあるEpic Gameのウェブ・ページがウェブ・ブラウザ上で開き、リポジトリの一覧に「UnrealEngine」が見つかるはず。

この招待メールを介さないでGitHubにあるEpic Gameのページを開いても「UnrealEngine」は見つからないので要注意。

「UnrealEngine」というハイパーリンクを選んでUnrealEngineのウェブ・ページへ移動する。ディレクトリやファイルの一覧が表示されているところの左上に「Switch branches/tags」という選択フォームがあり、そこで「release」が選ばれていることを確認する。選ばれていなければそれを選ぶ。

「Code」という緑色の領域を押し、「Download ZIP」を押してUnrealEngine-release.zipというZIP圧縮ファイルをローカル・ディスク上に保存する。

このダウンロードの完了後、Xarchiverなどを使ってUnrealEngine-release.zipを伸長する。

ターミナル・エミュレータを起動してunzipを使ってUnrealEngine-release.zipを伸長するには例えば次のようにする。

$ unzip UnrealEngine-release.zip -d 伸長先のディレクトリのパス

伸長してできたUnrealEngine-releaseというディレクトリ内に対し、念のため、clamscanコマンドを使ってマルウェアの検査を行ってみた。-rオプションはディレクトリの奥深くまで検査するためのもの。

$ clamscan -r UnrealEngine-release
(中略)
----------- SCAN SUMMARY -----------
Known viruses: 8389786
Engine version: 0.102.4
Scanned directories: 16284
Scanned files: 125484
Infected files: 0
Data scanned: 1647.03 MB
Data read: 1143.64 MB (ratio 1.44:1)
Time: 595.827 sec (9 m 55 s)

マルウェアの検査を行うと、検査ソフトがファイルを勝手に別の所へ隔離したり削除してしまったりすることがあるようなので要注意。その恐れがあるときはこの手続きを踏まないほうがいい。

Setup.shを実行

ターミナル・エミュレータを起動してUnrealEngine-releaseディレクトリ内に移動し、その中にあるSetup.shスクリプトを実行してセットアップを行う。これによってUnreal Engineのバイナリ・コンテンツがダウンロードされる。

ビルドの処理に必要なパッケージはUbuntuでは自動的にインストールされるらしい。そうでない場合には、Clang 3.9.0、xbuildとC#のコンパイラを含むMono 3.x、そしてNET 4.0 frameworkのためのライブラリが必要になるかもしれない。

$ cd UnrealEngine-release
$ ./Setup.sh
(中略)
**********  SUCCESS ****************
Setup successful.

Setup successfulと最後に表示されたらセットアップはうまくいった。このログはUnrealEngine-release/Engine/Build/BatchFiles/Linux/BuildThirdParty.logにある。

Setup.shの実行中に無限ループに陥る危険性があるらしく、その際に備えて実行中のマシンから離れないほうがいい。処理に要する時間は比較的短いので。

プロジェクト・ファイルの生成

続いてGenerateProjectFiles.shスクリプトを実行してMakefileなどのプロジェクト・ファイルを生成する。

$ ./GenerateProjectFiles.sh
Attempting to set up UE4 pretty printers for gdb (existing UE4Printers.py, if any, will be overwritten)...
        updated UE4Printers.py
        no ~/.gdbinit file found - creating a new one.

Setting up Unreal Engine 4 project files...

Fixing inconsistent case in filenames.
Setting up Mono
Generating data for project indexing... 100%
Generating data for project indexing... 100%
Writing project files... 100%
Generating data for project indexing... 100%
Generating data for project indexing... 100%
Generating data for project indexing... 100%
Generating data for project indexing... 100%
Writing project files... 100%

ビルド

makeを実行する。

$ make

CPUとメモリのスペックによってはこの処理に何時間もかかってしまうことがある。その間中、特にCPUがフル稼働するかもしれない。他の作業に支障が出るかもしれないし、真夏ではCPUの温度が86度Cほどに達する。それを覚悟で実行すること。キーボードのCtrlキーかつcキーで中断することもできる。

makeをスーパーユーザー権限で実行すると「root権限での実行を拒否する」というエラー・メッセージが表示されて処理が比較的早い段階で中断してしまうので要注意。

# make
Refusing to run with the root privileges.
make: *** [Makefile:307: CrashReportClient-Linux-Shipping] エラー 1

Unreal Engine Editorの起動

UnrealEngine-release/Engine/Binaries/Linux/UE4Editorを実行する。例えばターミナル・エミュレータ上から次のようにする。作業ディレクトリがUnrealEngine-releaseディレクトリであることが前提。

$ ./Engine/Binaries/Linux/UE4Editor &

起動の途中で"Cannot find a compatible Vulkan driver (ICD)."というメッセージが表示されて起動に失敗してしまうことがある。その場合、Vulkanドライバをインストールする。

$ su
# apt update; apt install mesa-vulkan-drivers

あるいは、次のように-opengl4オプションを付けて起動すると解決することがある。

$ ./Engine/Binaries/Linux/UE4Editor -opengl4 &

これをやっても"OpenGL RHI"と表示されて起動に失敗してしまうことがある。

私のマシンではDirectX 11以上に対応するハードウェアの条件を満たしていないせいか、"Cannot find a compatible Vulkan device or driver. Try updating your video driver to a more recent version and make sure your video card supports Vulkan."と表示されて起動に失敗してしまった。同じマシン上にあるWindows 10でもハードウェアの条件不足でUnreal Engineを起動することができなかったので当然の結果かもしれない。

ハードウェアの必要条件を満たしている場合は起動に成功するはず。

ともかくDebian GNU/Linux 10 (buster)でUnreal Engine 4のビルドに成功することは確認できた。

参考になるサイト

https://docs.unrealengine.com/ja/Platforms/Linux/index.html
AnswerHub: https://answers.unrealengine.com/

コメント

このブログの人気の投稿

Visual Studio 2019にはC++のためのフォームデザイナーがない件

10の補数と9の補数と2の補数と1の補数

LATEXで数式:指数と順列などで使う添数・添字