MH+ Bullet Checker (FREE)

1Primの単なる的です。
リサイズなどmod可能にしてあるので、人型の的とか好みの物に貼り替え可能。
とはいえ新製品じゃなくて10年以上前に作った物です。
このたび無料アイテムとして提供することとしました。

中身を見直して最低でもLSO→monoへとリコンパイルが必要かと予想していましたが、なんとこの当時の物なのに全てMONO化された状態でした。細かな所の内部の処理方法とか変更したい部分もありましたが、じっくりと見てみると、これはこれで、まぁいいんじゃないって感じだったので、中身はパーミッションだけ変えて(Copy可能にして)当時のそのままです

的としての機能を述べると2つの動作モードを持ちます。
モードの切換はタッチで切り替わります。

【BPS計測モード / BPS mode】
1発目の検出から、検出が途切れるまで(1秒以上)の時間で何発当たったかをレポートします。
また、その検出時間で検出した数を元に、秒当たりの発砲数(BPS)を算出します。

【弾痕モード / Bullet View mode】
着弾位置に臨時プリムで弾痕のテクスチャーを貼ったプリムをREZして、何処に当たったかを表示します。


★仕様上の注意として
的のプリムの大きさを替えたり、向きを変えた(回転角度を変えた)場合は、本体を数回タッチしてBPSモード→弾痕モード とモードの切換を行ってください。これは弾痕モードに切り換えた時に、本体の法線ベクトルの初期計算を行うようにしているためです。自動で補正を行うように出来ないかと検討してみましたが、プリムの位置を動かす場合はmoving_start/endで検出できるものの、回転についてはサーバー側での変化がないため検出する機能がLSLにありません。まぁどうしてもやるならタイマー監視で回転角度が変わっていないか確認するとかで実装は出来ますが、どう考えても無駄なので回転やサイズを弄ったらタッチしてね~ってことで、昔の仕様のままとしました。

★弾痕のマーカーを変えたい場合
内包しているノートカードの名前そのものがマーカー用オブジェクトの名前となっています。変更したい場合はノートカードの名前で"PARAM="に続けてオブジェクトの名前を指定してください。なおインベントリー内の先頭のノートカードとして処理しているので、複数のノートカードを入れると誤動作します

★コリジョン抜けが起こる場合(弾の衝突が検出されない場合)
的の射撃方向のサイズを大きくしてください。(分厚くする)




リサイズや設置回転角度の変更で再計算が必要な理由は、左の画像のように設置された状態で稼働中の的で、着弾位置が見て分かるとおりですが

これを回転位置だけ変えて、再計算(本体タッチ)しないと、どうなるかというと

このように元の法線ベクトル方向(元々の面が向いている正面の方向)に着弾マーカーが出てしまいます。もっともこれは毎回計算すればいいのですが、少しでも早くということと、対象が平面であるので、どこに当たってもベクトル方向は同じ為、先に定数部分として計算しておくという方法で実装しているためです。着弾する面が複数の多面体ならば、面毎に毎回計算すべきですけどね。

なので設置の回転を変えたら
本体タッチして
再計算させるようにしてください。
このように現在の面の方向に沿って
着弾マーカーが出ます

もちろん、こんな風に
無茶苦茶な向きであっても
それに追従します。

ありがちなターゲットマーカー表示にマーカーを球形にして誤魔化しているものもありますが、正しく向きを算出しているのであれば、同じ方向に平面のマーカーを配置できるはずです。


0 件のコメント:

コメントを投稿

Popular posts in the past 30 days