devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

EditorWindow上のボタンを押した時に、パス指定したファイルをVisual Studioで開くサンプル。

デフォルトのエディタがMonoDevelopならMonoDevelopで開くかも(未確認)。

unity-extension-open-file-visual-studio

最初、OpenFileAtLineExternal()で出来るかと思ったが、何故かファイルがMonoDevelopで開いてしまった。

エクスプローラーで任意のフォルダを開いた状態で、Shiftキーを押しながら右クリックメニューを開く。

shift_plus_right_click_menu

メニューから「コマンドウィンドウをここで開く」を選択する。

Android SDKに含まれるadbを実行しようとしたとき、コマンドウィンドを開いてadbのあるフォルダまで移動するのは面倒。予めエクスプローラーでadbのあるフォルダを開いておき、コマンドウィンドウをここで開くを実行すれば簡単にたどり着ける。

Lightwave/Modeler用スクリプトです。

以前公開した「LScript:背景レイヤー選択の順送り/逆送り(2)」の前景バージョンです。

背景レイヤーの選択を固定したまま前景レイヤー選択を順送り、逆送りすることが出来ます。

それぞれをメニューに登録しておけば、Layerパネルを操作せずにメニューボタンやショートカットキーでレイヤーの選択状態を変更できます。

anim_selnextprevfg

続きを読む

LerpTextColor

内容に変化のあったテキストに注目させたいときなどに使う。

uGUIのTextへ以下のスクリプト(LerpTextColor.cs)を追加。

LerpTextColor_Inspector

残念ながら現在のUnityには日本語ドキュメントが同梱されていません。Unityから開くヘルプは英語のみになっています。インターネット(Unityサイト)には日本語ドキュメントが用意されているので都度開いて調べるなどしていると思います。

そこで以前から興味があったChrome拡張機能を作って、なんとかボタン一発で日本語ドキュメントを開くことが出来ないか?と言うことで試しに作ってみました。

動作確認はWindows7上でのみおこなっています。Macでどのような動作になるかは未確認です。

ソースと拡張機能パッケージファイルは以下のGitHubにあります。

ChromeExt-OpenUnityJpDoc
現在開いている英語ドキュメントに対応する日本語ドキュメントを開く
https://github.com/narudesign-sekig/ChromeExt-OpenUnityJpDoc

拡張機能をインストールするとChromeの右上にアイコンが追加されます。
chrome_ext_openjpdoc

ChromeにUnityの英語ドキュメントが表示されている状態で、このアイコンをクリックすると、Unityサイトの日本語ドキュメントが表示されます。

GitHubのソースを見ると分かりますが、単純にドキュメントのアドレスの一部を正規表現で拾って置き換えて表示しているだけです。

ヘルプから表示されるローカルの英語ドキュメント

file:///C:/Program%20Files/Unity535p2/Editor/Data/Documentation/en/Manual/class-Transform.html

Unityサイトに有る日本語ドキュメント

http://docs.unity3d.com/ja/current/Manual/class-Transform.html

黒字の部分は共通。赤文字部分が英語ドキュメントとを日本語ドキュメントで異なっています。

注意:あくまでアドレスを変えて表示しているだけなので、該当するページがないと表示されません。

OnValidate()メソッドを使うことで、シーンを開いた時にScriptableObjectの内容を即座にシーンへ反映することが出来る。

スクリプトがロードされた時やインスペクターの値が変更された時に呼び出されます(エディター上のみ)
※公式ドキュメントMonoBehaviour.OnValidate()より抜粋

onvalidate

12-15 : OnValidate()はエディタ上でしか呼び出されないので実行時のためにAwake()に記述。
17-20 : OnValidate()がシーンを開いた時に呼ばれる。
29 : ScriptableObjectの内容をシーン上へ反映する。

スクリプトでドロップダウンにアイテムを追加するには、Dropdown.optionsに追加する。

optionsを変更した後はRefreshShowValue()メソッドで表示を更新する。

13-15 : ドロップダウンにアイテムを追加する。
17 : RefreshShownValue()が無いと最初に選択しているアイテムが表示されない。

Unity5.3.3p3

Projectウィンドウで選択しているファイルと同名のゲームオブジェクトをHierarchy上で選択します。

コンポーネントとコンポーネントを追加するゲームオブジェクトを同じ名前にしている場合、たどる(探す)のが楽になると思います。

SelectSameNameObjects

2016/02/23 : 非アクティブなオブジェクトも選択されるように修正

参考:

【Unity】Hierarchy上のゲームオブジェクトを全て取得
http://buravo46.hatenablog.com/entry/2014/12/31/064658