仮想空間VR:操作パネルとボタン#3

やっていきましょう 3回目です。

操作対象を設置する

  1. Standard Assets の中にパーティクルシステムとして放水ホースがあるのでシーンに適当に追加します。 Assets/Standard Assets/ParticleSystems/Prefabs/Hose.prefab
  2. InspectorからHoseを有効にします。(なぜか無効になっている)
  3. play on awakeはOFFにしておきます。
  4. Hose(script)とSimple Mouse Rotator(script)はOFFにしておきましょう。今回は使いません。
  5. Hoseの子要素にWaterShowerがあります。これが放水のON/OFFをつかさどっています。
  6. StarButtonのInspector>Button(Script)にOnclik()したときの動作を決める項目があります。プラスボタンを押して項目を増やし、WaterShawerを入れます。
  7. ParticleSystem.Playを選択します。これでボタンを押すとWaterShaweが実行されるようになりました。

こんどはStopボタンです。

違うのは、ParticleSystem.playでなくてParticleSystem.Stopにします。

まとめ

スタートボタンをマウスでクリックすると Button(script)のOn Click()関数が実行され、WaterShower(Script)を呼び出し、ParticleSystem.Play()関数が実行され、放水される。という流れになります。

次回

視線を向けた先のボタンがハイライトするようにスクリプトを書いていきます。

圧倒的かずまなぶ(‘ω’)ノ

仮想空間VR:操作パネルとボタン #2

圧倒的かずまなぶです。(; ・`д・´)

2回目やっていきましょう。

ボタンのあるダッシュボードを作成

DefaultCanvasプレハブをシーンに追加して、名前をDashboardにします。

Dashboardの子要素にUI>Row Imageを作り、これにダッシュボード的なテクスチャを張りましょう。(Image と RawImage は何が違うのか)

DashboardのInspectorを いじって、イイ感じの位置にしましょう。水平目線よりも、下において、コッチに向けるように回転させるとイイ感じになります。

  1. Pos : 0,0,0
  2. width , hight : 140 , 105
  3. scale :  4.5 , 4.5 ,4.5

Start ボタン と Stopボタンを配置する

  1. UI>ButtonをDashboardの子要素に追加する
  2. 名前をStartButtonに変更する。
  3. Posをイイ感じの場所にする。
  4. width,hight : 60,60
  5. Scale : 1
  6. Image(script)のSourceImageにButtonAcceleratorUpSpriteというStandard Assetsのスプライトを入れる。(スプライトとは)

次はStopボタンです。

スプライトだけ違うものを入れます。ButtonAcceleratorOverSprite.png

スイッチングの対応

目線のRayがダッシュボードのどこを見ているかわかるように。衝突検知用の見えない壁をつけておきます。あとで、目で爆発させるのと同様に、目でスイッチングできるようにスクリプトを書いていきます。

Dashboardの子要素にplaneを追加して、そのMesh RendererをOFFにして透明にします。Mesh ColliderはONにして衝突だけ検知できるようにします。

次回は操作対象のオブジェクトを作成します。

圧倒的かずまなぶ(‘ω’)ノ

仮想空間VR:操作パネルとボタン#1

圧倒的かずまなぶです。(; ・`д・´)

操作パネルとボタンを作っていきます。ダッシュボードと呼ばれています。

少々複雑で頭が混乱してきたので、整理します。

こんな感じの操作パネル。 スタートとストップのボタン

やること

  1. UIのCanvasプレハブを作る。
  2. ボタン付きのダッシュボードを作る。
  3. 操作対象物をシーンに追加して、ボタンと接続する。
  4. ボタンを有効にするスクリプトを書く
  5. ボタンを見ているときにハイライトするスクリプトを書く
  6. ボタンがハイライトしているときだけボタンが有効になるスクリプトを書く
  7. 標準カーソルのスクリプトを流用して、ダッシュボードを見ている時だけボタンを有効にする。

DefaltCanvasプレハブを作る

UI>Canvas を作って DefaultCanvasというプレハブを作っておきます。後でいろんなUIを作るときの素材にします。

3D空間では単位がmでしたが、Canvasは別の座標系を持っているので、数値が良くわからないです。

  1. Camvasの名前をDefaultCanvasに変えます。
  2. Inspectorの設定はPos X,Y,Z =(0,0,0) で3D空間の原点。
  3. Width,Height=(640,480) にしておきます。縦横比0.75が良いようです。
  4. Scaleは(0.0135,0.0135,0.0135)にします。こうすると、3D空間(world空間という)上での1ピクセルに相当するようです。
  5. Render ModeをWorld Spaceにします。これは解りません。

 次は、Canvasの子要素ImageとTextのサイズ調整です。

  1. DefaultCanvasの子要素にImageとTextがデフォルトでくっついていいますので、Imageを選んでInspectorのAnchorをStretchにして、サイズいっぱいに引き伸ばしておきます。(まだ絵がないから何も見えませんが・・・)
  2. TextはText(Script)になんか書いて、Characterのサイズをいじって、Paragraphでセンターに寄せて、overflowにして色つけてやると、文字が書けます。
  3. DefaultCanvasに戻って、Canvas Scaler(Script)>Dynamic Pixels Per Unitを10に増やすとTextの解像度が上がり、見やすくなります。

この状態でプレハブにしましょう。

次回:ボタン付ダッシュボードを作る

次回はDefaultCanvasプレハブをシーンに追加していじっていきましょう。

圧倒的かずまなぶ(‘ω’)ノ