2016-07-18 13 views
0

添付されている画像は、プレイヤーがペイントしたゲーム用の「ウォークインスペース」のマスクなので、何でもかまいません。私は、プレイヤーがマスクの青い部分(水)を歩かないようにするために、コライダーを作成する必要があります。ゲーム自体は3D空間にあり、マスクは地形テクスチャ用です(Unreal Engine 4)。画像に複数の凹凸形状を見つける方法

現時点では、テクスチャのサイズを2048x2048から256x256に縮小し、マスク内の各青色ピクセルの3D空間にコライダーを作成しています。少量の青色ピクセルでうまくいきますが、青色ピクセル(水)が多い場合は、うまく動作しません。飛行中にスポーンするにはあまりにも多くのコライダーが必要です。

他のオプションは、画像内の任意の数の凹形状の境界を構成する点を見つけることだけです。私は壁の衝突を作ります。

希望は意味があります。どんな助力も非常に感謝しています。あなたは小さいものにサイズを縮小した後

おかげenter image description here

答えて

1

は、0と1、青がありもの、そしてそこではないゼロ、とブール配列を埋めます。そこからゼロの隣人を持たないすべてのものを0にすることができます。これは、セルに空のネイバーがなく、それ自体が空でない場合、オブジェクトが衝突する可能性がなく、チェックする必要がないためです。それはパフォーマンスを大幅に向上させるはずですが、もっと必要な場合は、塗りつぶされたセルのすべての直線を見つけてそれらとの衝突をチェックすることができます。だから、このようになります:あなたは6つのオブジェクトではなく、18との衝突をチェックする必要が終わるこの場合

enter image description here

と塊が大きくなるにつれて差が大きくなります。

+0

お寄せいただきありがとうございます。本当にありがとうございます。私はそれを実装し、それがどのように実行するかを見てみましょう! – Dann

+0

@ダンそれはどうしたのですか? – indjev99