テラシュールブログ

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

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

【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といった設定が追加されており、…

【Unit 5】Unityでマルチプレイヤーなゲームを作る入門(1)

Unity 5.1 よりUnityのネットワーク機能が新しくなりました(通称 UNET) 今回はその使い方について紹介して行こうと思います。 Unity - Manual: Multiplayer and Networkingdocs.unity3d.com ステージの準備 まずStandardAssetsのPrototypeとかその辺りを使…

【Unity】Unity 5.1で追加された機能で個人的に気になった部分まとめ

Unity 5.1で多くの機能が追加されました。 Unity 5.1 is here! – Unity Blogblogs.unity3d.com 個人的に気になった部分を簡単にまとめてみようと思います。 Unity - What's new in Unity 5.1unity3d.com 新しいマルチプレイシステム 今までのNetworkViewやRa…