テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

アセット・ファイル管理

【Unity】AssetBundleを利用してアプリサイズを削減するアプローチ

Unity 2017はコチラを使いましょう。 tsubakit1.hateblo.jp AssetBundleの依存関係等があり、必ずアセットを含める必要がある場合はアセットをローカルに保持するのが有益かもしれません。 ------------------------------------------------------------- A…

【Unity】AssetBundleのVariantsでロードするアセットを差し替える

今回はAssetBundleのVariantsで、リソースを差し替えてみます。 シーン/プレハブが参照するアセットを差し替えるVariants Variantsを使用してみる 実際にVariantsを使用してみる プレハブの作成 Variantの設定 AssetBundleを読み込む 注意点 AssetBundleMana…

【Unity】Unityエディタがクラッシュした際に失われた情報を復旧させる裏技(5.3以降)

以前紹介した「Unityエディタのクラッシュ時に失われたシーン情報を復旧させる裏ワザ」が、5.3で使えなくなっていたので、新しい方法についてです。 上手く使えば、Unityエディタがクラッシュや無限ループして編集中のシーン情報を飛ばした場合でも、過去の…

【Unity】AssetBundle Managerが思ってたより凄く便利

AssetBundle関連を使用する上で便利な上位層APIとして、AssetBundle ManagerがAssetStoreで公開されています。これが思ってたより便利だったので、改めて紹介します。 AssetBundleを簡単に使う為のAsset Bundle Manager AssetBundleを構築する ローカルサー…

【Unity】ファイルサイズとメモリ消費を無意味に増やさない為の、AssetBundleと依存関係についてのメモ

今回はAssetBundleとAssetBundleの依存関係についてです。これについては、AssetBundleを使うなら最低限知っといた方が良いかもしれません。 AssetBundleとアセットの依存関係 複数のAssetBundleから特定のアセットを参照する場合 リソースは別のAssetBundle…

【Unity】Unityエディタで変更したプレハブを更新「しない」方法

UnityエディタはPrefab・ScriptableObjectといったアセット、Animationの制御等、いくつかの*1情報をUnity側が保持するフォーマットによって管理します。 これらの情報は「シーンの保存」や「Editor>Save Project」、「エディタの終了」等いくつかの要因で実…

【Unity】ゲーム内で何がどの程度メモリを消費しているのか確認する MemoryProfiler

ゲーム内で使用してるメモリを把握するのに少しだけ便利なMemory Profilerについてです。 ゲーム内で使用しているメモリ 導入方法 使い方 ゲーム上のメモリを取得する アセットの追跡 追記(テクスチャの中身を知りたい場合) 関連 ゲーム内で使用しているメ…

【Unity】5.3以降AssetBundleの各種圧縮形式のパフォーマンス比較

Unity5.3になりAssetBundleが変わりました。で、AssetBundleのパフォーマンスについても大分変化したので、そこについて検証してみようと思います。 AssetBundleの新しい設定LZ4 検証方法について 結果。無圧縮でかい、LZMA遅い、LZ4はその間 キャッシュとLZ…

【Unity】SpritePackerとResourcesについて

昨日はSpritepackerとAssetBundleについて書きましたが、今日はSpritePackerとResourcesについて書こうと思います。 tsubakit1.hateblo.jp SpritePackerとResourcesについて ResourcesからSpritepackerのテクスチャアトラスを使う 関連 SpritePackerとResour…

【Unity】SpritePackerとAssetBundleについて

今回はSpritePackerとAssetBundleの挙動について少しメモします。 SpritePackerとAssetBundleといふ便利機能 SpritePackerでパックしたテクスチャアトラスはAssetBundleに自動的に組み込まれる SpritePackerでパックしたテクスチャアトラスの部分組込は出来…

【Unity】プロジェクト内のScriptableObjectを見つける方法

エディタ拡張でエディタ機能を拡張している際、データを保存したくなる事が多々あります。そこでScriptableObjectが大活躍する(ハズ)なのですが、プロジェクト内の「特定のフォルダに格納」といった扱いは微妙にイケていない気がします。 凄く手っ取り早い…

【Unity】AssetStoreのComplete Packageのパッケージで、プロジェクトの設定を上書きしない

プロジェクト設定とComplete Package インポート時にプロジェクト設定を上書きしない 関連 プロジェクト設定とComplete Package AssetStoreのComplete PackageやUnity Essentialsカテゴリから提供されているアセットは、Unityのプロジェクト設定を上書きした…

【Unity】C# Project Generationで標準namespaceを設定したり、アセットを参照してるシーン・プレハブをIDEから検索かけたり。

何時ごろからか、Unityのエディタ設定に追加されていた「C# Project Generation」の機能について紹介します。 この機能は簡単に言えば、MonodevelopやVisual Studioに関連する機能で、生成するスクリプトにNamespaceを付与したり、IDEから識別することが出来…

【Unity】ゲームジャムで作ったプロジェクトをパブリックなリポジトリに置くために行った作業

今回はゲームジャムの作品をパブリック(誰でも触れる)なリポジトリに置くために行った作業について書いておきます。 不要なアセットの削除 アセットストアや公開出来ないアセットの削除 アセットを整理する 関連 不要なアセットの削除 ゲームジャムに公開…

【Unity】1GB近かったPC向けゲームのアプリサイズを18MBぐらいまで縮めた話

グローバルゲームジャム2016で、NPCに紛れたプレイヤーを見つけ出すゲーム「Creep IN Heresy(邪教に忍び込め!)」を作った話 -で少し書いた、アプリサイズを少し小さくした話です。 これはTipsと言うよりは、単純に作り方が間違ってたので凄いサイズになり…

