トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

【PolySpatial】触れて反応&パーティクルの不具合【AppleVisionPro】

触れて反応

タップして持ち上げるというのはサンプルにあったのでできたが、直接手を触れたら反応というのがしたい。

JointVisualsを使う方法

絶対もっといい方法がある気がするが、一応できたのでメモ。

HandManagerというのをXROriginの下に置くと、手にcubeとかピンクの線のビジュアライズが出る。

JointVisualsというのがそれ

こんなの

これのcubeにHandタグとかコライダーをつけて、接触判定したら一応触れたときに反応するようになった。

ただ、かなり重くなった。

重いのと関係あるのか分からないが、親指と人差し指でコントロールパネル出すジェスチャーが反応しない。一瞬出るけど選択できない。

 

JointVisualsを見えなくしたいのでAxisのXYZやLineオブジェクトのアクティブをオフにしたりcubeのMeshRendereをオフにしたりした。

それでもまだピンクのラインが出る。

これなんなのかと思ったが、Lineのマテリアルが正しく表示されていないものだった。

Widthを0にした。

 

正規ルート?

スクリプトでhandの情報取れるみたいなのでそれを使うのが正規ルートな気がする

gaprot.jp

こちらのコードを参考に実装してもらったら同じく判定できた。距離で判定している。

上の方法と同じく判定は安定しないが

HandManagerをオフにしたら重い問題は解決した。

パーティクルが2回目以降表示されない

オブジェクトにタップするたびに、スクリプトからパーティクルをplayするようなコードを書いていて、UnityEditorでPlayしてオブジェクトをクリックした時はちゃんと何回も出たのだが、実機で動かすと最初の1回目しか出ない・・・

Playパーティクルする前に一度Clearしても変わらなかった。

結局パーティクルを毎回Instantiateしたら毎回出た。

なんなんだろう〜