プレーヤーをスムーズに階段に登らせる


11

私は2Dプラットフォームのゲームを持っています。プレイヤーは常に右側に走りますが、地形は常に水平ではありません。例:

例

プレイヤーボックスと他のブロックとの交差をチェックするだけで境界ボックス衝突システムを実装しました。大きなブロックに遭遇した場合にプレイヤーが実行されないようにして、ジャンプする必要がありますが、階段を置くときは、水平な地面と同じようにスムーズに走ります。衝突システムでは、階段を飛び越えて通過する必要があります。

階段の端の間に線を引いて、その線にプレイヤーの動きを課すことを考えました…どう思いますか?もっと賢いことはありますか?

ここみたいに

回答:


11

バウンディングボックスを回転できる場合は、45度回転したボックスをプレイヤーの足元に置き、回転していない1つのボックスと組み合わせて、残りのボディを表現します。これにより、プレーヤーは十分に小さいものを自動的にスライドさせることができます。

ただし、これにより、プレーヤーモデルと階段にクリッピングが発生する可能性があります。

別のアイデアは、1つのバウンディングボックスをキャラクターの頭からknessまで、キャラクターのボックスよりも幅を広くすることです。

プレーヤーがボックス「A」が衝突しないものと衝突した場合、衝突したものの上にプレーヤーを移動できます

_________________
|    |     |    |
|    |     |    |
|  A | pla | A  |
|____| yer |____|
     |     | _________________________ <- step 
     |     | |      
--------------------------------------------- <- ground

12

ビデオゲームで階段を扱うには、3つの一般的なアプローチがあります。

「マリオ」のアプローチは、階段を上がるためにジャンプしなければならないというものです。

"Castlevania"のアプローチは、階段の昇降は別の種類の動きであるということです。コントローラーで「上」を押すと、階段を移動するための特別な「階段昇降」アニメーションが再生されます。これの変形は、「バイオハザード」アプローチです。ここでは、階段を上/下に移動することが、プレーヤーが操作ボタンを押したときに再生される完全なカットシーンとして扱われます。インタラクティブな階段昇降は一切許可されていません。

「Almost Everyone Else」のアプローチは、あなたが言及したものです:階段を実際にはスロープであるかのように扱います。ゲームの種類によっては、階段を基準にしてランプをさまざまな高さに配置することができます。通常、2Dゲームでは、「階段は実際にはスロープです」というトリックは、スロープが各階段の下端の角と同じ高さの場合、プレーヤーにはあまり目立ちませんが、3Dゲームでは、通常、スロープが水平であれば、あまり目立ちません。各ステップの上隅に。(2Dゲームの場合と同様に、キャラクターの足が地面から浮いている場合に気付くので、それを最小限に抑えたいのに対し、3Dゲームでは、キャラクターの足が地面を通り抜けている場合に気付くので、それを最小限にしたい)。


さまざまなグラフィカルな観点でのフロート/クリッピングに関する素晴らしい発言。
Kroltan 2014年

あなたの情報はかなり間違っています。古いマリオゲームでのみ、階段を上るためにジャンプする必要があります。しかし、それは明白だと思います。しかし、バイオハザードには、インタラクティブに登ることができる階段もありました!
Tara

4

私が遭遇したメソッドのほとんどはすでに上で述べられていますが、言及されていないメソッドがまだ1つあります。プレイヤーが十分短い(たとえば、高さの3分の1)の垂直方向の障害物に遭遇した場合は、単純に上に置きます。たとえばMinecraftとSourceエンジンは、このような状況でこのアプローチを採用しています。さらに、この方法では、常に階段を上る必要があるという苦痛を味わうことなく、すべての物理演算に純粋なAABBを使用できます。


あなたがそのような障害物を検出する方法を説明できたら素晴らしいでしょう。
タラ

0

私は現在、エンジンの同様の部分に取り組んでおり、階段/スロープを処理する方法は、ランプテクスチャの透明なピクセルをカウントし、見つかった量でプレーヤーのオブジェクトをオフセットすることです。

これは、この記事で詳しく説明されている高さマップの考え方に似ています。http//info.sonicretro.org/SPGSolid_Tiles#Slopes_And_Curves

それが本当にあなたが望んでいることだと思いますし、階段の昇順に従って再生する別のアニメーションを再生することを選択できます。

この記事には、さまざまなスロープの概念についての優れた概要もあります。http//higherorderfun.com/blog/2012/05/20/the-guide-to-implementing-2d-platformers/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.