【Unity】uGUIでスプライトアニメーションするには

uGUIでスプライトアニメーションを行う方法についてです。難しい事は全くないのですが、気づかないと分からないかもしれないので、一応ここに書いておきます。 下のGIFはキャラクターアニメーションをuGUIで行って居るので影付けたりアウトライン付けたり、…

【Unity】ファイル名(アセット名)の一括更新について

Unityで作業をしていて、ファイル名の変更で少しひっかかったのでメモ。 ファイル名の変更とGUID Unityでファイル操作を行う場合、ファイルの移動やリネームはUnityエディタで行う必要があります。 というのも、Unityは全てのファイル(アセット)にGUID(グ…

【Unity】AnimationClipのMissingなパスを見つけて解決しやすくするエディタ拡張

昨日の応用で、アニメーションするオブジェクトでmissingになっているパスを発見し置換するエディタ拡張を作ってみました。 missingなAnimationClip missingなアニメーションを見つける missingなパスを置換する 導入とソースコード 使い方 感想 関連 missin…

【Unity】AnimationClipからTransformを操作するのアニメーションカーブを一括で消すエディタ拡張

アニメーションクリップからTransformのアニメーションを一括で消すエディタ拡張についてです。Animationを使用する目的のある程度はTransformの更新だと思うので必要かどうかは微妙な所ですが、一応。 TransformをAnimationClipから消すエディタ拡張 Transf…

【Unity】マテリアルのInspector表示を拡張するエディタ拡張

Materialの、正確にはShaderのInspectorを拡張するエディタ拡張についてです。下のように、マテリアルの設定について情報を追加したり、入力内容を整理したりすることが可能になります。 MaterialのInspectorを変更するテスト pic.twitter.com/sppjoZ3tjx — …

【Unity】AssetBundleからMultiple Spriteに含まれるスプライトを取得する方法とその周辺

今回はAssetBundleの中に格納したMultiple Spriteから特定のスプライトを取得する方法と、その挙動についてです。 Multiple Spriteの取得方法について AssetBundle.LoadAllAssetsでは駄目 AssetBundle.LoadAssetWithSubAssets 不要なスプライトの破棄 特定の…

【Unity】AssetStoreからインポートしたアセットをプロジェクトからアンインストールする「 Package Uninstaller」

PackageUninstallerはインポートしたunitypackageをアンインストールする事が出来るエディタ拡張です。 例えば色々とプロジェクトにUnitypackageを突っ込んだ状態で、特定のパッケージを消したい…といった時に使えます。 Package Uninstaller github.com 使…

【Unity】プロジェクトに不要なアセットをプロジェクトから退避するエディタ拡張を作ってみた

追記:Unity 2017で動作しない不具合があるかもしれません。現在確認中 Unityのプロジェクトには様々なアセットが含まれます。そういったアセットの中から「ゲームの進行に必要な最低限のアセット」を残しプロジェクト外へ退避するアセットを以前に自作して…

【Unity】指定のプレハブやテクスチャが、どのシーンのどのオブジェクトで使用されているのかを見つける

プロジェクト内で使用しているテクスチャやメッシュが何処で使われているのかを追跡する方法です。 目次 目次 どのシーンで使用されているかを探す どのオブジェクトがアセットを使用しているかを探す ref検索を一発で行う どのコンポーネントがアセットを使…

【Unity】AssetServerで「コミットするアセットが必要とするアセットを一緒にコミット」する手軽な方法

バージョン管理システムのAssetServerにファイルをコミット(アップロード)する際、「コミットするアセットが必要とするアセットも一緒にコミット」しやすくする、そんな便利機能があったので紹介します。 コミットするアセットが必要とするアセットって、…

【Unity】おなじプロジェクトを複数のエディタで同時に操作する(Windows版)

ゲームを作成するシーンにおいてエディタを複数起動し同一プロジェクトを操作したくなるシーンがあります。 例えば、オンラインマルチプレイなゲームの開発です。複数のクライアントが必要となるこのケースですが、動作の確認に毎回WebPlayerやStandalone向…

【Unity】期間限定で無料になったビジュアルスクリプティングのアセット「Arbor」で遊んでみた

www.youtube.com 現在、有償で配信されていたArborが期間限定で無償配信されているみたいです。 https://www.assetstore.unity3d.com/jp/#!/content/17883 ArborはPlayMakerのようなビジュアル的に状態の管理を行えるアセットです。 ・Unityで有限ステートマ…

【Unity】指定のアセットがプロジェクト内に存在しない場合、不足アセット一覧とパッケージへのリンクを表示してくれる効果が発動するアセットを作成した

指定のアセットがプロジェクト内に無い場合、不足ファイルの一覧と該当アセットのあるファイルへのリンクを表示してくれるアセットを作成しました。 エディタを起動させた際にアセットが不足している場合、必要なアセットを表示してくれます。また、「A$」ボ…

【Unity】One Column Layoutでも一覧プレビューを使う

Unity4よりUnityのProjectビューはTwo Column Layoutが標準設定になりました。 この設定ではフォルダの中身探索に集中できる点や、一覧プレビューでファイルを一覧して見れる点、またタグによる検索結果やよく使うフォルダへのアクセスをお気に入りとして保…

Unity上でMMDモデルを独自アニメーションで走らせる

MMDモデルをRoot移動の無い、独自のモーションで走らせる方法についてです。この記事は以前に書いたUnity内でMMDモデルを自由に走らせる手軽な方法 の続き的な位置づけです。 目次 目次 MMDモデルおよびモーションの登録 RootMotionとアニメーション スクリ…