The jonki

呼ばれて飛び出てじょじょじょじょーんき

【Unity】UnityでDoxgenとGraphvizを使う

Unityでクラス図とかドキュメントとかって皆さんどうしてるんですかね。入用だったので環境を整えてみました。ありがたいことにDoxygenのUnityプラグインを公開している人がいたのでそれを使います。

今回の環境

準備

Doxygenのインストール

Doxygenのページからインストーラーを落としてくる。今回はdoxygen-1.8.6-setup.exeでした。デフォルトの設定でインストールで問題なし。

Graphvizのインストール

Graphvizのページからインストーラーを落としてきてインストール。こちらもデフォルトの設定でOK。

DoxygenForUnityプラグインのダウンロード

このページから「You can download it here.」のhereの部分がリンクになっているので、そこからダウンロード。

UnityにDoxygenForUnityを取り込む

  1. 適当なUnityプロジェクトを開く
  2. Projectウインドウ内で右クリック->[Import Package]->[Custom Package]でDoxygenForUnity.zipを解凍した中にあるDoxygen.unitypackageを選択し、[Import]。これでカスタムエディタが取り込まれました。
  3. Unity Editorの[Window]->[Documentation with Doxygen]
  4. [Generate Documentation]、[Settings/Configuration]、[About]の中から、[Settings/Configuration]を選択
  5. [Set Path to Doxygen Install]のDoxgen.exeを指定する。デフォルトだと[C:\Program Files\doxygen\bin\doxygen.exe]とかになるはず。
  6. [Setup the Directories]で開いてるUnityプロジェクトのAssets/Scriptsなどを選択
  7. [Save Configuration and Build new DoxyFile]で設定を保存
  8. プロジェクトのルートディレクトリにDocsフォルダが出来、中にDoxyfileという設定ファイルができるのでメモ帳などで開いて好みで設定。自分の場合は下のプロパティを変更。
HAVE_DOT               = YES
SOURCE_BROWSER         = YES
DOT_PATH               = "C:\Program Files (x86)\Graphviz2.36\bin"
CALL_GRAPH             = YES
EXTRACT_PRIVATE        = YES
  1. 再びDoxygenForUnityのカスタムエディタに戻って[Generate Documentation] の[Run Doxygen]をクリック
  2. [Browse Documentation]で生成されたHTMLが見れる

まとめ

これでようやく開発っぽい環境が整いました。と言いつつもDoxygenをUnityから叩くエディタなので、そこまで恩恵はないかも。ただ会社やチームなどで使う際にはもちろん便利なので今後も役に立ちそうです。

【Unity】マルチティスプレイ環境でも快適にフルスクリーン風スタンドアロンアプリを実現する

タイトル分かりにくくてすみません、今回はUnityのアプリをマルチディスプレイ環境で実行した際のお話です(Win限定)。

Unityでビルドした.exeアプリをマルチディスプレイ環境でフルスクリーンで動かすと、もう片方のスクリーンをクリックした瞬間にアプリが最小化して隠れてしまいます。例えばデモのときなどにログを見たり、他のアプリから操作したい、ということは容易に想像できます。何か設定あるんだろう?と思い質問したところ、仕様と返ってきました…

UnityAnswers, Window is minimizing when I click other screen in dual monitor.


そのためWindows限定になりますが、ウインドウモードでアプリをフルスクリーン風に見せるハックを紹介します。方法はTTBaseのプラグインであるHideTitleBarを使って、ウインドウ最大化時のウインドウフレームを消す、という単純なものです。

準備 TTBase

ウインドウのヘッダー部分を消して表示領域を稼いでくれるアプリを入れます。

  1. まずTTBaseと呼ばれる駐屯タスク管理アプリをダウンロード。
  2. 次にHideTitleBarというTTBaseのプラグインをダウンロード
  3. hidetitle1001を解凍し、中のhidetitle.ini.txtをhidetitle.iniリネーム
  4. hidetitle1001をまるごとttb10100下ににコピー
  5. TTBase.exeを実行
  6. 試しにブラウザなどを最大化すると、確かにタイトルバーが消えています。

準備 Unity

  1. [Editor]->[Project Settings]->[Player]でPlayer Settingsを開く
  2. [Resolution and Presentation]で[Run in Background]と[Resizable Window]にチェック

実行!

Unityで.exeを出力し、ウインドウモードで実行します。これでウインドウを最大化すると見事にフルスクリーン風に見えるようになります。マルチディスプレイ環境で行っても任意のディスプレイに簡単に出せますし、他のウインドウをクリックしてもアプリが最小化することがありません。

まとめ

Windowsのハックでなんとか乗り切りましたが、やっぱり公式にサポートしてほしいなぁ。(切実)