質問: unityでleap motionを用いたアプリを作っています。 Instantiateで生成した複数のクローンのうち、ハンドモデルに最も近いクローンにのみピンチによる移動や拡大処理を行おうと思っています。 以下が実際のシーンになります。 生成されたクローンには検出されたピンチ動作を受け、移動や拡大縮小を行うスクリプト(LeapRTS)が追加されているのですが、ハンドモデルから最も近いオブジェクト以外はそのスクリプトを非アクティブにするといった考え方でよろしいでしょうか? ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/0acf9eb7b58a8117cea64eab33b60881.png)
回答: やり方は様々あるので、なにが正解かはそのときどきで変わると思います。 が、まずは動くようにするのが一番大事なので、思ったもので実装してみてはいかがでしょうか。 その上で、例えば、処理負荷が高いから軽くしたい、などの質問をしたほうがいいかなと思いました。 考え方自体に不安があるのであれば、不安に思っている点などを書かれたほうがいいように思います。 以上を踏まえた上であくまで一例ですが、自分なら、という前提でお答えすると、「一番近いオブジェクト」を検知して、その検知したオブジェクトに対して処理を実行させるようにします。 文面から、ピンチ動作の処理を生成したオブジェクト側に持たせているのかな、と感じましたがあっていますか? もしそうであれば、ピンチ動作自体は生成オブジェクト側に実装しておくのでもいいと思いますが、それを起動させるのはハンドモデル側で行う、ということです。 (ものすごくざっくりイメージを書くと、ハンドモデル側で、生成したオブジェクトの機能実行のスイッチを押すようなイメージです)