FreelyApps

個人によるアプリ開発の日記です。アプリの収入だけで生活できるようになるのが目標です。UnityでAndroid向けのゲームアプリを作成しています。


    アプリ『トランプ・ジン・ラミー』を公開しました。
    Android/iOS https://goo.gl/PYKFYG

    タグ:Tips

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Unityを再インストールするときに知っておいた方が良いことがあります。

    Unity自体を消してもUnityが自動で作成しているフォルダがあるので、それを残しておくとその設定が読み込まれます。完全にはじめからやり直すためにはそれらも消した状態でインストールをしなければなりません。インストール方法については以前の記事で説明しているので、それを参照してください。

    アンインストールでは消えないフォルダは以下の4つです。
    • C:/ProgramData/Unity
    • C:/Users/<ユーザー名>/AppData/Local/Unity
    • C:/Users/<ユーザー名>/AppData/RoamingLocalLow/Unity
    • C:/Users/<ユーザー名>/AppData/Roaming/Unity
    いずれも隠しフォルダなのでWindowsの設定で隠しフォルダを表示するようにしてください。

    C:/ProgramData/Unityの下にライセンスに関連するファイルが含まれています。公式での説明はこちらにあります。このフォルダを消すとライセンス認証用のファイル(ulfファイル)もなくなるので認証がやり直しになります。単なるアンインストールではこちらのフォルダが残るため、インストール後の初回起動時に行う設定がされません。Unityアカウントを作り直して、その新しいユーザーで認証したいといったときは役に立つと思います。

    C:/Users/<ユーザー名>/AppData/Local/UnityにはEditorのログとWebPlayerのアンインストーラが含まれています。

    C:/Users/<ユーザー名>/AppData/RoamingLocalLow/Unityにはブラウザのキャッシュ、GIのキャッシュ、WebPlayer関連のものが含まれているようです。このフォルダはよくわかりませんが、キャッシュ用のフォルダなのだと思います。

    C:/Users/<ユーザー名>/AppData/Roaming/Unityにはアセットストアからダウンロードしたアセットとエディターのレイアウト設定などが置いてあります。アセットストアからダウンロードしたアセットは.unitypackageの形式で置かれていて、これをダブルクリックするとプロジェクトのインポートできます。ダウンロードしたはずなのにUnityのウィンドウ上で確認できないアセットはここのフォルダからインポートすることで対応できます。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Unity で行った変更のいくつかはすぐにファイルに保存されているわけではありません。Unity 上では変更(プレハブの値の変更など)がすぐに反映されますが、それはおそらくLibrary フォルダ内への反映だと思われます。
    いずれにしろUnity を終了させたときに全ての変更がファイルに書き込まれます。

    バージョン管理を行っている場合は、Unity を立ち上げたままでコミットしてはならないということです。
    バージョン管理行っていない人はあまり気にしなくても問題ありません。 

      このエントリーをはてなブックマークに追加 Clip to Evernote
    GI(Global Illumination) はUnity 5 から使えるようになったライティングの機能です。
    光源からの光が物体に当たり、物体が反射する光がさらに周りの物体を照らす様子を再現するという機能です。
    具体的に言うと、青い立方体に白い光を当てた時周りにある物体は白い光と青い立方体が反射した青い光が当たりうっすらと青くなるということが起きます。どれくらいの影響があるかは反射光の相対的な強さ次第なので、調整が必要です。
    GI を使えば万能かというと違います。なぜならGI は現実の法則に則っていないからです。物理的な法則を計算するには計算しなければならないことが多すぎて現実的な時間では解けないのです。そのため、それらしい絵を作ることができるのがGI ということになります。

    GI の説明をしたところでなんですが、今回はGI を無効化する話になります。Unity 5 ではデフォルトでGI が有効になります。シーンごとにこれは設定できるものです。GI 自体もそれなりに重い処理なので、あらかじめテクスチャに計算結果を書き込んでおきそれを実行時に使うということをして高速化を図っています。
    そのテクスチャはシーン内の情報を書き込んだものなので、かなり大きなテクスチャになりがちです。シーンを多用したモバイル向けのアプリではこれを見過ごすことができないくらいの容量になっていくと思います。(私の場合だとシーンごとで1MB くらいとっていました)

    アプリの大きさが大きくなるのは提出できなくなる恐れもあるので困ります。Google Play に提出するなら50MB が限度です。描画の質を下げたとしてもGIを切ることで容量制限を回避できるので、GIを切ろうということになります。以下がその手順です。



    Menu からWindow->Lighting を選びます。

    lighting-window

    Lighting Window が開くので、ここのPrecomputed Realtime GI とBaked GI のチェックを外します。

    invalid-gi

    これによりGIを実行しなくなり、ビルドした後のファイルにGI用のテクスチャが作られなくなります。GIは当然機能しなくなりますが、出来上がったファイルの容量は小さくなります。

    AndroidやiOSではGIを切った方が容量的な問題を回避できるため、切っておいた方が良いと思います。GI用のファイルが作られる条件というのは、Lightmap Static なゲームオブジェクトがいる場合などになりますが、良くわからなければLighting Window から設定した方が簡単です。 【GI(Global Illumination) を無効化する】の続きを読む

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Unityのプロジェクトを作ると、
    Assets、Library、ProjectSettingsの3つのフォルダができます。

    Assetsには、スクリプト、テクスチャ、サウンドなどのUnityにインポートしたすべてのファイルが置いてあります。
    プロジェクトブラウザーに出ているものと一致します。

    ProjectSettingsには、メニューのProject Settingsで設定する項目を保存したデータが置いてあります。

    Libraryにあるのは、Unityがビルドしたスクリプトやアセットのバイナリデータなどの管理用のデータのようです。
    プロジェクトブラウザーでファイルを追加したり、消したりする場合はここにあるデータがおかしくなることはないようです。
    Unityを開かずにファイルを消したり、更新したりしてUnityを実行すると、Libraryのデータが壊れてしまいプロジェクトが開けなくなるということが起きました。

    解決策としてはLibraryフォルダの作り直しが必要です。
    Libraryの作り直しにはmetaファイルに保存されているデータが必要です。
    Unityはmetaファイルのデータを読み込んでLibraryを作っているからです。
    すべてのファイルのmetaファイルがある場合は、Libraryフォルダを削除してプロジェクトを立ち上げると直ります。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    UnityのメニューEditにPreferences...というものがあります。
    これはUnityのいくつかの動作を設定するものです。

    Generalという項目があります。
    私の場合は、画像のように2つの項目を変更しています。
    prefs.png

    Load Previous Project on Startup
    これはUnityの起動時に以前開いていたプロジェクトを自動で開くという設定です。
    どのバージョンからかわかりませんが、デフォルトではUnityのプロジェクトの一覧が画面に表示されるはずです。
    複数のプロジェクトを切り替えながら作業する人には便利ですが、あるプロジェクトの作業を連続して行うにはいちいち選択するのが面倒です。この設定を行うと、選択せずにプロジェクトが開かれるので慣れると楽です。
    Load Previous Project on StartupをONにした状態でプロジェクトの一覧画面を開く方法もあります。Altキーを押しっぱなしにしたままUnityを起動するとプロジェクトの一覧画面が開けます。


    Enable Aplpha Numeric Sorting
    ヒエラルキーに表示されるゲームオブジェクトの並び順をアルファベット順にすることができるようになります。
    (デフォルトでONになってないのは、なぜなのかと思うほど便利な機能です)
    ONにした状態だと、ヒエラルキーの上部に表示順切り替えのボタンが出現します。
    hier-sort.png

    座標軸のようなアイコンをクリックして、Alphabetical Sortを選べば、アルファベット順にゲームオブジェクトが並びます。
    この並び順が名前で探しやすいので、便利だと思います。

    UIを作るときは、Transform Sortに戻して作業してください。
    そうしないと同じ階層のゲームオブジェクトのUIの描画順を入れ替えることができません。

    このページのトップヘ