投稿記事

RPGBakinの記事 (4)

みえりんそふと 2022/12/04 04:16

【魔術師シャーベット】RPGBakinで制作中! 崖登り、滑空、戦闘、えっち遷移システムなど

これまでRPG Developer Bakinで作ってきたものをまとめてみました。通しのプレイ動画をフォロワー限定で上げてますので、もしよかったら見ていってください。基礎的なシステム面の制作を主に続けてきたので、今のところはえっち成分のあるアクションゲームという感じですね。


戦闘システムです。相手に近づくと自動でロックオンします。


崖を登れます。動画では省略しましたが、空中から飛び降りて再び崖にくっつくみたいなこともできます。


箒で空を飛ぶことができます。


えっちトラップです。この作品のマップは実は見かけほど広くなく、区画の端に行くとえっちトラップが発動し、その演出の裏でこっそりマップ遷移しています。

この仕組みを使って疑似的なオープンワールド風ゲームを作っていこうと思っています。えっちトラップを増やせば増やすほど一区画ごとの負荷が軽くなり、探索すればするほどえっちな目に遭うわけですから一石三鳥? ですね。


遷移後です。


各区画でえっちトラップを踏むとオナニースキルを獲得し、コマンドバトルの仕組みを使って思い出しオナニーをすることができます。実質的な回想機能ですね。


カメラを動かして下から覗き込むこともできます。

フォロワー以上限定無料

無料プラン限定特典を受け取ることができます

無料

みえりんそふと 2022/11/21 02:20

みえりんそふと 2022/10/19 19:36

【技術】RPG Developer BakinでVRoidモデルを動かす

ここではVRoidモデルをBakinに持ち込む手法について紹介します。
プリレンダリングしたものを使う手法についてはこちらから→ 【技術】BoneToPixでVRoidStudioモデルをドット絵化する

1. VRM形式モデルをエクスポートする

VRoid StudioからVRM形式モデルをエクスポートします。
※ここではマテリアル数を2まで削減していますが、必須ではないです。

2. VRM形式モデルをblenderに読み込み

3DCGは難しくない!? 「Blender」で3Dモデリング初めの一歩
こちらの記事を参考にVRM形式モデルをblenderにインポートします。
blenderのインストールからわかりやすく書いていただいているので割愛します。

3. Bakin向けにfbx形式モデルをエクスポートする

二通りの方法があります。①の方が簡単です。

方法① bakin側でテクスチャを張り直す方法

fbxファイルのエクスポート

ファイル → エクスポート → fbx

テクスチャの出力

① blenderのプロジェクトファイルを保存します。
ファイル → 保存 または Ctrl + S
※これをしないと③でエラーになります
② ファイル → 外部データ → リソースをパック解除


③ 「現在のディレクトリへ(既存ファイルに上書きして)保存します」を選択

④ blenderのプロジェクトファイルと同じ場所に、texturesというディレクトリができます

方法② fbxに埋め込む方法

blenderの仕様により、プリンシブルBSDFノードに直接紐づくテクスチャでなければfbxに埋め込むことができないので、シェーダーを修正します。
手動で修正する場合はblenderの「Shading」を選択して、不要なノードを削除、プリンシブルBSDFノードを作成して繋ぎなおします。以降の手順は①と同様です。

自動で修正する場合は私が制作した以下のアドオンが役に立つと思います。導入に多少の知識が要りますが、ワンクリックでモブキャラモデルを生産できます。
Blend2BakinFbx.py
※このコードは本来なら公式wikiの3D キャラクター にあるように、設定ファイルに基づいてマテリアルのセットアップをしてくれるはずなのですが、なぜか上手くいかず、ただテクスチャを埋め込むだけのアドオンになっています。

3. fbxエクスポート

fbxモデルをエクスポートする際、テクスチャが外れてしまうので、テクスチャは別で出力します。
すでにVRoidモデルをインポート済みという前提で話を勧めます。

4. mixamoからモーションを取り込む

Mixamoの使い方/大量の3DCGアニメーション素材をDL
ただダウンロードするだけでよいです。こちらの解説記事が参考になるかと思います。
歩行モーションをダウンロードする際などに、In Placeというチェック欄が表示されたときはそれを選択してください。
デフォルトのモーション素材でもよい? と思いましたが今試したところ動かなかったです。リグの設定の違い?
* Bakinで使うのはジャンプ「アップ」モーションなので、モーション名規則にあるように、溜めや着地の動きを含まない、飛び上がる部分だけが含まれるモーションを使うのがよいです。

5. bakin手順

RPG Developer Bakin Wikiを見ながら進めていきます。

リソース管理

