1. このサイトではcookie (クッキー) を使用しています。サイトの利用を継続した場合、cookieの使用に同意したものとみなさせていただきます。 詳しくはこちらをご覧ください。

【プラグイン】坂・階段・段差を表現する TF_Undulation.js

とんび@鳶嶋工房2019-08-11に開始した「ツクールMV」の中の討論

  1. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    坂・階段・段差を表現するプラグインです。

    製作者: とんび@鳶嶋工房(tonbi.jp)
    利用規約: MITライセンス
    シリーズ: RPGツクールMV

    ダウンロード
    https://github.com/tonbijp/RPGMakerMV

    使い方など

    利用にはトリアコンタンさんの「半歩移動プラグイン(HalfMove.js)」が必須です。
    TF_Undulation.js の前に HalfMove.js を配置するようにしてください。
    1. A5BCDEタイルに地形タグ(規定値 : 1)を指定
    2. 通行設定(4方向)によって、詳細設定
    • 0x2 ↑→・↓ : \ 63°
    • 0x3 ↑→・・ : \ 27° S 南より
    • 0x4 ↑・←↓ : / 63°
    • 0x5 ↑・←・ : / 27° S 南より
    • 0xA ・→・↓ : \ 27° N 北より
    • 0xB ・→・・ : \ 45°
    • 0xC ・・←↓ : / 27° N 北より
    • 0xD ・・←・ : / 45°
    3. [梯子]と[ダメージ床] の設定で段差レベルを設定

    [梯子] [ダメージ床]
    OFF OFF 段差なし (2. で説明した 4方向設定が適用されます)
    ON OFF 段差レベル1(規定値:6px)
    OFF ON 段差レベル2(規定値:12px)
    ON ON 段差レベル3(規定値:18px)​

    同じ種類のタイルを敷き詰めると、いい感じに通行設定をするようにしてます。
    左右に移動の入力をすれば、タイルの登り降りができます。
    上り下りの際は、ちょっとだけ速度が遅くなります。

    段差レベルは、そのタイルに入るとペコっと上にキャラが上がる仕掛けです。

    簡単な使用例
    色々細かな設定がありますが、まずは以下の設定を一つ知っておくと、かなりの場面に対応できます。
    1マス階段の例.jpg
    ご覧のように、1タイル分横に移動すると0.5タイル分縦に移動するので、HalfMove.js は必須なのです。

    2タイル・4タイルを使った他の角度の設定方法

    他のプラグイン
     
    最後に編集: 2019-09-16 20:01
    #1
    radio05, 神無月サスケ, ワタベ他2人がいいね!しています
  2. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    • 0x2 ↑→・↓ : \ 63°
    • 0x4 ↑・←↓ : / 63°
    急角度(63°)の梯子に対応しました。
    タイルの半分だけ上り下りするので、並べると平地・梯子・平地・梯子という動きになります。
     
    #2
    ワタベ がいいね!しました
  3. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    • 0xA ・→・↓ : \ 27° N 北より
    • 0xB ・→・・ : \ 27° S 南より
    • 0xC ・・←↓ : / 27° N 北より
    • 0xD ・・←・ : / 27° S 南より
    なだらか角度(27°)の階段に対応しました。
    1マス進んで0.5上がるという変則的な挙動なので、適用するタイルの種類が北よりと南よりのものがあるのが、少々タイル用意するのも設定するのも面倒くさいですが、マップに組み込む場合には一番使うんじゃないかと思ったんで、頑張って実装しました。
     
    #3
  4. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    27° の挙動が、まだ色々変なところあるみたいです。障害物がないところでぶつかって動けないとか。
     
    #4
  5. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    色々と書き換えて、そこそこ挙動が安定してきたような気がします。
    通行設定(4方向)の対応を変えました。27°が2パターンあるけど、覚えづらかったので、上下部分の違いで覚えやすく。
    • 0x3 ↑→・・ : \ 27° S 南より
    • 0x5 ↑・←・ : / 27° S 南より
    • 0xB ・→・・ : \ 45°
    • 0xD ・・←・ : / 45°
     
    #5
  6. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    • 0x3 ↑→・・ : \ 27° S 南より
    • 0x5 ↑・←・ : / 27° S 南より
    この二つはタイル単品でも使えるように調整しました。
     
    #6
  7. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    段差レベルは通行設定に隙間空いてるから追加した、的なアレだから設定関係なく通過可能になってるんだけど、普通に通行設定できた方がいいよなぁ。
    そもそも、このプラグインの機能として持たせるのが正しいかという時点で怪しいし。
    ☆と階段の組み合わせで適用される、とかがいいかもしれない。
     
    #7
    radio05 がいいね!しました
  8. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    段差の基本高さの設定ができるようになりました。
    その他、衝突判定のおかしな部分を修正などしました。
    ただ、隊列の際のフォロワの皆さんの挙動が不自然で、しかも表示が時々崩れるバグがあります。
     
    #8
  9. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    [梯子]と[ダメージ床] の設定で段差レベルを設定するように変更しました。
    これで、段差がある場所も4方向の衝突判定が設定できるようになりました。
    衝突判定が動くかどうかは、まだ試してませんが(笑)
     
    #9
  10. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    画像が乱れる問題は解決しました!
    これにて、バージョン1とします。
     
    #10
  11. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    とりあえず、最低限の説明を入れました。
    さらに詳しい説明は、おいおい追加していこうと思います。
    ふと思ったんですが、
    前に投稿した【画像素材】収録素材改変(金塊・兜) の金塊を階段に設定して登ったりできるじゃん!
    ちょっと楽しそう。
     
    #11
  12. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    2タイルを使う階段の指定方法
    追加素材の「帆船マップ プロジェクトデータ」にいい感じの階段があるので、そちらを使って設定方法を説明します。
    • 0xB ・→・・ : \ 45°
    • 0xD ・・←・ : / 45°
    2マス45°階段の例.jpg
    • 0x2 ↑→・↓ : \ 63°
    • 0x4 ↑・←↓ : / 63°
    2マス63°階段の例.jpg
    4タイルを使った設定方法
    なだらかなタイルは2タイル分横に移動して1タイル分上がる角度です。
    1タイル上がるマップを作るには、南よりのタイルと北寄りのタイルの設定が必要になります。
    • 0x3 ↑→・・ : \ 27° S 南より
    • 0x5 ↑・←・ : / 27° S 南より
    • 0xA ・→・↓ : \ 27° N 北より
    • 0xC ・・←↓ : / 27° N 北より
    2マス27°階段の例.jpg
    複雑なようですが、一度設定してしまえばタイルを見た目通りに置くだけで動作するようになります。
    マップを書き換えた場合でも、イベントを置きなおしたりリージョン設定を変えたりする必要はありません。
    普通にタイルを置くだけで機能するので、設定忘れによる通行設定バグが発生しづらいのが特徴です。
     
    最後に編集: 2019-09-15 22:44
    #12
  13. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    ちょっと組み合わせが特殊なタイプです。
    こういう風に組み合わせると、幅の細い階段を伸ばして使えます。
    3マス階段の例.jpg
     
    #13
  14. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    今度は南北に階段を伸ばす場合の解説。
    ちなみにタイルセットのレイアウトはこのようにする必要はありません。
    タイルセット内での位置はチェックしてないので、きちんと[地形タグ]と[通行(4方向)]の設定がされていれば、バラバラに置かれていても問題なく動作します。
    階段を南北に伸ばす.jpg
     
    最後に編集: 2019-09-16 20:10
    #14
  15. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    最後に段差の設定です。
    段差設定.jpg
    性質上、梯子とダメージ床にはできなくなるんですが、「高い位置はダメージ床ではない」のがゲームの不文律なので問題ない。
    梯子に関してはやる意味がない。
    なお、カウンター設定にはできるので、カウンターに飛び乗るお行儀の悪いゲームにもできます。
     
    #15
    おぎゃあ がいいね!しました
  16. おぎゃあ

    おぎゃあ ユーザー

    見下ろし2Dだと上昇下降の表現は階段に見立てた上下移動に限られがちですし表現の幅が広がって楽しいですね

    個人的には階段の減速が遅すぎる気がしたので、設定できると嬉しいです。(減速ナシ・アリ2段階)
     
    #16
    とんび@鳶嶋工房 がいいね!しました
  17. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    階段の減速がないと、なんのための階段かという意味がちょっと薄れる面があって「ちょっと面倒」感は必要かと思ってます。
    階段を使うのに若干のストレスがあると「この階全部回ってから上にいこう」という気持ちになりますが、階段がスムースに移動できすぎると「全部平地でいいのでは?」という疑問も湧きます。
    ゆるーい形でプレイヤーを誘導できる、と言い換えてもいいかもしれません。

    とは言え、その辺のさじ加減は諸々の条件によって違って来ますから、段差のオプションみたいに基本数値を変えられるようにするのはいいかもしれません。
     
    #17
  18. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    HalfMove.js の DiagonalSlow が ON だと、階段の上り下りも斜め判定されて 0.8倍になってますね。
    確かに、これだとちょっと遅い感じがします。
     
    #18
  19. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    よく考えたら、その理屈だと縦方向の階段も重みをつけないと変だな。
    実際、現状階段の意味あんまりないし。
     
    #19
  20. とんび@鳶嶋工房

    とんび@鳶嶋工房 ユーザー

    というわけで、ClimbResist オプションを追加しました。
    これで坂の上り下りの重みに差がつけられるよ。
    6は正直やりすぎだと思う。
     
    #20

このページを共有