2015年1月10日土曜日

UnrealEngine4でGitを使って共同開発したい

先輩とUnrealEngine4で何か作るためにバージョン管理できるようにしたい。
UnrealEngine4ではSVNとPerforceが対応しているとのことだが、プラグインによってGitも使えるとのことなのでGitを使う。

状況

  • UE歴:4分
  • Git歴:10分

想定

  • Windows7以上
  • Git未導入
  • UE4Gitプラグイン未導入
  • 中央リポジトリは自鯖(CentOS)に作る

Git本体の導入

インストール中に何か聞かれたけど、全部デフォルトにした。
エクスプローラの右クリックメニューにGitを統合したくない場合は、「Windows Explorer integration」のチェックを外した方がいいかも。

















Gitクライアントの導入(SourceTree)

Git本体にGUIクライアントや黒画面でコマンドいれるGitBashがついてくるけど、もうちょっと格好いいクライアントを入れたい。
よさげなものを探す。
日本語に対応していて神っぽいのがあった。

インストーラをダウンロードしてきて実行。













自前でGit本体を内蔵しているみたい。
UE4から使わないのであれば、SourceTreeだけで使えるんですね。







バージョン管理したくないファイルを設定する.gitignoreファイルのグローバル設定について聞かれる。
後から変えられるのでyes








Bitbuket、GitHub、Stashは今回使わない(自鯖にリポジトリ作る)為、スキップ










SSHキーもってないし、後から設定できるのでNo





インストールできた。かっこいい。









ついでにユーザ名とメールアドレスと登録しておく。
ツール>オプション
デフォルトユーザ情報を記入























UnrealEngine4にGitプラグインを導入

プラグイン開発をされている皆様には本当に頭が下がります。
UnrealEngineのバージョンは4.6.1を使用するので、対応するプラグインをダウンロード。








Readmeに書いてある通り(英語読めない)の場所に配置するだけで、導入完了。
私の場合 C:\Program Files\Epic Games\4.6\Engine\Plugins\Developer\UE4GitPlugin-0.6.0-beta\












UnrealEngineを立ち上げて、プロジェクトを作る。
Gitプラグインを有効にした後、エディタを再起動する。












再起動した後。
バージョン管理システムにGitを指定して、接続する。
最後に接続を承認ボタンを押して終わり。











プロジェクトフォルダを開いてみると.gitフォルダができている。











エディタ内のコンテンツブラウザにも?マークがでている。
↑↓マークが緑になった。
















これにて導入完了。

使う

(※私はUE4とGitをほとんど使ったことがないので、ここから先は信憑性が低いです。)

.gitignoreの設定

せっかくSourceTreeをインストールしたので、使ってみます。
先ほどInitialize Gitしたプロジェクトフォルダを指定します。














追加後。でました。














Gitではバージョン管理の対象としたくないファイルやフォルダを.gitignoreというファイルに書きます。
以下のフォルダ内のファイルは管理する必要がないみたいなので.gitignoreに記入しておきます。
/Binaries
/DerivedDataCache
/Intermediate
/Saved
参考:
https://answers.unrealengine.com/questions/16787/how-to-setup-git-for-an-ue4-project.html














.gitignoreで指定したフォルダ内のファイルがバージョン管理から除外され、?マークの横の数字が減りました。

















ファーストコミット

何かコミットしてみます。
(Gitのことについてはちゃんとした書籍や解説サイトを読むことを(私に)お勧めします。)
作業ツリーからコミットしたいファイルのチェックボックスを選択して上の枠に移動します。(ステージングというそうです。)
その後、コミットコメントを書いてコミットボタンを押します。コミット完了です。

試しに、先ほど作った.gitignoreファイルをコミットしてみました。














masterブランチの中に入りました。














残りの作業ツリーのファイルは、UE4のプロジェクト作ったときに作られた初期ファイルなので一気にコミットしてしまいました。

UnrealEngine内からファイルをコミットする

UnrealEngine内からファイルをコミットしてみます。
新規にブループリントを作りました。最初は?マークとなっています。






















保存を行ったり、右クリック>ソースコントロール>追加用にマークを選択すると+マークになります。





















+マークがついている状態で右クリック>ソースコントロール>チェックインを押すとコミットできます。コミットされたファイルは✔マークがつきます。


















アセットを削除した場合は、UnrealEngineのエディタからはコミットできない(と思われる)為、外部でコミット行います。














UnrealEngine内から比較を行う

  • できる

中央リポジトリにプッシュする