素材の取り込み

  • モデルから追加ボタン、またはD&DでVRMから変換したfbxモデルをインポートします。
  • テクスチャから先ほど出力したテクスチャファイルをインポートします。ここではImage_0とImage_6の二つを取り込みます。
    • 手順3で方法②を選んだ場合は不要です
    • 眉と目のハイライトが消えます。気になる場合は描き足しましょう。
  • モーションからmixamoでダウンロードしたモーションファイルをインポートします。

    モーションセットの設定

    現状では1つのモーションを持つモーションセットが複数ある状態になっているはずです。「モーションの追加」からどれか一つのモーションセットに残りのモーションを追加して一つにまとめます。
    モーション名は以下に設定してください。
    モーション名規則

    マテリアルの作成

    マテリアルを追加します。
    先ほど追加したテクスチャを割り当てます。
    カリング:服の裏側が透ける場合はDoubleSided
    シェーダー:VRoidモデルは多くの場合服ポリゴンの一部を透明にするので、discardという単語を含むシェーダーを選ぶのがよいです。

  • 光や影の影響を受けないnolitシェーダーはぱっと見綺麗に見えますが、真夜中でも色合いが一切変化しないので、使いたい理由がなければあまりおすすめしません。
  • a_n_rm_discardを選んで、テクスチャの目の部分を赤く塗りつぶしたマスクマップを追加し、エミッションを0.1にしてわずかに発光させると綺麗になります。

    モデルにマテリアルを設定する

    モデル
    に戻りマテリアルを設定します。VRoidでインポートした際マテリアルを二つに削減していた場合、グレーのマテリアルが二つ設定されている状態になっているはずなので、これを追加したマテリアルに置き換えます。
    ※手順3で方法②を選んだ場合は不要です

    3Dスタンプからモーションを追加する

    3Dスタンプ
    ここまでの作業を行えば、モデルやモーションに追加したものと同じものが3Dスタンプにも追加されているはずです。キャラモデルを選択して、モーションセットを割り当てます。

    データベース

    キャストから、主人公キャストに先ほどのキャラモデルのリソースを設定します。

    ゲーム管理

    スタート設定の主人公に、データベースで設定したキャストを割り当てます。
    ※初期設定ですでに割り当て済なので、後から変更したい場合のみ。

    マップ設定

    初期設定だと肌が青白くなるのでそのままだと少し使いづらいです。
    これはカメラ設定からポストエフェクトを弄ってもあまり意味はなく、マップ設定→アンビエント→色から赤みのある色を選ぶと改善するようです。



    (変更前)

    (変更後)

みえりんそふと 2022/10/19 04:21

【技術】RPG Developer Bakin触ってみた

ついにRPG Developer Bakinがリリースされました。ということで、とりあえずVRoidモデルを読み込んで動かしてみます。

https://youtu.be/v2W9KbsYSaw

とりあえず一日触って概要だけまとめました。

●キャラを動かす
①「リソース」のモデル、モーション、マテリアルに各種アセットを配置
②「リソース」の3Dスタンプでキャラクターモデルをセットアップする
※各種モーションの割り当ては名前に紐づく。waitとかwalkとかjumpupとか
③「データベース」の「キャスト」(ゲーム内に登場するキャラクター)にリソースを割り当てる
④「ゲーム定義」の「スタート設定メニュー」から、主人公に先ほどのキャストを割り当てる

さらにまとめると
主人公:操作するキャスト
キャスト:味方や敵やNPCなどのキャラクター
リソース:キャラクターのグラフィック素材など
という感じですね

(※すみません、色々端折ってるので暇なときに追記or新記事書きます)
・blenderでvrmをインポート&fbxエクスポート、テクスチャ書き出し
・マテリアル設定(カリング:服の裏側が透ける場合はdouble sided, シェーダー:アルファ抜きできるものを選ぶ、map_discardなど、↑で書き出したテクスチャを指定(VRoidから出力する際にマテリアルを減らしておくと楽です)
・モーションの設定方法(blender側では特にやることなく、mixamoから持ってきたものをbakinにモーションデータとして取り込める)
https://ci-en.dlsite.com/creator/12127/article/725362

●立ち絵表示
もしかしたら他にいい方法があるかもしれませんが、コモンイベント⇒共通イベント⇒イベント追加で、「イメージを表示」イベントで立ち絵を表示できます。イベントの開始条件は「並列で繰り返し実行」(unityで言えば、非同期処理を毎フレーム実行するようなもの?)を指定します。

そのままだと中心が絵のある方に寄りすぎるので、カメラ設定でオフセットをずらすといいと思います。

●アクションゲームは作れる?


スキルを発動する、剣撃を飛ばす、魔法の弾を飛ばす、など、とりあえず最低限のことはできます。これらの攻撃エフェクトはキャストとして扱われる? ようで、イベントの設定もできます。

味方側はHPを増やしたり減らしたりもできそうですね。フィールド上で毒の沼に入ったらHPが減るみたいなのは定番ですし、それと同じような扱いでたぶんできます。

ただし敵側は微妙なところです。本来のHPとは別にローカル変数で別にHPを持っておくしかないかも? 間違ってたらすみません。スクリプトリファレンスがまだないので何とも言えないですが、もしかしたらC#スクリプトで呼び出せるかもしれません。この辺は様子見ですね。

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索