読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

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

【Unity】SpriteEditorでSpriteが自動生成したポリゴンを削減したり透過部分に穴を開けたり

今回はUnity 5.6に新しく追加されたSpriteEditorのポリゴン調整機能について。 Spriteとポリゴン SpriteEditorでポリゴンを削減 穴を空ける 関連 その他 Spriteとポリゴン Unityはスプライトを表現する際、QUAD(4頂点の板ポリ)ではなくポリゴンに切り抜い…

【Unity】GameObjectのstatic設定についてのアレコレ

UnityはGameObjectにstaticのフラグを設定する事が出来ます。面倒な場合はeverything(全部)で設定してしまうのですが、これは結構意味がり、場合によってはチェックを外したほうが良い事もあります。 色々なstatic Lightmap Static Reflection Probe Stati…

【Unity】複数のオブジェクトを同時編集する際に便利な、Inspectorビューをサクっと複製してLockするエディタ拡張

さる御方のふとした一言により、試しに作ってみたら思ってた以上に便利だったので、ここにメモします。 Inspectorビューは使われすぎではないかという意見 Inspectorビューを複数表示してLockする Inspectorビューの追加と固定をもっと簡単に 使い方 既知の…

【Unity】スプラッシュスクリーンがPersonal ライセンスでもカスタマイズ可能に

Unity 5.5 b3より、スプラッシュスクリーンのカスタム機能が追加されました。 unity3d.com スプラッシュスクリーンのカスタム ロゴの表示順番や背景も設定可能 プレビューボタンで確認 Personalライセンスでもカスタマイズ可能 Plus / Professional は Unity…

【Unity】Local CacheServerでSwitch platformを高速で行う

Unity 5.5から、LocalにCacheServerを用意する設定が追加されました。これで、あの長かったプラットフォーム切替が、かなり短縮されます。 Unity 5.5で一番素晴らしい機能は「Cache Serverを内蔵してプラットフォーム切替を超早くした」だと思う pic.twitter…

【Unity】知っておくと便利なAnimation Windowの操作(5.5以降対応)

