Unityアセットストアセール中!

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

スポンサードリンク
スポンサードリンク

自身のモチベーション維持のため学習記録を残していきます。
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エンジニアをめざしているなら

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

□おすすめアセット

□参考書籍

[amazonjs asin=”4844366777″ locale=”JP” title=”Unityの寺子屋 定番スマホゲーム開発入門”]

[amazonjs asin=”B00U17813K” locale=”JP” title=”3Dゲームをおもしろくする技術 実例から解き明かすゲームメカニクス・レベルデザイン・カメラのノウハウ”]
[amazonjs asin=”B00I3U7ACA” locale=”JP” title=”ゲームメカニクス おもしろくするためのゲームデザイン (Professional Game Developerシリーズ)”]

Unityアセットストアの人気ツール

スポンサードリンク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
スポンサーリンク

この記事を書いた人

コメント

コメントを残す

目次