unityで視線入力アプリに録音機能をつけたい⑤ 視線アプリに入れる。ボタンの位置はRender Modeを World Spaceに。

それでは、視線アプリの中に入れてみます。

 

まずは、

前回までで作った録音保存できるアプリ内の

↓これらのCSファイルを二つともコピーペーストします。

 

 

エクスプローラーの

録音アプリの

アセットフォルダから直接

視線入力アプリのアセットフォルダ内にコピペしました。

 

↑(Assetsフォルダ内にあるcsファイルを視線アプリのAssetsフォルダにコピペ)

 

それから、視線入力アプリのHierarchyで

右クリックして

Create Emptyを選びGameObjectを作ります。

 

さっきフォルダ内にCSファイルを入れたから

Assets内に「MicCapture.cs」があるので

それをGameObjectにくっつけます。

 

GameObjectのinspectorにこれらがある状態にします。

 

 

 

アプリを起動して、しゃべったら

保存するよう指定したフォルダ内にWAVファイルが出来ていました。

 

それから、もう一度アプリを起動して

視線を画面に向けたら、録音した音声が鳴りました。

 

 

その後、再度、保存フォルダを見たら

ファイルが二つになっていました。

 

今のままでは起動している限りずっと録音し続けるようになっています。

 

視線で音を出そうとして起動したら、

目を向けている間も、

鳴っている音を新たなWAVファイルに保存していきます。

 

ということで、

 

起動してすぐに録音するんじゃなく

ボタンを押したら録音して、もう一度押したら

録音を止めるようにします。

 

また、画像も3つあるので、

ボタンもそれぞれの画像につき

一つずつ、

つまり計3つ作ろうと思います。

 

・・・

 

ボタンの配置に苦労しました。

 

画面上はオブジェクトの前にあるように見えても

起動するとズレズレです。

 

多分この辺りをちゃんと理解していないからだと思いました。

【Unity】【uGUI】CanvasのRender Modeをちゃんと理解する - LIGHT11 (hatenadiary.com)

 

canvasのRender Modeを

World Space にすると

まあまあ、見たとおりに配置されます。

 

これが↓

 

こうなる↓

 

ただし、上の画像の犬の下にあるボタンだけが

Render ModeがWorld Space です。

 

他の文字などは全部

Screen Space Overlayです。

 

これは、ボタンなど、UIごとに変えることが出来なかったので、

元々作ってた

↓このcanvasをコピーして

 

Hierarchy内でペーストして、canvas2を作りました。

その中にボタンを作って、

その代わり、コピーしたキャンバスに

くっついて来たInputFieldやmojihyoji等は全部削除しました。

 

↑こんな感じ。

 

新たに作ったcanvas2のinspectorを

↓こう変えると、犬イメージの前においた

ボタンが、起動しても、ちゃんと前にあるように見えました。