テラシュールブログ

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

エディタ拡張・エディタ機能

パーティクルシステムで必要な項目だけ表示する

Unityのパーティクルシステム(通称Shuriken)について。 以前より「余計なモジュールを常に表示していて読みにくいな」と思っていたのですが、どうやら使用していない項目を非表示にする事が出来たようでした。 やり方は簡単です。 ParticleSystemコンポー…

Unityエディタのシーンビューカメラの小ネタ

シーンビューのカメラについての小ネタ。 常時特定のオブジェクトを追跡する 確かUnity 4.2辺りからシーンビューのカメラが特定のオブジェクトを常時追跡するようにする機能が追加されてました。 対象のオブジェクトを選択しShift + Fを押すと、以降は別のオ…

Unityの整形時のインデントをMonodevelopを使わず整形する

ソースコードを整形すると、ソースコードが読みやすくなります。少なくともコーディングに慣れていない内はソースコードを整形すべきと思います。*1 ソースコードを整形するのが面倒くさい場合は、ソースコードを自動的に整形するが使用できます。これならば…

Unityの複数解像度の表示結果を一覧で確認する…の使えない方

今日は全く何の役にも立たないTipsを紹介します。 ゲームを開発していると、複数の解像度を使用したくなるケースがあります。例えば、縦画面と横画面を同時に開発している際、どのように動くか等です。 実はこんな事ができたのです。 やっている事は単純で、…

Unity Editorで特定のフォルダからファイルを検索する

意外と知られていないので紹介します。 UnityのProject Viewは、searchバーにテキストを打ち込むことでファイルを検索することが出来きます。例えば「t:Texture」でテクスチャ一覧、「l:ラベル」で指定ラベルを持つオブジェクト等です。 ラベルを利用したア…

Unityで影が汚く表示される場合の対処

新板 tsubakit1.hateblo.jp 旧版 Unityを使っていると、たまに影が汚く表示される事がある。例えば以下の様な感じ。これは極端な例だが、「なんかブロック調になる」とか「ボケる」等々、そういった特徴が出る。 対策 1つは、影を生成しているLightコンポー…

Unityのunitypackage出力について

目次 目次 UnityPackageについて GUIDが参照関係を自動的に解決 ファイルが動いても参照を維持 関連 UnityPackageについて Unityのexport packageは便利です。unity packageはmetaファイルをそのまま継承する事ができます。 metaファイルにはファイルのGUID*…

UnityのSceneViewに文字やボタンを表示する その2

指摘を頂けたので補足記事。 https://twitter.com/dracounix/status/492830807321354240 そういえばEditor.OnSceneGUI内に処理を記述する事でもシーン内にGUIが記述出来ます。 やり方は以下のとおり。 Editorフォルダ以下にEditorクラスを継承したCustomEdit…

UnityのSceneViewにラベルやボタンを表示する

Unityのシーンビューへ線へオブジェクトの影響範囲等を記載する場合、Debug.LineやGizmoで行います。 その派生で、シーンビューへ文字列を表示したい場合、若干面倒ですがOnDrawGizmosやOnDrawGizmosSelectedコールバック内でHandle.Labelを使用します。 Han…

UnityのAndroidビルド時にkeystoreのパスワードを毎回要求しないようにする

訂正!Android用の証明書を作る その1の通り、AndroidのアプリケーションをGooglePlayへパブリッシュするためにはKeystoreで証明書を作る必要があります。 Unityでも例外ではなく、Unityでアプリを出力し提出する際には必ず証明書を作る工程が発生します。 …

HeaderとSpaceを使ってInspectorを整理する

Unity 4.5から標準PropertyDrawerとしてHeaderとSpaceが追加されてました。 使い方 Headerは、Inspectorにヘッダーを追加します。このHeaderを追加するには、変数の前に以下のように記述します。 [Header("ヘッダー名")] public int hp; Spaceはインスペクタ…

UnityでAnimatorではなく"Animation"を作る方法

Unity 5 で使えなくなるっぽいです。なのでコッチも紹介します。 UnityのAnimationClipをレガシーアニメーションに設定する - テラシュールブログ UnityのAnimationClipをレガシーアニメーションに設定する - テラシュールブログ Mecanimで使用するAnimation…

Unityで特定のオブジェクトをシーンビューから選択出来ないようにする

意外と知られていないことだが、シーンビューからオブジェクトを選択不可にする方法は2つある。一つ目はHierarchyViewから非表示にしてしまうこと。例えばLockObjectのように、アタッチしたオブジェクトの子オブジェクトを非表示にする事で、特定階層から下…

Unityで、Editor シーン上にプレハブとしてオブジェクトを配置する

プレハブとしてオブジェクトを作成するには、以下のようにコードを記述します。#if UNITY_EDITOR var tile = UnityEditor.PrefabUtility.InstantiatePrefab(prefab.gameObject) as GameObject; #else var tile = Instantiate(prefab.gameObject) as GameObje…

Unityプロジェクトへファイルを追加する際にダイアログ出して上書き更新する

先日公開したUnityプロジェクトへファイルを追加する際に上書き更新する - テラシュールブログについて、「オーバーライドする際にダイアログを出す」サンプルを頂いたので早速試してみた。snakaさんrodostwさん、情報ありがとうございます m(_ _)m使ってみ…

Unityのカメラ描画範囲を常に表示させる

