投稿記事

ダイスプラグインの記事 (19)

ダイスプラグイン「TRP_Dice」のRPGツクールMZでの動作について

←マニュアルに戻る


※21/12/29 動作に不具合があったためファイルを更新しました。MZ_Partch_ver204をダウンロードしてご利用ください。


ダイスプラグインはRPGツクールMV向けのプラグインのため、RPGツクールMZでは動作しません。

また、本プラグインはRPGツクールMZに対応したバージョンの販売についても検討してみましたが対応が必要な要素が多いため断念しております。(特にサンプルプロジェクトのプラグインコマンドを全て差し替える必要が出てきます…)


ただ、MZでも使いたいという要望も多いため、MZで導入した際にエラーを回避するプラグインだけおまけとして用意しました。

あくまでおまけの拡張パッチ扱いで、RPGツクールMZでの動作を保証するものではありません。使いたい方は各自の責任でのご利用をお願い致します。



RPGツクールMZプロジェクトでの使用方法

エラー回避verプラグインの導入

エラー回避用のプラグインを用意しましたので、Boothの販売履歴より「MZ_Partch_ver○○○.zip」をダウンロードして解凍し、TRP_Dice.jsとTRP_CustomWindow.jsを通常のMV版のプラグインの代わりに導入してください。

プラグインコマンドについて

MZ形式のプラグインコマンドには対応していません。

RPGツクールMZでMV形式のプラグインコマンドを導入するために、スクリプトコマンドエリアにMV形式のプラグインコマンドを記入して実行する以下のプラグインなどを導入してご利用ください。

PluginCommandMVInScriptArea.js (4.29kB)

ダウンロード

サンプルプロジェクトについて

MZ用のサンプルプロジェクトは用意しておりません。

MV用のサンプルプロジェクトをコンバートした上で上記プラグインを差し替えて利用することはできますが、MV用のプロジェクトを利用するにはRPGツクールMVを正規に購入してユーザー登録をしている必要があるため注意してください。


更新履歴

  • v2.05 <2022/1/9> アニメーション表示時のエラー修正
     └(サンプルプロジェクトV1.04bにてダイススキル用のコモンイベントの不具合修正)

もし、新規プロジェクトなどで導入しても正しく動作しないなどありましたら、報告フォームよりご一報いただけますと幸いです。
不具合報告フォーム

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

[一言進捗]/[講座]スクリプトでmeta情報を活用

一言進捗

ダンジョンゲーの方はずっとメニュー作業とか言ってたけど、
ここのところは諸事情で戦闘まわりのシステムの整理をしています。

といってもやはり地味作業ですけどね!!


画面シェイクの挙動の修正↓(順に特大、大、中、小、極小)

ツクールのシェイクは30フレームと指定したら最初から最後までずっと同じ揺れの大きさなのですが、徐々に揺れが小さくなるように修正しました。(ランダムシェイクの既存プラグインを改造)

あと、開始直後に揺れ直後に画面をフリーズさせるヒットストップみたいな演出もオプションパラメータで用意して使ってみてるのだけど、ちゃんとそれっぽくできてるのかよくわからない。

