DLLの呼び出しが簡単にできるらしい
Unityのことを調べていたら、どうやらWindowsのDLLも簡単に使えるぞっ!ということが分かってしまいました。
それならば、今回はCPU使用率を取得するDLLを作って、VRの画面にCPU使用率を表示させよう。
まずはWindowsのDLLを作成。
Windowsアプリは昔から作っているのでこの辺の知識は大丈夫!
Visual Studioで新しいプロジェクトを作成、「VisualC++」→「Win32」→「Win32プロジェクト」を選択。
ここは何もせず「次へ」。
「DLL」・「空のプロジェクト」を選択して、完了。
ソースファイルでDLL側のプログラムを作って、今回は64bitDLLにするので「Release」「x64」にしたのちビルド。
CPU使用率を取るのは「パフォーマンスカウンタ」の「\Processor(_Total)\% Processor Time」を利用しています。パフォーマンスカウンタは他にも、ネットワーク送受信とかディスクの読み書きの状況等が取れる優れものです。
DLLの動作を確認するため、お試しプログラムを作って・・・
OK! ちゃんとCPU使用率が取れてるぞ。
準備完了、次はUnityへの組み込み。
作ったDLLを「Asset\Plugins\x86_64」(64bitDLLの場合)にコピーする。
テキストの表示は「GameObject」→「UI」→「Text」でできるので、Sceneに追加。
ほんで、Canvasの設定。
「Render Mode」を「Screen Space - Camera」、「Render Camera」を「Camera (eye)」、これで常に目の前にテキストが表示されるっぽい。
「Plane Distance」は「0.5」、あまり近くすると見難くなる。「0.5」でも、もしかしたら「見難いぞ」って人いるかもしれないなぁ。(ちなみに自分の視力は1.5です)
Textのサイズやら位置を適当に調整して、最後に今「New Text」ってなっているところを、CPU使用率にするためのスクリプトを作成。
完成ーーー!
無事CPU使用率が表示できました。
ちゃんと首を動かしても、常に同じ位置に表示してくれています。やったね!
プログラムのダウンロードはここから。
DLL側のプロジェクト一式も入れています。