追記:コッチのほうが便利そうです。https://debuglog.tumblr.com/post/48923836563/%E9%9D%9E%E9%81%B8%E6%8A%9E%E6%99%82%E3%81%AB%E3%82%82%E3%82%AB%E3%83%A1%E3%83%A9%E3%83%93%E3%83%A5%E3%83%BC%E3%81%AE%E3%82%AE%E3%82%BA%E3%83%A2%E3%82%92%E8%A1%…

Unityプロジェクトへファイルを追加する際に上書き更新する

昨日の記事(Unity開発者が複数人で開発を進める上で覚えておくと幸せになる9つの事)で少しだけ紹介したが、思いの外上手く出来ていたので改めて紹介したい。これはプロジェクトビューへファイルを追加した際、既にファイルが有る場合は上書きコピーするよ…

Unity開発者が複数人で開発を進める上で覚えておくと幸せになる9つの事

ゲームジャムが近いので、複数人開発で注意すべきことをまとめる。この内容は自分の開発経験やヒアリングを元に考えたものだ。※この方法が正しいとは限らない。とにかく意見がほしい 今回は管理システムにはGitでSource Tree、Unityのバージョンは4.5を想定…

Inspectorの数値を手軽に変更する技

意外と知られていない気がするのでメモ。UnityのInspectorにはpublicもしくはSerializeField属性を持つ変数が表示されるのは知っての通り。で、この変数が数値だった場合、実は手入力以外でも値を変更することが出来る。こんなかんじで。 やり方は簡単、Insp…

プレハブの入れ子構造・Nested Prefabへの挑戦その2

前回のPrefab In Prefabとは方式が異なる、新しい方法を試してみた。前回:[Unity]prefabの入れ子構造を可能にする、プレハブのネスト化を試作 その1 有力候補:prefab_in_prefab■Nested Prefab 2今回はプレハブ化に辺り特殊な事は行わず、ただ単純に元のプ…

コンポーネントとプレハブの紐付けを自動化する

Unityはプレハブとして登録したゲームオブジェクトへ参照を持つことが出来る。STGを作るケース等では割とこの方法でオブジェクトへの参照を持ち、Instantateでインスタンス化するのが常套手段となる。実はこの参照、オブジェクトにアタッチする前に登録する…

Unityエディタを日本語化する方法(4.x向け)

最新はこちらtsubakit1.hateblo.jp 以下旧情報Unityエディタは幾つかのUIを外に配置しているため、その項目であれば日本語表記に変更することが出来る。この機能を利用すると、多少だがUnityのエディタを日本語化する事ができる。 下の図は実際に日本語化し…

HierarchyのGameObjectを非表示にする

前回はゲームオブジェクトやコンポーネントを入力不可にする方法を紹介したが、もっと項目を弄られたくない場合の最終手段として「HierarchyからGameObjectを非表示にする」方法がある。 やり方は前回同様 gameObject.hideFlags の HideFlags.HideInHierarch…

ゲームオブジェクトを編集不可にする

Unityで作業を進める上で、ゲームオブジェクトが編集されると困る場合がある。例えば既にfixしたオブジェクト配置だったり、剥がされると困るコンポーネントだったり、特に複数人で編集する場合に発生するケースがある。 Unityには特定のコンポーネント・オ…

作成したScriptableObjectを呼び出す

そういえば[Unity]Excelでデータを管理してUnity iOS/Androidで使うワークフローをノーコーディングで使えるようにした等でScriptableObjectを作る方法を紹介したが使う方法を紹介していなかったので、紹介。ScriptableObjectについては[Unity]ScriptableObj…

知っておくと少し幸せになる最低限のエディタ拡張

OnValidate Unityのエディタ拡張で、実際に使い勝手の良い使って便利で最低限なエディタ拡張手法を紹介しようと思う。他にも「Unity エディタ拡張」で検索すれば色々と出るが、少なくとも自分はこれだけで何とかなってる。OnValidateOnValidateを使用すると…

プラットフォーム切替を15倍くらい高速化する Fast Platform Switch

Unityのプラットフォーム切替は時間がかかる。 特にテクスチャの変換が時間がかかるので、変換に時間が掛かるテクスチャ形式のiOSやAndroidでは非常に高いコストとなってしまう(自分の今作っているアプリでは、Android->iOSに約7分前後かかる)。そういった…

Excel Importer、同一ブックの複数フォーマット出力機能を追加

先日、ExcelImporterMakerとUnityTestToolsが競合するとの噂を聞き、 治すついでにExcelImporterMakerを少し改造しました。今回の改造では、1ブックから複数フォーマットのデータを抽出出来るようにしました。 つまり、1個のXLSファイルに複数のデータフォー…

AssetStoreのアセットをオープンソースに含めたい

便利なアセットを作っても、モデルやAssetStoreの機能を使用しているが故に 公開しにくいといった場合があるようです。単純に有料で販売している物(NGUI等)をGithubで上げるのは普通に考えて違法コピーですし、 無料で上げているものも著作権を放棄してい…

Unityに自動セーブ機能を追加してみた

Unityのクラッシュ対策に、シーン情報を一定時間ごとに保存する機能を作ってみました。機能は2つ、シーンの情報を一定時間(もしくはシーン再生時)に保存する機能と、 シーン情報をバックアップし、ロールバック可能な状態で保持する機能です。これを使えば…