ヒットストップ、ムズカシイ・・・(´・ω・`)


戦闘中のカメラ操作も不完全で騙し騙し使ってたのだけど、きっちりスムーズにズーム・フォーカスができるように調整。


地味だけど、結構大事な部分だと思うので個人的には満足な作業でした🤸‍



RPGツクールMV講座

ダイスプラグインのサンプルで使ってるテクニックを紹介しようのコーナーその2!

スクリプトコマンドでmeta情報を扱う

プラグインの設定のためにイベントとかスキルとか、
色んなデータのメモ欄にカッコをつけて書くあれはmetaデータと呼ばれるのですが、
実はプラグインでなくてもスクリプトコマンドで活用することもできます。

ダイスプラグインのサンプルでもイベントなどを覗くとちょこちょことメモ欄にメタ情報が埋め込まれてます。

今回の講座ではすごろくの「ワープマス」でのメタ情報活用例を紹介します!


ワープマスのイベントの挙動はこちら↓

ワープマスに入ると、対となるワープ先のイベントの位置まで瞬時に移動しています。

さっそく、ワープマスのイベントページを見てみましょう↓

メモ欄には<ワープ先イベントID:97>と書かれており、
このメタ情報を参考にして内部でワープ先のイベントの位置にプレイヤーを飛ばしています。

イベント部分はコモンを1行呼ぶだけとなっており、
ワープマスを量産するにもmeta情報のIDだけ変えれば良い設計となっています。

(変数で指定しても良いのですが、どちらにせよ内部でスクリプトコマンドを使って処理したい内容なので、メタ情報を使った方が手間は少ないと思います。)


さて、実際にどのようにスクリプトコマンドでmeta情報を扱っているかみてみます。
コモンイベント「ワープマス(※)」の中程のスクリプトコマンドです↓

スクリプトコマンドは書ける行数の制限があるため詰め詰めで多少見づらいので、
ここでは下のように小分けに説明してきます。

  1. メモ欄の情報を得るために呼び出し元イベントのイベントデータを取得する
    2.メモ欄のメタ情報から「ワープ先のイベントID」を取得する
    3.ワープ先のイベントの座標にプレイヤーを転送する

1.イベントデータの取得

1行目:var eventId = this.evntId();
イベントコマンドを実行していくインタプリタ(ここでのthis)が保持している呼び出し元のイベントIDを変数eventIdにセットしています。

2行目:var event = $gameMap.event(eventId);
取得したイベントIDのイベントオブジェクトを$gameMap(マップ)に問い合わせて取得しています。

このeventにはイベントの位置やページ状態などのパラメータなどが保存されています。(このようにゲーム中に変化するデータを保持しているオブジェクトをここではゲームオブジェクトと呼びます。)

3行目:var data = event.event();
イベントのゲームオブジェクトから、そのイベントのデータベース上の元データを取得しています。(このようにゲーム中に変化しないエディタで設定した元データをここではデータオブジェクトと呼びます。)

2.metaデータの取得

4行目:var meta = data.meta;
イベントページのメモ欄に設定したメタ情報は、イベントデータのmetaプロパティにまとめられてます。

5行目:var warpIdString = meta['ワープ先イベントID'];
<ワープ先イベントID:イベントID>のように指定したイベントIDは、
メタ情報の左側部分の名前でアクセスできます。

(日本語プロパティはmeta['プロパティ名']のようにかかなければなりませんが、
<targetWarpEventId:イベントID>のように英語の名前を設定しておけば
meta.targetWarpEventIdといった通常の形でアクセスできます。)

ここで変数名をwarpIdではなくwarpIdStringとしているように、
メタ情報に格納されたデータは全て文字列(String)となっています。

6行目:var warpId = Number(warpIdString)
文字列だったワープ先のIDを数値に変換しています。


3.ワープ先のイベントの座標にプレイヤーを転送する

7行目:event = $gameMap.event(warpId);
ワープ先のイベントのゲームオブジェクトを取得してevent変数にセットしています。

9行目はここでは関係ないのでカット。

11行目:$gamePlayer.locate(event._x,event._y);
イベント(event)のx,y座標にプレイヤー($gamePlayer)の配置(locate)させています。

これでワープ先のイベントの位置にプレイヤーをワープさせられました!



初心者でもコメントでスクリプトの流れが分かりやすいようにかなり丁寧に書いてますが、自分が実際に書くとしたら省略してこんな感じかも↓

var eventId = this.eventId();
var event = $gameMap.event(eventId);
var warpId = event.event().meta['ワープ先イベントID`]
event = $gameMap.event(warpId);
$gamePlayer.locate(event._x,event._y);

・・・意外と省略してませんね。

変数名だけを見れば1行目はイベントIDの取得をしていて、2行目はイベントの取得、3番めはメタ情報からワープ先のIDを取得しているということがすぐに分かるので、あまり省略しすぎず丁寧に変数に名前をつけて書いてくのが良いと思います!
(スクリプトコマンドだと行数制限があるのがネックですけどね・・・)





こんな感じで、ダイスプラグインサンプルのコモンイベントには処理の流れやスクリプトに細かいコメントを書いてますので、ご購入されている方は色々眺めてみると面白い発見があるかも?


ダイスを振るだけじゃないダイスプラグインをヨロシクネ!!
ダイス・サイコロプラグイン『TRP_Dice』

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

[一言進捗]/[講座]格好良いアニメーションの極意

一言進捗

もう、ずーーーーーーーっとメニューの調整作業。
たぶん、今月もずっと。

https://twitter.com/thiropGames/status/1223584051669241856

