たこやき部屋

SteamVRを使って、Unityでゲームを開発したい

DLLの呼び出しが簡単にできるらしい

Unityのことを調べていたら、どうやらWindowsのDLLも簡単に使えるぞっ!ということが分かってしまいました。

それならば、今回はCPU使用率を取得するDLLを作って、VRの画面にCPU使用率を表示させよう。

 

まずはWindowsのDLLを作成。

Windowsアプリは昔から作っているのでこの辺の知識は大丈夫!

Visual Studioで新しいプロジェクトを作成、「VisualC++」→「Win32」→「Win32プロジェクト」を選択。

f:id:takoyakiroom:20160825232601j:plain

 

ここは何もせず「次へ」。

f:id:takoyakiroom:20160825232811j:plain

 

「DLL」・「空のプロジェクト」を選択して、完了。

f:id:takoyakiroom:20160825232843j:plain

 

ソースファイルでDLL側のプログラムを作って、今回は64bitDLLにするので「Release」「x64」にしたのちビルド。

f:id:takoyakiroom:20160825233001j:plain

CPU使用率を取るのは「パフォーマンスカウンタ」の「\Processor(_Total)\% Processor Time」を利用しています。パフォーマンスカウンタは他にも、ネットワーク送受信とかディスクの読み書きの状況等が取れる優れものです。

 

CPU使用率取得DLL

 

DLLの動作を確認するため、お試しプログラムを作って・・・

f:id:takoyakiroom:20160825233227j:plain

OK! ちゃんとCPU使用率が取れてるぞ。

 

 準備完了、次はUnityへの組み込み。

作ったDLLを「Asset\Plugins\x86_64」(64bitDLLの場合)にコピーする。

f:id:takoyakiroom:20160825234454j:plain

 

テキストの表示は「GameObject」→「UI」→「Text」でできるので、Sceneに追加。

f:id:takoyakiroom:20160825234627j:plain

 

ほんで、Canvasの設定。

「Render Mode」を「Screen Space - Camera」、「Render Camera」を「Camera (eye)」、これで常に目の前にテキストが表示されるっぽい。

「Plane Distance」は「0.5」、あまり近くすると見難くなる。「0.5」でも、もしかしたら「見難いぞ」って人いるかもしれないなぁ。(ちなみに自分の視力は1.5です)

f:id:takoyakiroom:20160825235142j:plain

 

Textのサイズやら位置を適当に調整して、最後に今「New Text」ってなっているところを、CPU使用率にするためのスクリプトを作成。

f:id:takoyakiroom:20160826000716j:plain

 

CPU使用率DLL使う側(Unity)

 

完成ーーー!

無事CPU使用率が表示できました。

ちゃんと首を動かしても、常に同じ位置に表示してくれています。やったね!

 f:id:takoyakiroom:20160826001226j:plain

 

 プログラムのダウンロードはここから。

DLL側のプロジェクト一式も入れています。

CPUUsage.zip - Google ドライブ