忍者ブログ
2017.08 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

プロフィール

HN:
kamera25
職業:
電気工事
趣味:
ゲーム制作

一言

仕事で失敗し、丸坊主になった人のイラストです。 (プロフィール画像変わりました。)

フリーエリア



カテゴリー

最新CM

[10/03 ora exacta]
[09/22 F19]
[03/24 F19]
[01/29 森下 拓]
[11/14 F19]

Unity5のライトマッピングの一時データが重すぎる件

Unity5 の目玉の機能といえばグローバルイルミネーションです。こちらのページでも色々記述していましたが、今様々なステージをマッピングしています。

さて、そんなGIを焼きまくってたのですが、ある時 Git のリポジトリが超肥大化している事が分かりました。つい先日まで360MBだったのに、Unity5で焼きまくってたら980MBまで膨れ上がっていました。

私はバージョン管理にBitbucketを利用しているのですが、要領制限があり2GBまでしか使えません。また1GB以上になると、「データ消せ!」と通知が出て来ます。

原因ですがUnity5のライトマッピングでベイクすると、「LightmapSnapshot.asset」というファイルが出来ます。これはUnity4では生成されなかったファイルです。これが目茶苦茶重たい



↑のファイルでは450MBありました。こんなファイルGitじゃ重たすぎて管理出来ません。

そこで思い切って、プロジェクト構造を大きく変えてみる事にしました。



1.「Lightmap_meta」フォルダをどこかに生成して、これまでのライトマップの全データを入れる。

2. 「gitignore」に以下を追記して、コミットする。
*[Ll]ightmap_meta*

3. 「git filter-branch」を使って、全部の「exr」・「exr.meta」・「LightmapSnapshot.asset」・「LightmapSnapshot.asset.meta」の履歴削除。

ちなみに私はこう入力しました。
git filter-branch -f --index-filter 'git rm -cached --ignore-unmatch *.exr *exr.meta */LightmapSnapshot.asset */LightmapSnapshot.asset.meta' HEAD

これを実行すると、履歴の削除処理が行われます。


4. 「git gc」で先ほどのデータを全部削除。

5. Bitbucket に「git push」で完了。(自分は過去のリポジトリに強制上書きする方法でなく、新しくリポジトリを生成してPushしました。)


LightmapのデータはGoogle DriveやOne Driveに入れて、必要になったら引っ張って来る形式にしました。共同で作業するなら、CIサーバなどを立てた方が良いんでしょうが…

参考 : Gitの履歴からファイルを完全に削除する
PR
2015/03/07 (Sat) Unity CM(0)
Leave a Reply
name
title
color
mail
URL
comment
password   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
管理人のみ観覧可