Unity 5.5でAnimation Windowに手が加わりました。 今回はソレも踏まえて、Animation Windowのショートカットキーについて確認してみた事をメモします。 ま、アリじゃないか貴様(上から目線 知っておくと便利なAnimation Windowの操作 知っておくと便利なAn…

【Unity】シーンの一括展開を行うSceneSet

Unity 5.5からシーンの一括展開を行う「エディタ機能の」SceneSetが追加されました。 SceneSet SceneSetの設定 SceneSetの作成 感想 関連 SceneSet SceneSetは、シーンの展開を一括で行うエディタの機能です。 例えば複数のシーンを幾つかの組み合わせで開く…

【Unity】Unity 5.5からオブジェクト選択がアウトライン方式になった

Unity 5.5からオブジェクトの選択方式が「アウトライン」になりました。以前は選択中の情報はワイヤー表現でしたが、アウトラインになったことで複雑なシーンでも選択しやすくなったんじゃないかなと思います。 アウトラインの色を変える アウトラインからワ…

【Unity】Rigidbody2Dがスリープになったかどうか確認する

物理演算はスリープしてCPUを節約する 物理演算は複雑な当たり判定と物理的な動作のシミュレーション(再現)を行います。ただゲームのCPUにも限度という物があるため、物理演算はたいてい接触しない・動かないオブジェクトはスリープ状態へ移行する機能を持…

【Unity】Excel Importer Maker、xlsxに対応

今まで出来なかったxlsxのインポートですが、出来るようになりました。 特に設定するような事は無く、xlsと同じような感じでxls importer makerを開いて貰えばインポーターを作れます。 (ブランチ切って改良してくれた方に感謝) それと、WindowsでExcel開…

【Unity】uGUIのコードを編集して動作を改変する

今回はUnityの標準UIシステムであるuGUIの改造方法についてです。 uGUIのコンポーネントを改造する バックアップ uGUIのプロジェクトを取得 プロジェクトの設定 更新されたか確認する デバッグする 注意事項 関連 uGUIのコンポーネントを改造する uGUIの各コ…

【Unity】複数のAssetBundleから参照されるアセットを見つけ出す

AssetBundleにて「AssetBundle一つにつきPrefabを一つ格納」といった感じで設計している場合、一見Prefabのアセットのみが格納されているように見えますが、実際は「Prefabが参照しているすべてのアセット」が含まれます。 といった内容が以前書いた【Unity…

【Unity】コンパイル時についでにテストも行う設定

ソースコードを書いた際、コンパイラが判断出来ないコードや文法的な間違いがあった場合、コンパイラがエラーとして指摘してくれます。コンパイラエラー以外でも、インスタンスを設定されていないオブジェクトを使用するとか、そういった単純なエラーはコン…

【Unity】CPUプロファイラでパフォーマンスを改善する 前編

ゲームを作っているうちに、何か重い的な事もあるかもしれません。そんな時、プロファイラを使用して重い部分を発見・改善する必要があります。 Unityの標準プロファイラはXcodeのInstrumentsよりも精度で劣りますが、サクっと確認する上では結構使い勝手の…

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

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

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

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

【Unity】マルチシーン編集する際に知っておきたい、複数のシーンに跨ったライトマップを操作した時の挙動について

今回はマルチシーン編集(Multi Scene Editing - MSE)による複数シーン編集とライトマップについてです。 Unity 5.3より複数のシーンを同時に編集可能になりました。これにより広大なシーンを複数のシーンに分割し段階的に構築する事や、屋根や壁といった編…

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

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

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

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

【Unity】5.3に追加されたマルチ・シーン・エディティングで出来る事

今回はマルチシーンエディティングについてです。 マルチシーンエディティング ステージやギミック毎にシーンを分割して同時編集 ステージを複数のシーンに分割して編集・平行構築 シーン毎にUIを作成して加算読込とか管理 本番シーンに機能を移植 マルチシ…

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

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

【Unity】UnityEditorからテキストファイルを作る

Unityでゲームを作ってるとき、ふとしたメモをプロジェクト内に残したい時(ReadMeを作りたい時)等があったりします。そんな時に取れる方法としては、秀丸を立ち上げて保存してUnityプロジェクト内にドラッグ&ドロップする訳ですが、別アプローチとしてUni…

【Unity】Unityでマルチディスプレイする方法

Unity 5.3でマルチディスプレイに対応したので、マルチディスプレイする方法について紹介します。 マルチディスプレイのための準備 マルチディスプレイを設定する カメラを複数台設定する マルチディスプレイを有効化する マルチディスプレイにおけるマウス…

【Unity】Inspectorに数式を書く

数式の入力 変数は無い 数式を使える入力項目 文字列の結合は 数式の入力 Unityの何時だったか、Inspectorで式を書くと答が入力出来るようになりました。数値を入力する項目であれば、式を記述すれば回答が入力されます。 当然、括弧の演算も使用することが…

【Unity】Unity4で書いたコードをUnity5向けに変換する「Script Updater」

Unity 4とUnity 5はAPIが幾つか異なる Script UpdaterによるUnity 5対応 アセットのインポート以外でもお目にかかるケース Script Updateに頼らない No Thanksした後でScriptUpdaterを起動したい Assembly UpdaterでDLLをUnity5向けに変換 Script Updaterの…

【Unity】オブジェクトからオブジェクトへコンポーネントを移動する

UnityのInspectorからComponentがD&Dで別のGameObjectにコピーできるようになってる、すげー便利! #unitytips — 癸シキ (@saishiki) 2015, 10月 27 という機能があったそうで、実際試した処… おぉ、これは気づかなかった。コンポーネントを別のオブジェクト…

【Unity】タグやレイヤー表示を階層構造にする

先日の#UnityTipsで「タグやレイヤーの表示を階層構造にする」といった面白いTipsが紹介されていました。 It's #unitytips Tuesday: Create submenus in the tags & layers dropdown by using a slash in the name! @unity3d pic.twitter.com/wBYT3bxYOC — B…

【Unity】シーンの「追加読込」と、追加読込したシーンの「破棄」

Unity 5.2よりLoadLevelAdtiveでロードしたシーンのアンロード(破棄)が可能になりました。 今までは「LoadLevelAditiveやResourcesからオブジェクトを取得」し、「SceneManagerに親オブジェクトを登録」「不 要になったら親オブジェクトごと消す」のような…

【Unity】コンポーネントの順番を並び替える「Reorder My Components」

「Reorder My Components」はオブジェクトにアタッチされているコンポーネントの順番を簡単に書き換えられるエディタ拡張です。 Reorder My Components このエディタ拡張は正確には「選択中のオブジェクトにアタッチされているコンポーネントの順番を、ドラ…

【Unity】エディタ拡張で作成したカスタムウィンドウがエラーで操作出来なくなった時の対処法

例えばエラー等を起こしてカスタムウィンドウが動かせなくなる事があります。こうなると、右上の「x」ボタンとか効きません。 対策 右上のLayoutよりDefaultとか選択すれば直ります。少なくともウィンドウは消えます。

【Unity】ゲーム起動直後に1度だけ処理を行う

ゲーム起動時に1度だけ処理を行います。 サンプル 今回は解像度を半分にする処理に使用します。これはStartやAwakeでやった場合、そのコンポーネントを持つオブジェクトが呼ばれるたびに解像度が半分になる…といった挙動になるためです。なので1回しか起動し…

【Unity】ScriptableSingletonでエディタウィンドウ間の情報共有

目次 目次 エディタは値を忘れる ScriptableSingletonを使う 感想 エディタは値を忘れる Unityエディタは実は物忘れが激しいです。 何が言いたいかと言えば、エディタウィンドウ等で使用されているstaticな変数を「ゲームの再生時やコンパイル時に忘れる」と…

【Unity】シーン再生中にオブジェクトを調整し、シーン再生終了時も調整内容を保持する

今日のセミナーでチラっと話した「Unityでシーン再生中にオブジェクトを調整し、シーン終了時も調整内容を保持する方法」について書きます。 Unityでシーン再生中にオブジェクトを調整し、シーン再生終了時も調整内容を保持する pic.twitter.com/MAlYSR1jib …

【Unity】オブジェクトの大きさを一括で変更する

オブジェクトのサイズを一括で変更します。 これは「ゲームのサイズを適正なサイズに設定する」事に特に効果があります。 Unityのボックスの1は1mとして扱われています。このため、物理演算を2dチックなゲームに組み込むと動きが「ふわっと」や「モッサリ」…

【Unity】Unityの内部APIを確認する方法、呼び出す方法

Unityを触っている上で、この機能はどのように実装されているのかや、公開されていないAPIを呼び出したい事があります。 その辺りの話です。 Unityの中のAPIを確認する アセンブリブラウザでUnityエディタの中のコードを確認します。 MonodevelopでSolution…

【Unity】UIだけ表示するScene Viewを作った

UIだけ表示するシーンビューを試しに作ってみました。右上の画面がUIのみを表示するシーンビュー、左上がUIを表示しないシーンビューです。 UnityでUIのみシーンビューとUI以外シーンビューとゲームビュー pic.twitter.com/wByCx29Po3 — 椿 (@tsubaki_t1) 20…

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

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

【Unity】Unityエディタのライセンス認証-アクティベーションをCUIで行う

UnityエディタのアクティベーションおよびアクティベーションをCUPで自動化する方法について紹介しようと思います。 ライセンス認証のコマンド 以下のコマンドでUnityエディタのアクティベーションを行えます。管理者権限コマンドプロンプトである必要はあり…

【Unity】unitypackageでインポートするファイルのサムネイルを見る

そこをクリックする事が無かったので気づかなかったのですが、実はImpotPackageを行う際にファイルをクリックすると、サムネイルが表示される機能があったみたいです。 この機能ではTextureやMaterial、Meshといったサムネイルを持つオブジェクトを表示する…

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

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

【Unity】エディタ拡張が「private」なメンバにアクセスする、多分一番楽な方法

Unityで「エディタからのみ外部アクセス可能なメンバ変数」を実現する方法の考察 - Qiitaqiita.com エディタ拡張が「private」なメンバにアクセスする、多分一番楽な方法についてです。この方法はEditor外にも処理を書かなければいけないので良くないですが…

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

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

【Unity】ArborとuGUIの連携について

【Unity】期間限定で無料になったビジュアルスクリプティングのアセット「Arbor」で遊んでみた - テラシュールブログtsubakit1.hateblo.jp 先日紹介したビジュアルFSMアセットのArborですが、今回はuGUIと連携してみました。 uGUIとの連携のキモとなるのはUn…

【Unity】指定のシェーダーを使用しているマテリアルの一覧を取得/選択するエディタ拡張

需要があるかは微妙でしたが、あるみたいなのでココにも置いておきます。 PC版とモバイル版・あとはコンソール版でシェーダーを使い分けたい時に使えるかもしれないエディタ拡張です。 使い方は、シェーダーを選択した状態で右クリック→Find→ shader <- mate…

【Unity】Animatorのプロパティやステートへのアクセスを容易にするエディタ拡張

ふと思いついて、Animatorのステートやパラメータに定数でアクセスする為のコードを自動生成するエディター拡張を作成しました。 導入方法は ファイルをインポートするだけです。 https://github.com/tsubaki/Unity-AnimatorAccessHelper/blob/master/Animat…

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

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

Unityエディタの起動時のみスクリプトを実行する

先日から作ってる"Unity プロジェクトの中に、要求するアセット群が含まれない場合、該当ファイルのあるアセットを表示する奴ですが、やはりシンプルさを保つには「エディタ起動時にファイルが足りなければダイアログを表示すべき」との結論に至りました。な…

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

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

【Unity】コンポーネントを設定したフィールドを非表示にする

最近ResetコールバックでFieldを登録するアプローチにハマっています。通常は実行時にFindやGetComponentでコンポーネントの取得を行うのですが、これを事前に取得します。事前に登録するのでFind等のアプローチが使えますし、GUI操作のような煩わしさも少な…

【Unity 5】UnityがSketchup(skp)に対応したので椅子とか家とかディズニーランドとか色々読んでみる

Unity 5.1よりSketchupフォーマットにネイティブで対応し、FBXへ変換せずともUnityエディタでロード出来るようになりました。 またSketchupのフォーマットは他のFBXモデルと異なり、Generate Back FaceやMerge Coplanar facesといった設定が追加されており、…