###前提・実現したいこと
unityで画面内にロックオン範囲を設定し、その範囲内の敵を取得するプログラムを作ろうとしています。
###発生している問題・エラーメッセージ
上記の画像のような、アーマードコアのロックオンをイメージしています
###試したこと
OnWillRenderObject関数は、この関数が入ったスクリプトがついているオブジェクトがCamera内に表示されると一度だけ呼ばれるコールバック関数だそうです。
まず、この関数をロックオンされる対象(Enemy)に入れておく。
関数が呼ばれたときにロックオンする側(Player)に自身のオブジェクトを渡す。
Player側では受け取ったオブジェクトの座標をワールド座標からスクリーン座標に変換する。
最後にスクリーン座標がロックオンサークル内か判断する仕様で作っていました。
ですが、OnWillRenderObject関数が呼ばれることがなく、MonoBehaviourが機能していることという注意書き以外ありませんでした。なにか見落としがあるでしょうか?
一応オンラインプレイを想定したゲームなので、今のこの方法だとEnemy側でどのPlayerのカメラか判断せねばならないくなると思うので、できればプレイヤー側でカメラ内の敵を取得したいのが本心です。
###補足情報(言語/FW/ツール等のバージョンなど)
Unityは最新バージョンの5.4.1を使っていて、以前のバージョンでは動作確認していません。
バージョンによるものでしょうか。
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。