まだ何もゲームはできていないが、このプロジェクトを先輩にも使ってもらうために、中央リポジトリを作ってプッシュ(アップロード)する。

CentOSのサーバがあるのであらかじめリポジトリを作成しておいた。
cd /var/lib/git/public/
mkdir ue4gittest
cd ue4gittest
git init --bare --shared=true
これで、サーバーに/var/lib/git/public/ue4gittest.git という中央リポジトリができたはず。
これに今までプロジェクトをコミットしてきたローカルリポジトリをプッシュ(アップロード)する。
黒い画面にコマンドを打つのが苦手なので、SourceTreeから行う。










































これにてプッシュ完了。

作業(ファイルに差分が発生)
ステージング(コミットするファイルを選択)
コミット(ローカルリポジトリに登録)
プッシュ(リモートの中央リポジトリにアップロード)

これを繰り返すことになると思います。

中央リポジトリからクローン

さて、先輩に開発に参加してもらうにはどうすればいいでしょうか。
クローンです!

プロジェクトを保存しておくフォルダを新規作成してください。
あとは以下のように、先ほどプッシュしたリポジトリを設定すれば、クローン(リポジトリの複製をダウンロード)できます。



























起動できた。















以上で私と先輩が同じプロジェクトを開発できるようになりました。(そう思いたい。)

お互いがプッシュした修正内容をプルする

メンバーが中央リポジトリにプッシュした内容を自分のローカルリポジトリに取り込むにはプル(ダウンロード)を行います。
  • プルって書いてあるボタンを押す
pullは使わない方がいいみたい。
参考

フェッチ⇒マージを行うのがよいのか。
この辺りは普通にGitを勉強してから考えよう。


よろしくお願い致します。
以上

2014年11月11日火曜日

はじめてのOculusRift DK2 + Unity つづき

つづき

OVRの中のPrefabsの中にOVRPlayerControllerというのがあるので、それをひえらるきの中へ入れる。

















このOVRPlayerContollerには右目用と左目用のカメラが入っているので、メインカメラは消しちゃう。
とりあえず再生ボタンを押して実行してみる。
お馴染みのOculusっぽい画面で表示されるので安心する。

















この状態で、Oculusを動かすと追従して画面が動いているはずだけど、何もないから見えない。
何もないと、ゲームにならないので、床とライトと地面から生えている扇風機みたいなものを配置する。

















このまま実行してもいいけど、Oculusを覗いても何も見えないので、なんとかする。
Rift Display Modeの設定で、Extend Desktop to the HMDを選択する。
これを選ぶとディスプレイとして認識されて、ディスプレイ設定に出てくる。
















unityの画面に戻ってきて、gameビューのMaximize on Playを押した状態にする。
gameビューをOculus側にドラッグアンドドロップして移動する。















移動したら最大化しておく。

実行する。







この状態でOculusを覗くと地面から生えている。
あとはお望みのゲームを作っていく。




2014年11月8日土曜日

はじめてのOculusRift DK2 + Unity

OculusRift DK2が届いたので、Unityで何か作れるようにする。

OculusRift DK2 : 注目のHMD
Unity : 注目のゲームエンジン

Unityは無料版でOculusの開発が可能となった。
ちなみに、DK1の時はUnityPro版お試しコードがついていたみたいだけど、DK2ではつかないとのこと。無料版で開発できるんだからいいよね!

Oculusのセットアップ

こちらを読んで、セットアップした。特につまるところはなかった。
https://docs.google.com/spreadsheets/d/1PtYxl2VmlNTJIxU-yrwEXCwGhYaT7bihKGqvfL7k5oE/htmlview

私のDK2は2014/09末に注文し、3週間ほどで到着しました。その際の初期ファームウェアはバージョン2.11で最新だったため、アップデートは必要ありませんでした。

Unityのセットアップ

基本的な事柄は神サイトで学ぶ。


OculusのサイトからUnityで開発するための何かをダウンロードしておく。
Runtimeをダウンロードした場所と同じところにある。
https://developer.oculus.com/downloads/














ライセンスに同意すると ovr_unity_0.4.3_lib.zip がもらえる。
解凍すると OculusUnityIntegration.unitypackage というファイルがあるので、これをUnityにインポートすることになる。











実際にやる。
Unityを起動して、新しいプロジェクトを作った直後。
















先ほど解凍した OculusUnity(ry をProjectのAssetsの中にドラッグアンドドロップする。


これが出てきたのでimportを押す。




















インポート完了。うれしい。
OVRとPluginsのフォルダができて、中に何か入っている。




















次はこれを使って何かできるようにする。