見出し画像

デレステ2D標準風スクリプトを作りました。

これです。
https://drive.google.com/drive/folders/1neceDdSwDTbi5gCIqvdQvR1DhKj2aWaZ?usp=sharing
以下、詳細と使い方の解説です。

更新一覧
2022/01/04 無音無効が正常に動作しないことを修正

デレステ2D標準風スクリプトとは

 ソーシャルゲーム『アイドルマスターシンデレラガールズ スターライトステージ』のMVモード2D標準のような動きをしてくれるスクリプトです。
 シンデレラガールズ10周年おめでとうございます。


経緯(自語り)※読む必要なし

 私はニコニコ動画にデレマスMADを投稿したりしてるんですが、かれこれ5年くらいこの2D標準風の動きを取り入れています。


 けどまあ、これ如何せん作るのがめんどくさい!
 動きは数パターンとその組み合わせしかないのでひたすら単純作業です。

画像1

4秒弱、影オブジェクトも無しの2キャラでこのレイヤー圧迫です。
過去に1度、普通なら見ることのないオブジェクト数限界を達成するなどこの製法の非効率さは問題でした。

 実はこの動画、適当に動かしてもそれっぽく見える。という性質があります。
 私が本家以上に動きを増やしているのがその理由なのですが、それなら自動でやらせてもいいじゃん。という思考に至ったのが経緯です。

 これはサンプル動画の拡張編集レイヤーですが、最終的に影オブジェクト込みで6オブジェクトです。すごい。

画像2


使い方説明書 ~基本操作~

スクリプトの追加方法は省略します。
また、rikky_moduleを利用した機能もありますが、あくまでも+αであり、無くても問題ありません。

基本的な使い方を説明します。
①音声ファイルを設置
②画像ファイルにアニメーション効果で『オート標準風』を追加
③パラメータのBPMを楽曲のパラメータに設定

簡単!

表示したフレームの音声情報を取得するので、プレビューはアテになりません。
動きが見たい場合は先頭から動画出力してください。

使い方説明書 ~通常モード~

各パラメータについて説明します。

--BPM
 合わせる曲のBPMを入力します。画像の動きの速さに関係します。

--中心Y
 動きの都合上中心Yが中央下にある必要があります。
 この中心Yは、自動で設定されますが、微調整に使います。
 別のスクリプトで中心YやY座標を変更していた場合正常に動作しない可能性があります。

--ジャンプ力
 ジャンプ力を0.00倍から5.00倍まで変更できます。

--停止
 主にパラメータ移動方法を瞬間移動に設定して使います。
 0の時は停止しない。1の時は棒立ち、2の時は上下に伸縮する待機モーションになります。
 現在のモーション終了後にこの停止モーションに移行します。

 2の待機モーションは、例えば5キャラ動かす際に、1人だけ動かしたいから残り四人を待機モーションにする。といった風に使います。

 1の棒立ちモーションは、後述する『@オート標準風個別』スクリプトを用いて、ランダムではなく、動かしたい動きをさせるときに使う想定です。

--ID
 制作の過程で、IDが同値でも、後述の選択音が別なら別のモーションをとるようになったので、役割が難化している機能です。
 IDは、画像切り替えの乱数と、無音無効設定で無音時にとるモーションの乱数に関与しています。
 IDと選択音が同値の時に同様の動きをすることだけ覚えて貰えればいいと思います。
 ただし、IDと選択音が同値のオブジェクトが複数あり、停止や、動作初期化を設定している場合、同じIDと選択音のオブジェクトに影響を与えます。
 最小は1、最大は100でそれ以外の数値は範囲内に丸め込まれます。文字はエラーです。
 グローバル変数等を用いて途中でID値を変更すると正常に機能しない場合があります。

--選択音
 例えばドとレとミが同時に鳴っていた場合、どの音を取得するかを変更します。
 この音の取得がモーション選択に直結するため、この選択音を変更することで動きが変わります。
 ドレミ取得の仕組みは他スクリプトからの引用のため、詳細を把握してませんが、正確性を保証するものではないようです。

--無音無効
 チェック時に、無音時でも何かしらのモーションをとります。
 チェックを外していると、無音時は上下に伸縮する待機モーションをとります。
 また、停止のパラメータの方が優先されます。

--動作初期化
 動画出力をせずに動きを見たい場合に使います。
①オブジェクトの先頭に移動する
②動作初期化のチェックを入れる
③動作初期化のチェックを外す
④再生する
これで理論上出力時と同じ動きを見ることができます。

--影モード
--影色
--影縦横比

 後述

--画像1~4
 回転時に画像切り替えする画像を設定します。
 パラメータ設定には入力できる文字数に上限があるため、設定する画像のフルパスが短くなるようになファイル管理が必要になるかもしれません。
 また、正常に画像を取得できないとエラーになります。使わない場合は完全な空欄にしてください。

 画像の設定はrikky_moduleの有無で変わります。
 rikky_moduleを正常に認識している場合
  スクリプトを付けている元の画像ファイルが自動で設定されます。
  画像選択のダイアログが表示されるので切り替えに使う画像を選択してください。

 rikky_moduleを認識できない場合
  スクリプトを付けている元の画像ファイルも改めて登録が必要になります。
  画像登録が1項目のみの場合反映されません。
  登録の注意点としてフルパスの\を二重にするようにしてください。間にスペースを含む場合はダブルクォーテーションで挟むなどしてください。
  フルパスが「C:\Users\USER\Desktop\test image.png」の画像であれば、「"C:\\Users\\USER\\Desktop\\test image.png"」
  同封しているファイルパス.vbsに画像をドラッグアンドドロップすると、クリップボードに対応したパスをコピーしてくれます。

使い方説明書 ~影モード~

 影モードの説明をします。
 浅知恵では仮装バッファでの結合が上手くイメージできなかったため別オブジェクトを用いての実装になりました。

--影モード
 影のみの表示になります。
 IDと選択音を影を付けたい画像と合わせることで、ジャンプに合わせて大小します。

--影色
 色を変更します。

--影縦横比
 -100~100の範囲で影の縦横比を変更します。

--中心Y
 影のY座標を微調整します。
 影モード中は中心Yが0になります。

--ジャンプ力
 影モードの大小にジャンプ力は影響しません。
 ジャンプ力が0で一切浮いてないとしても影は大小します。
 一切動かない影は、IDを変更した後、停止を設定してください。

使い方説明書 ~@オート標準風個別~

 本スクリプトでのモーションを雑に突っ込んであります。
 想定はこのような形で使います。

画像3

 ループにチェックを入れると、オブジェクトの時間の限りループします。
 チェックを入れていないと1度実行したら止まります。
 こちらのみを利用する場合は先頭に中心Yを入れてください。。
 通常モードで停止の設定が1の時に、この個別をかける場合、中心Yは不要です。

締め

以上が詳細の説明になります。
スクリプトの自作発言はNGで、使用時にリンクを張る等は要求しません。

何かあれば追記します。
それでは、よい2D標準風ライフを!

この記事が気に入ったらサポートをしてみませんか?