この記事は、Lumberyard アドベントカレンダーの18日目の記事です。前回は
PaperSlothさんの投稿でした。
LumberyardをUnity, UE4と比較(プログラミング編) - PaperSloth’s diary
今回はUnityの使用経験から、LumberyardとUnityの違いについて書いてみたいと思います。
1. 環境構築
Unityの場合はsetupassistantのexeファイルから指示に沿っていけば、ほぼ自動でインストールしてくれます。選択画面も、どのプラットフォーム(例:iOS、Android、、)に対応しますか?というくらいです。
Lumberyardはインストール後に、SetupAssistantからcustom installを選び、追加ライブラリをある程度指定してインストールする必要があります。
なお、これを実施しないと、New ProjectのCreateボタンが選択できません。
2. プロジェクト作成
Unityの場合、Unityの画面からfile / New Projectで作成します。
Lumberyardの場合、Project ConfiguratorからCreate Newを選択してプロジェクトを生成します。
10分くらいかかる、と表示されますが、私の環境では2,3分でした。
(補足1)
しかし、2017/12/18時点では、この通りプロジェクトの作成に失敗します。これについては、PaperSlothさんのブログでも書かれています。
Lumberyard 新規プロジェクト作成方法 - PaperSloth’s diary
私は1.12.0 (2017/12/18時点では最新)で試しましたが、解決できませんでした。エラー内容は同じなのですが発生箇所が別でした。
指定されたファイルをメモ帳で開き、Unicodeでエンコードして保存したところ、このファイルでのエラーは消えました。しかし、再度別のファイルで同じエラーが出たので再度保存しました。
すると、次はMFC(Microsoft Foundation)ライブラリをインストールしてください、と出てしまいました。
現時点でもさらに別のソースでUnicodeの話が出ていて、目処が立たないのでいったん中断しています。
(補足2)
Lumberyardの動作をみたり、スクリプトやオブジェクトを試したい場合、Sample Projectのどれかを開いて、新しくシーン(level)を作るのがよいです。
以下のように実行します。
すると、このように、何もない状態のLevelが生成されます。
3. シーン
UnityではSceneとして、一つのステージというか処理を分けることができます。LumberyardではLevelという概念が同等です。
[::alt=Lumberyardのサンプルプロジェクトのlevel一覧]
この辺りには特に使い勝手などに差はなさそうです。
4. GameObject
UnityではCGだったり、スクリプトをアタッチするためのObjectを総称してGameObjectと呼んでいます。Lumberyardだと、Entityという概念が近そうです。Create Entityとすると、Unityでいう空のGameObjectを生成できます。
Inspector Viewの中でコンポーネントを指定することで、いろいろな制御を入れられそうです。ただ、下記のようにUnityにはいくつかの基本モデルが提供されていますが、Lumberyardではざっと見る限りなさそうでした。
ということで、Lumberyardで何かオブジェクトを出してみたいと思ったときは、例えばTerrian Editorがよいかと思います。
このように、右側のEditorでペイントブラシのようにドラッグしていくと、View側で岩山が生成されます。
5. 素材マーケット
ざっと調べた限り、Unity のAsset Storeに相当するものは見つけられませんでした。3rd Partyツールと連携や、本体への機能強化で対応していくのかもしれません。
7. おわりに
客観的に見ると、現時点では何かさくっと作ろう、というときはUnityがよいと思います。Lumberyardはこれから進化していく、というツールだと感じました。
しかし、ロイヤリティフリーであることから、企業では使いやすいかもしれません。また、CryEngineベースで実績があるはずですし、これからどんな形で進化するかはわからないので、引き続き調査したいと思います。