アセット・ファイル管理
久しぶりの更新は、TextMeshProのMaterial Presetを増やす方法について。 TextMeshProは文字を表現するのに便利な表現 Material Presetでエフェクトのあるマテリアルを選択 Material PresetはCreate Preset Materialで増やす 関連 雑記 TextMeshProは文字を…
今回はModelの更新に関するTipsです。 モデルの差し替えのトラブル オブジェクト構造やコンポーネントを維持しつつモデルを差し替え 実際の流れ コンポーネントの参照先は残らない問題 関連 モデルの差し替えのトラブル ゲーム開発を進める時、最初からモデ…
今回はScriptableObjectを使用したComponentやScene間でのデータ共有についてです。なお、この記事は30回近く書き直した*1という曰く付きの記事で、場合によっては消えるかもしれません。 ScriptableObject ScriptableObjectはアセットでありインスタンスで…
昨日のエディタ拡張で調子に乗って作ってみました。 ただ色々確認してる所、Macでは動かないかもしれません。 Ctrl + Dで複製しかし()は無し ファイルの複製(適当) コード 関連 Ctrl + Dで複製しかし()は無し Ctrl + Dでオブジェクトを複製しますが、…
AssetBundleにモデルを格納した時、モデルのマテリアルがユニークなシェーダーを使用しているとモデルがピンクになる事があります。 今回はその原因と対策についてです。 モデルがピンクになるという事 AssetBundleに格納したSceneやModelがピンクになる 問…
今回はUnityでゲームをビルドする前にプロジェクトやシーンに何らかの処理を行い、、ビルド完了後に戻す方法についての紹介です。 Unity 5.6以降で動作します。 作る際に便利なものとパフォーマンスに良いもの ビルド前とビルド後に処理を行う(全体) ビル…
今回は小さなTipsです。 例えば上のように「どれか一つのUI状態を持つ」UIをAnimationControllerで管理し、かつAnyStateから呼び出すように作成した際、Triggerを叩くと何度もUI表示アニメーションが再生されてしまうといった事があります。 AnyStateの先へ…
Anima2Dが、パブリッシャーがUnityTechnologiesになりUnity Anima2Dに名前を変えて無償公開されました。 https://www.assetstore.unity3d.com/jp/#!/content/79840 Anima2Dはスケルタルアニメーション(FateGOやSprineのような物)を実現するアセットの一つ…
今回はアセットのUnloadとDestroyの使い分けと、アセットの運用についてです。 基本的にはアセットの開放はResources.Unloadで可能 Resources.Unloadで開放出来ないケース インスタンス化したアセットの開放はDestroy 大抵の場合はUnloadUnusedAssets 基本的…
AssetBundleをメインで使用して開発するのは良いのですが、コンテンツを変更するたびにビルドが必要になるので若干面倒くさい所があります。一応、Unity 5からのビルドパイプラインでは、内包するコンテンツに変化がなければ再ビルドしない設計になっていま…
今回はAssetBundleにSceneを含め、実行時に展開する手法についてメモします。面倒くさいとおもったら、AssetBundle Managerを使うのが良いと思います。 tsubakit1.hateblo.jp AssetBundleにSceneを含める SceneをAssetBundleに含める方法 AssetBundleからSce…
今回は、Unityプロジェクトからアプリケーションをビルドした際、Unityプロジェクトに含まれるアセットについてです。 Assets以下のアセットは全て含まれる訳ではない Resourcesフォルダ以下のアセット Resourcesは使わないサブアセットも全て含める Sprite…
今回はC#のビルド時間を短くする方法についてです。f C#のコンパイル Assembly Definition Filesを使用する Pluginsフォルダにあるコードは、事前コンパイルされるのを活用 事前にDLLにコンパイルしたコードを使用する コンポーネントをDLL化すると、参照が…
Unity5でAssetBundleを作成する際Manifestファイルが作成されるようになりました。 今回は、このManifestファイルは何というお話。 ManifestファイルはAssetBundleの構成情報が記述されている 生成したパスと同名のManifestにはAssetBundle同士の依存関係を…
AssetBundleからアセットを取得する方法について、少し整理します。 AssetBundleからアセットを取得する ファイルパスを指定してAssetBundleからアセットを取得する アセットの中に含まれているアセットを取得する アセットが依存しているアセットを取得する…
今回は「異なるProjectにてAssetBundleを構築するとどうなるのか」についてです 別のプロジェクトで作ったAssetBundleは読める 複数のプロジェクト間で作成したAssetBundleの依存関係 確認方法 プロジェクト2の作業 プロジェクト1の作業 プロジェクト2と…
AssetBundleのVariantを使用して、ローカライズ的な事を行うアプローチについてです。今までは少し面倒なバグのせいで紹介するのを避けてきましたが、Unity 5.4bの何処かのバージョンでバグが治ったので、使えるようになりました。 Variantでローカライズ テ…
UnityのCubeを引き伸ばしても、テクスチャが引き伸ばされずにしき詰めてくれるアセットを見かけたので、メモします。 Master Cube Cubeを引き伸ばしてもテクスチャが伸びなくする CubeのUVを面毎に調整する メッシュを結合して単一のメッシュにする 感想 Mas…
Animatorの運用方法について、5つのアプローチを試しに試作してみました。 サンプルプロジェクト Style1:各ステートマシンにて制御 Style2:ステートマシンのアニメーションを上書き Style3:AnimatorOverrideControllerを「シーンにシリアライズ」 このサ…
Unity 2017はコチラを使いましょう。 tsubakit1.hateblo.jp AssetBundleの依存関係等があり、必ずアセットを含める必要がある場合はアセットをローカルに保持するのが有益かもしれません。 ------------------------------------------------------------- A…
今回はAssetBundleのVariantsで、リソースを差し替えてみます。 シーン/プレハブが参照するアセットを差し替えるVariants Variantsを使用してみる 実際にVariantsを使用してみる プレハブの作成 Variantの設定 AssetBundleを読み込む 注意点 AssetBundleMana…
以前紹介した「Unityエディタのクラッシュ時に失われたシーン情報を復旧させる裏ワザ」が、5.3で使えなくなっていたので、新しい方法についてです。 上手く使えば、Unityエディタがクラッシュや無限ループして編集中のシーン情報を飛ばした場合でも、過去の…
AssetBundle関連を使用する上で便利な上位層APIとして、AssetBundle ManagerがAssetStoreで公開されています。これが思ってたより便利だったので、改めて紹介します。 AssetBundleを簡単に使う為のAsset Bundle Manager AssetBundleを構築する ローカルサー…
今回はAssetBundleとAssetBundleの依存関係についてです。これについては、AssetBundleを使うなら最低限知っといた方が良いかもしれません。 AssetBundleとアセットの依存関係 複数のAssetBundleから特定のアセットを参照する場合 リソースは別のAssetBundle…
UnityエディタはPrefab・ScriptableObjectといったアセット、Animationの制御等、いくつかの*1情報をUnity側が保持するフォーマットによって管理します。 これらの情報は「シーンの保存」や「Editor>Save Project」、「エディタの終了」等いくつかの要因で実…
ゲーム内で使用してるメモリを把握するのに少しだけ便利なMemory Profilerについてです。 ゲーム内で使用しているメモリ 導入方法 使い方 ゲーム上のメモリを取得する アセットの追跡 追記(テクスチャの中身を知りたい場合) 関連 ゲーム内で使用しているメ…
Unity5.3になりAssetBundleが変わりました。で、AssetBundleのパフォーマンスについても大分変化したので、そこについて検証してみようと思います。 AssetBundleの新しい設定LZ4 検証方法について 結果。無圧縮でかい、LZMA遅い、LZ4はその間 キャッシュとLZ…
昨日はSpritepackerとAssetBundleについて書きましたが、今日はSpritePackerとResourcesについて書こうと思います。 tsubakit1.hateblo.jp SpritePackerとResourcesについて ResourcesからSpritepackerのテクスチャアトラスを使う 関連 SpritePackerとResour…
今回はSpritePackerとAssetBundleの挙動について少しメモします。 SpritePackerとAssetBundleといふ便利機能 SpritePackerでパックしたテクスチャアトラスはAssetBundleに自動的に組み込まれる SpritePackerでパックしたテクスチャアトラスの部分組込は出来…
エディタ拡張でエディタ機能を拡張している際、データを保存したくなる事が多々あります。そこでScriptableObjectが大活躍する(ハズ)なのですが、プロジェクト内の「特定のフォルダに格納」といった扱いは微妙にイケていない気がします。 凄く手っ取り早い…