こんなの簡単にできるだろうと思ってたら、やはりUE4さんは優しくなかったというか、運が悪かったというか、ようするにちょっとハマりました。
基本的なやり方などは、以下のビデオを観ると、おおよそ分かると思います。僕の場合は、これでだけではうまく行かなかったので、何故だろうと悩んだわけです。
Static Mesh ComponentにClick&Touchを実装してみよう!
- BlueprintのStatic Mesh Componentを選択し、DetailsパネルのEvents欄からOn Clicked、On Input Touch Beginボタンを押して、Event Graphにイベントを追加します。
- Player Controllerクラスを継承したBlueprint Classを新規に作成します。今回はBP_MyPlayerControllerというクラスを作成しました。
- BP_MyPlayerControllerクラスのDetailsパネルのMouse Interface欄の設定をします。先に登録したOn Clickedイベント、On Input Touch Beginイベントを受け取るには、Enable Click Events、Enable Touch Eventsを共にチェックしておく必要があります。更に、Default Click Trace ChannelがVisibilityになっているの確認しときます。これはClick&Touchのヒットチェックをトレースするのに、Collision Responsesのどのタイプを使用するか設定するもので、基本的にはVisibilityでOKと思われます。この仕組みを分かってないと、Static Mesh Componentのコリジョン設定をいろいろ弄っていると、突然Click&Touchできなくなったりした時に焦るかもしれません。というか僕は焦りました。
- BlueprintのStatic Mesh Componentの設定に戻ります。DetailsパネルのCollision欄のCollision ResponsesのVisibilityを確認して下さい。ここはBlockにチェックを入れます。IgnoreやOverlapに設定されているとClick&Touchのトレースがスルーされてしまいます。
- 以上でできるようになりました!
テスト環境
- Windows 8.1
- UE 4.10.1
- iPod Touch5
0 件のコメント:
コメントを投稿