2017-01-11 11 views
0

私は、スクリーン境界を定義するものがデバイスなどに依存することを考慮して、これを行うための確立された方法があるかどうかを知る必要があります。私は、運動学的ではなく軽量の重力の影響を受けない剛体を持っています。私がそれらをインスタンス化すると、それらはすべて空であり、球が重なって「爆発」効果を作り出します。ユニティ - どのように表示画面から剛体を強制的に外しますか?

球体が剛体を押し離して爆発が起こった後も、私はすべての体がユーザのビュー/スクリーンから外れるまで動かなければなりません。これはほとんどの人に起こりますが、彼らはいくつかの荒れ狂っている人もいれば、非常に長い時間がかかり、画面の中央に留まる人もいます。

私は通常、力をかけますが、どこにいるかに応じてどのように動かす必要があるかは各剛体(それが多い)についてはわかりません。

これらのrigdibodyをすべてスクリーンから取り除くように強制するにはどうすればよいですか?爆発はあらゆる方向にあるはずです。これを行うベクトルがありますか?

答えて

0

オブジェクトの位置をカメラの向きのベクトルに投影します。そして、投影された点からオブジェクトに戻るベクトルを作成します。

ので..

[OK]を
var t = Vector3.Dot(Camera.main.transform.forward, obj.transform.position); //distance along view vector 
    var p = Camera.main.transform.position + Camera.main.transform.forward * t; // position along view direction 
    var d = obj.transform.position - p; //vector from center to object 
+0

のようなものが、私はこれをしようとします - あなたは、これが代わりに出てのカメラに向けてリジッドボディを持っていないと確信しています - 私は透視サイドビューカメラががセットアップされています? – skyguy

関連する問題