アプリ開発からお金の節約まで幅広く気になったネタを記録していきます

さくらいらぼ

Unity 学習記録

【Unity3dゲーム作成】TouchScript使用、uguiが重なったときに3Dオブジェクトをクリックさせない方法

スポンサードリンク

投稿日:2017/07/26 更新日:

自身のモチベーション維持のため学習記録を残していきます。
Unityを使ったゲームアプリ開発のメモです。

スポンサーリンク

■環境

Unity2017.1.0
Mac OS Sierra 10.12.5

TouchScript使用、uguiが重なったときに3Dオブジェクトをクリックさせない方法

uguiをつかったときにTouchScriptを使えるようにします。

Uguiで作っていくときに、uguiのボタンと3Dオブジェクトが重なった場合、
ボタンを押したときに3DオブジェクトへRayが届いたことになってクリックしたアクションが3Dオブジェクトへ実行されてしまいます。

Tap

ボタンが重なっている場所は、ボタンのみ動いてほしい。

そこでTouchScriptを使ってかんたんに修正していきます。
アセットストアからTouchScriptをインポートします。

TouchScriptフォルダにあるTouch Visualizerのプレハブをシーンへ置くとタップしている場所を表示できて便利です。

  1. インポート後、シーンへ新規にゲームオブジェクトを作ってTouchManagerをアタッチします。
  2. Main CameraへCameraLayerをアタッチします。Nameにはわかりやすい名前をいれておきます。

    Touch

  3. 適当にCanvasを作ります。
    Canvas内にアクションを実行させるボタン等を入れます。

    親になっているCanvasへUI Layerをアタッチします。

    Unity

  4. ここまででTouchManagerのTouchLayerへMain CameraへアタッチしたCameraLayerの名前と、
    CanvasへアタッチしたUI Layerの名前が表示されます。
    この時点ではuguiのパーツのみクリックアクションが起こります。

    Unity 2

  5. クリックアクションを起こしたい3Dオブジェクトへ
    Tap Gestureをアタッチします。

    タップ以外にドラッグやピンチなど違うジェスチャーを割り当てるときにはTouchScriptのスクリプトをアタッチしていきます。

    Unity2

Unityのことでわからなくなってつまづいたらネットで聞いてみよう!

質問をすると答えてくれるQ&Aサイト「teratail(テラテイル)」ではUnityの質問が5000件以上あり、
毎日様々な質問が投稿されています。

Q&Aサイトなんてたくさんあるじゃないかと言われてしまいそうですが、
teratailの良いところはエンジニアが抱える問題の解決を全力でサポートするところ。
つまりプログラミング、エンジニアリングに特化している点です。

WordPressフォーラムよりも早く返答がくることもありますので、
わからなくなったことを溜め込まずにサクッと解決してしまいましょう。
WordPressの情報収集にもおすすめです。

>>エンジニアのためのQ&Aサイト【teratail】の詳細はこちら[公式サイト]

安定した仕事量と給与がもらえるWEBエンジニアをめざしているなら

レバレジーズテックで転職サポート

□おすすめアセット

□参考書籍


スポンサードリンク

-Unity, 学習記録
-,

Copyright© さくらいらぼ , 2018 All Rights Reserved.