VR:オブジェクトを発射する

Keita_Nakamoriです。

前回やった、オブジェクトの召喚(Summon.cs)を発展させて、出現と同時に、別のスクリプト(Shooter.cs)を追加し初速度を与えることにより、砲弾のようにオブジェクトを前方へ発射させてみましょう。

スクリプト Shooter.cs

これはまだ、Summon.csと同じく、オブジェクトを召喚するだけです。

Shooter.csを設置するヒエラルキーの場所

新規にEmptyObjectを追加し、オブジェクトの名前をわかりやすくShooterにします。

置き場所はどこでもいいのですが、オブジェクトを発射するのは自分であるということで、MeMyselfEyeに入れました。またDayDreamコントローラーのAppボタンによって発射するということで、GrvControllerPointerの下に入れました。

インスペクターに Objectをアタッチする

Bullet Object : 砲弾として打ち出すオブジェクト。今回はCubeで作ったボール字形状のものを2個中心座標を若干ずらして重ねたものを設定した。(本当は半球を2つ合わせたほうが良いです。)

Mazzle Psition:オブジェクトを出現させる初期位置のオブジェクト。今回は目の前のカーソルを設定した。

Shooter2.cs

では、Shooter.csで召喚したモンスターボールオブジェクトに対して、当該Shooter2.csによりオブジェクトに初速を与えてみます。Shooter2.csはモンスターボールオブジェクトのインスペクターに設置します。

ShooterDestroy.cs

オブジェクトを召喚しすぎると、処理が重くなってしまい、最悪フリーズします。

定期的にオブジェクトを壊す(Destroy)して数を減らさなくてはなりません。

こちらも、モンスターボールオブジェクトのインスペクターの中にいれます。

以上です。