触れて反応
タップして持ち上げるというのはサンプルにあったのでできたが、直接手を触れたら反応というのがしたい。
JointVisualsを使う方法
絶対もっといい方法がある気がするが、一応できたのでメモ。
HandManagerというのをXROriginの下に置くと、手にcubeとかピンクの線のビジュアライズが出る。
JointVisualsというのがそれ
こんなの
これのcubeにHandタグとかコライダーをつけて、接触判定したら一応触れたときに反応するようになった。
ただ、かなり重くなった。
重いのと関係あるのか分からないが、親指と人差し指でコントロールパネル出すジェスチャーが反応しない。一瞬出るけど選択できない。
JointVisualsを見えなくしたいのでAxisのXYZやLineオブジェクトのアクティブをオフにしたりcubeのMeshRendereをオフにしたりした。
それでもまだピンクのラインが出る。
これなんなのかと思ったが、Lineのマテリアルが正しく表示されていないものだった。
Widthを0にした。
正規ルート?
スクリプトでhandの情報取れるみたいなのでそれを使うのが正規ルートな気がする
こちらのコードを参考に実装してもらったら同じく判定できた。距離で判定している。
上の方法と同じく判定は安定しないが
HandManagerをオフにしたら重い問題は解決した。
パーティクルが2回目以降表示されない
オブジェクトにタップするたびに、スクリプトからパーティクルをplayするようなコードを書いていて、UnityEditorでPlayしてオブジェクトをクリックした時はちゃんと何回も出たのだが、実機で動かすと最初の1回目しか出ない・・・
Playパーティクルする前に一度Clearしても変わらなかった。
結局パーティクルを毎回Instantiateしたら毎回出た。
なんなんだろう〜