メニューウィンドウ設計するって大変ですね・・・(遠い目

せめて今月のプレツクデーにはメニューの花形(?)といえばやっぱり合成屋!
・・・あたりのメニュー進捗を出したいですね。



いつか講座になるかもしれない何か

しばらくはダイスプラグインのサンプルで使っているテクニックを紹介する予定です。

いちおう、コモンイベントにはコメントをつけているのですが、補足や考え方なども少しずつ紹介していきたいなと思います!



いい感じのピクチャアニメーションを作る!

上の進捗動画内にもありますが、

「交渉成功!」

「交渉失敗…」

といったちょっとした情報を表示するのに、
ひと手間かけてフォトショップなどで画像化してから
ピクチャで動かすことで、演出のインパクトが大幅に上がります!


今回はピクチャをアニメーションさせる際に格好良くみせるコツみたいなものを紹介しようと思います!


ダイスプラグインのちんちろりんサンプルで使っている2つのピクチャ演出↓

この2つの共通点こそが、私が思うアニメーションの極意です!!
(見比べて考えてみてくださいね)





その共通点は……






1. ものすごく勢いのあるインモーション
2. 完全には止まらず、じわじわと動く継続モーション
3 勢いのあるアウトモーション


という、3つのモーションから成り立っていることです。

これはもう鉄板です!


アニメーションで変化させるのはだいたい下の4つ。

  • 位置
  • 大きさ・形状(拡大率)
  • 不透明度
  • 角度

最初に上げたモーションがそれぞれどんな要素でできてるか検証してみます。

スライドモーション

インモーション

始めは勢いよく右から中央にスライドしてきますね。

ただ、よく見ると移動と同時に透明な状態か不透明な状態に変化しています。

また、形状をみると横に潰れた状態(高さ0)から通常の状態に戻っています。


このように複数の要素のアニメーションを組み合わせるとより複雑で飽きないアニメーションが出来上がりやすいです。


少なくとも、不透明な状態のピクチャがドーンといきなり出てこないように、
始めは不透明にするか、高さか幅を0%にするなど意識すると良いでしょう。


また、インモーションはこれでもかと早く&大げさに演出すると、勢いがついた心地よいアニメーションになると思います。


継続モーション

中央(より若干右)にスライドしてきたテキストは、
その場で止まらずに少しずつ左に移動を続けます。

このちょっとした動きがあるだけでモーションがリッチに見えます。

勢いよくインしたあとにも微妙に動かし続けましょう。


2つ目の例でも、勢いよく縮小しつつインしたあとも、
ジリジリとゆっくり縮小をつづけています。


アウトモーション


インモーションと対応させて

  • 左へ移動
  • 形状を横に潰す(縦0%、横130%)
  • 徐々に透明に

といった3つの要素をアニメーションさせています。

インモーションより多少アニメーションフレームに余裕をもたせて
余韻をもたせるようにしています。
(といっても遅くしすぎたらテンポが悪くなるので注意!)


本当にこの3つを守るだけでそれっぽいアニメーションになると思いますので
みなさんもぜひピクチャ演出を活用してみましょう!

(ピクチャ演出はイージング系のプラグインを使うのも緩急が簡単につけれてオススメですが、↑の動画のように3つのモーションをしっかり設定すればイージング無しでも意外となんとかなります・・・というより、3つのモーションの設計の方が大事かと思います!)



ちなみに、ダイスプラグインのサンプルではピクチャ表示で画像を指定してから
演出用のコモンイベントを呼ぶだけで上で挙げた演出を行ってくれます!

ご購入されてる方は雑にピクチャ演出に活用したり、コモンイベントの中身を書換えてアニメーションを改造してみたりしてくださいね!



こんな感じでしばらくはダイスプラグインの宣伝がてら、
サンプルで使っているテクニックを少しずつ紹介してこうと思います。

宣伝うざいかもだけど、ダイスを振るだけじゃないダイスプラグインをヨロシクネ!!
ダイス・サイコロプラグイン『TRP_Dice』

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

20面ダイス追加!アップデートVer1.02【ダイスプラグイン】

本日、ダイスプラグインのVer1.02を公開しました!

購入済みの方はBoothのマイページよりダウンロードが可能です。
プラグイン内部処理やフォルダ構成に変更がありますので、
プロジェクトのバックアップを取った上でプラグインファイルを更新して下さい。


20面ダイスの追加

20面ダイスの追加が一番の目玉です!

20面ダイスは面数が多いため、目ごとに画像が分かれています。

使用するには「Dice20」から始まるダイス画像をmaterials/diceフォルダからコピペした上で、↓のように画像名を指定したダイスタイプを登録してください。
(20_white、20_red、20_blue、20_greenに対応する画像を用意しています。)

ダイス画像の管理フォルダの変更

プラグイン設定にて「diceフォルダの使用」項目が追加され、それに合わせてサンプルプロジェクトでもダイス画像はimg/diceフォルダ内にまとめられました。

Ver1.01以前のようにsystemフォルダのまま使いたい場合は、プラグイン設定の「diceフォルダの使用」をOFFにしてください。

diceフォルダ使用に切り替える場合は、imgフォルダ内にdiceフォルダを作成してその中にダイス画像を移動して使用して下さい。

※カスタム情報ウィンドウプラグインで使用する画像(↓)はsystemフォルダ内のままなので注意
dice_list_highlight_long.png
dice_list_highlight.png
dice_list.png

その他の変更点

プリロードコマンドの追加

「dice preload 1」「ダイス プリロード 1」のようにとプラグインコマンドを実行すると、ダイス1で使用する画像をプリロードすることができます。

ダイスの表示が遅いor「change/変化」コマンドで点滅する場合などに、事前に実行してください。

不具合修正など

  • ダイスと紐づく変数の更新頻度を下げてパフォーマンスの改善
  • 画像名を使用する場合にchange/変化コマンドが使用できない不具合修正
  • TRP_CustomWindowのプラグイン設定に、一部プラグインと競合する際の回避用パラメータ「制御文字変換方法」を追加
  • change/変化の内部処理主体をSprite_DiceからDiceクラスに変更

(もし、古いバージョンでゲームを公開済みで、新しいバージョンに差し替えると不具合が出る場合などは個別に相談くださいませ)

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

すごろく場の作り方その4:各マスの内容の設定【ダイスプラグイン】

RPGツクールMV向けダイス・サイコロプラグイン『TRP_Dice』付属のサンプル「すごろくゲーム」で、オリジナルすごろく場を作ろう講座その4です!

今回は基本マスの内容を一括で設定する「フェーズ設定」を解説します!

  • 宝箱のランダムな中身
  • 戦闘時のランダムなグループ
  • ハプニングマスのイベントの登録

などなどの解説を行います。

後半は付属のグループ系プラグインを使った設定を行っていきますが、ローグ・不思議のダンジョン系のランダム宝箱やランダム戦闘などを作る際にも役立つ方法となってますので気になる方は読んでみてください!

すごろく場の基本的な作り方は1つ目の記事から順次解説してます。
まだの方は先にそちらからお読み下さいm(_ _)m
すごろく場の作り方その1:基本の作り方【ダイスプラグイン】


新しいフェーズの作成

まずは、おもむろにデータベースでコモンイベント『☆フェーズ1設定』をコピペして『☆フェーズ2設定』などと名前を変えて置きましょう!
(下の『─すごろく終わり─』は適当に下の方にコピペで移しておいてください)

今回はこのフェーズ2設定をいじりながら各項目を説明していきます!

変数の設定

上から順に見ていくと、最初に変数をあれこれと設定している箇所があります。


読めば何のことかだいたい分かると思いますが、簡単に1つずつ解説していきますね!

コイン増減量の設定

青マスは止まった時に双六古印がもらえ、
逆に赤マスに止まったときは双六古印を失います。

ここではその増減量の最小値と最大値を設定します。
(最小値〜最大値の間のランダムな分だけ増減します。)

レア宝箱の確率

緑マスに止まった時にレア宝箱が出る確率を設定します。
変数の値を20とすれば、20%の確率でレア宝箱が出現します
↓左がノーマル、右がレア


(ノーマル・レア宝箱で抽選されるアイテムの設定はのちほど行います。)

ちなみにですが、各マスの動作テストをしたいときはテスト用に↓のようにマスを配置しておくと、グルグルと回ることができてオススメです!


強敵グループ遭遇確率の設定

これも緑マスのレア宝箱確率と似たような設定です。
黒マス(戦闘)に止まった時に強敵グループと遭遇する確率を設定します。
↓左が通常敵グループ・右が強敵グループ

爆発ダメージ

紫マス(ハプニングマス)で爆発トラップを引いた時のダメージ量を設定します。

双六ショップの品揃えの設定

桃色マス(お店)に止まった時の品揃えを設定します。
(コメントが【黄色マスのショップ品揃え登録】となってましたがミスです。また、TRP_ItemGain.jsではなくてTRP_ItemGroup.jsが正しいです。すみません💦)

(アイテムグループプラグインの本命の使い方とは外れるのですが、ショップ品目をグループ名「ショップ品目」で保存し、あとで(桃色マスの処理の中で)自由に登録した品目でショップ処理を行っています。)

ここで桃色マスのショップの品揃えを設定してみてください!
(双六古印を使った買い物となるので値段設定に注意)

ちなみに、桃色マスの処理の中では↓のプラグインコマンドを使って登録したグループの品目でショップ処理を行っています

回復サービスの対応アイテムの登録

桃色マスの双六ショップでアイテム『回復サービス』を購入すると、お店から出た時に自動でパーティーの回復を行ってくれます。


もし、回復サービスの対応アイテムを変えたいときは↓の部分を変更してください。

ショップの処理に対応するアイテムを1つだけ設定すればOKです!

宝箱の抽選アイテムを設定

緑マスの宝箱はランダムなアイテムを取得することができますが、ここではその抽選リストを設定します。

ノーマル宝箱とレア宝箱の中身を、それぞれ注釈コメントの説明に従って「ショップの処理」の品目を設定すればOKです。
(↓の例ではレア宝箱の中身は双六門の鍵で固定としていますが、品目を増やしてももちろんOKです)

このとき、アイテムの価格がそのアイテムの出やすさとなります。
↓のように全ての価格を1にすると、全アイテムが同じ確率で出現します。

価格を2,3…と上げると、価格1に比べて2倍,3倍…と出やすくなります。

ちなみに、緑マスでは↓のプラグインコマンドを使って、それぞれグループ名「ノーマル」、「レア」で登録したグループのアイテムを取得してます。
(コマンドがアイテムセットになってますが、アイテムグループでもアイテムセットでもどちらでも可になってます)


また、取得したアイテム名の表示は、第2回目の講座でも解説しましした\LAST_ITEMという制御文字を使って表示させています↓

戦闘グループの抽選リストを設定

次に戦闘グループの登録です。

黒マス(戦闘マス)に止まったときも登録しておいたランダムな敵グループの中から抽選して戦闘となります。

設定が少し分かりづらいのですが、アイテムグループの登録のときとは違い、グループ名のようなものはつけません。

そのかわり、「敵グループセット 登録」の直後の戦闘処理で指定した敵グループ代表グループとなります。

なんのこっちゃと思いますので、先に黒マスの処理での戦闘処理を見てみます↓


このように、代表グループとの戦闘処理を行うことで、登録時に2番目以降に登録したグループの中からランダムな敵グループとの戦闘が抽選されます。


特定の敵グループの出現確率を増やしたい場合は、そのグループとの戦闘処理をコピペして増やせばOKです。

(このプラグインも不思議のダンジョン系でランダムな戦闘処理を作る場合に重宝できるかと思います!)

ハプニングマスのコモンイベント抽選リストを設定

最後の設定は紫マス(ハプニングマス)で発生するイベントの登録です!

紫マスに止まった時に発生するコモンイベントをプラグインコマンドの直後に呼び出して登録していきます↓


それぞれのイベント内容は↓のように特別な処理は必要ありませんので、アイデアのままに新しいイベントを作って登録してみてください!

(第2回で強○マスを作った時みたくポップする画像を変える演出もできますが、注意点もありますので第2回の講座をご確認ください)

フェーズを設定する

さて、これで新しいフェーズ設定が出来上がりました!
すごろく場ごとにフェーズ設定を変えたい場合はスタートイベント中で呼び出すフェーズ設定コモンイベントを『☆フェーズ2設定』に切り替えればOKです!

途中でフェーズを切り替える

また、すごろく場の前半・後半などでフェーズを切り替えることもできます。

例えば、下のようにフェーズを切り替えるには赤い四角で囲った矢印のイベントを開き…

↓のように切り替えたいフェーズ設定のコモンイベントを呼び出せばOKです!


(今回は矢印マスに設定するので逆流の心配はありませんが、逆流できるマスを境にフェーズ設定を切り替える場合はその1つ手前のマスでフェーズ1設定を呼び出してフェーズを戻せるようにすればOKです)

以上で全てのすごろく講座の内容が終了となります!

なんだかんだと結構なボリュームになりましたが、
これでオリジナルのすごろく場をどしどしと作っていけると思います!


……え、まだダイスプラグインをお持ちでない?(´・ω・`)

Boothにて今月末(2020年1月末)までセール中ですので、
気になる方はこの機会にぜひよろしくです!!(ダイマ)

ダイス・サイコロプラグイン『TRP_Dice』for RPGツクールMV


https://www.youtube.com/watch?v=W6dhMu9amuE&feature=emb_title



また、今回ですごろく講座は終わりとなりますが、このCi-enページではダイスプラグインのサンプルで使っているイベントテクニックなどを少しずつ紹介していきたいなと予定しています。

自分の創作の進捗報告などと合わせての記事になりますが、よろしければフォロー(無料)してくださいませ!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

« 1 2 3 4

月別アーカイブ

記事を検索