テラシュールブログ

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

アセット・ファイル管理

【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 使い方 メニュ…

【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とアニメーション スクリ…

コンパイルエラー発生時でもエディタ拡張を使用する方法

今回は前回の応用で、プロジェクト内に必要なアセットが無い場合、AssetStoreからダウンロードしてもらう機能を作成してみました。 Unity プロジェクトの中に、要求するアセット群が含まれない場合、該当ファイルのあるアセットを表示する奴 pic.twitter.com…

【Unity】FBXに格納されたAnimationClipを取り出し編集可能にする

FBXに格納されているAnimationClipはReadonlyである関係上、アニメーションを調整する事が非常に面倒になっています。 そこで、FBXからAnimationClipを取り出してイベントを設定・アニメーションイベントを調整する方法を紹介します。 AnimationClipを取り出…

【Unity】数名で一つのSceneやPrefabを編集しスマートにマージする

複数人でゲームを開発していると、同じファイルを同時に編集し変更内容が競合するケースがあります。 Unity5よりシーンやプレハブ編集ワークフローの見直しが入り、シーン構造の単純化やシーン・プレハブをマージするUnityYamlMergeの機能が追加されました。…

UnityのAssetStoreの検索がまともになった!

UnityのAssetStoreの検索がマトモになったみたいです。 今までは「問答無用で OR 検索」「欲しい情報が手に入らない」等の中々にダメダメっぷりな検索でしたが、やっとAnd検索が入り使い物になりました。 AssetStoreでAnd検索するにはGoogleと同じようにキー…

UnityのGameObjectを非アクティブにするとAnimatorがリセットされる挙動、その対処法

マニュアルに書いてあったか記憶が微妙なのですが、UnityのAnimatorはGameObjectが非アクティブになるとリセットされます。 ここで言うリセットとはアニメーションが最初に戻るだけ等の生易しい物ではなく、パラメータの持つ値やトリガー状況、アニメーショ…

UnityのAnimatorControllerにAnimationClipを内蔵する

ことUIにAnimatorを使う場合、ほとんど使いまわす事ができずプレハブもしくはシーンに従う形でAnimationControllerが 作られ、AnimationControllerが参照するAnimationClipは参照という形を取りながら完全に専用アニメーションとして扱われ ます。 そのためA…

Unityで画面の指定位置にモデルを移動させる

先日ゲームジャムでメンバーの一人が「3Dモデルを特定の位置に移動」させる事に四苦八苦していたので、作った。スクリプトを。 このスクリプトは指定したスクリーン座標へモデルを移動させる為の物です。スクリーン座標的に(x:45, y:0)の位置へモデルを移…

複数のUnityエディタを同時に起動して、Assetbundleを並列ビルドしたり、複数シーンを同時編集したりする裏ワザ

Unityのエディタを複数同時に開いて同時編集したり色々とやるアイディアを伊藤周 (@warapuri) | Twitter氏に頂いたので色々とやってみました。 この方法は明らかにUnityエディタの想定した動きではないので、やる場合は自己責任でお願いします。 Unityエディ…

UnityのAttribute(属性)についてまとめてメモる。

Unityの属性について紹介します。 目次 目次 属性(Attribute)とは 属性の表記ルール Unity標準の属性 Inspectorを拡張する属性 SerializeField TooltipAttribute SpaceAttribute HeaderAttribute MultilineAttribute TextAreaAttribute HideInInspector NonS…