投稿記事

RPGBakinの記事 (86)

んだば重工 2023/07/06 17:19

非公式の3DモデルをBakinに組み込む方法【RPGBakin/maya】

いつもご愛顧いただきありがとうございます、んだば重工です。

今日はRPGBakinへの3Dモデルのインポートについての備忘録的な記事をお届けいたします。

※アセットの仕様やPC環境の違いによっては同じやり方でも正しくインポートできない可能性があります。ご了承ください。

RPGBakinへの3Dモデルのインポート

自作モデルでも構いませんが、今回はUnityAssetStoreで購入したモデルを組み込んできいきます。

UnityAssetStoreでお目当ての3Dモデルを探す

今回は機械系の敵を追加したいので、robot 3Dなどで検索して探します。
たくさんあるので選びたい放題…なのですが、注意点もあります。

今回はこのモデルを購入しました。

13$なので約2000円弱くらいのお値段です。
色々機能がついているのだとUnity外へのエクスポートで躓く可能性があるので、シンプルめなアセットの方がよいかもしれません。

販売ページのPackage Contentでファイルの構成が分かるので目を通します。
大事なのは「モデル本体がシンプルなfbxである」こと、「textureが画像ファイルで存在する」あたりをチェックします。

unityにインポート

アセットを解凍したいので適当なunityプロジェクトにインストールします。

大体のアセットにはサンプルシーンがあるので、そこで見た目を確認します。

フォルダ内にあるfbxをモデリングツールで開く

アームありとなしの2種類のモデルがありますが、今回はアームなしをインポートします。

私はmayaを使ってるので、mayaでの解説です。(blenderじゃなくてごめんなさい!)

無事開けました!
しかもこのモデルは本体のfbxに全部のアニメーションが組み込まれてました。ちょっと楽ができそうです。

アニメーションのfbxがない場合は一度unityからアニメーションをfbxとしてエクスポートします。こちらのやり方については別記事で紹介するかもです。

まずはモデルをエクスポート

まずモデルをエクスポートします。
必要なメッシュとボーンを選択して書き出します。

ジオメトリの項目で「接線と縦法線」にチェックをつけておきましょう。(つけないと正常に描画されません)

Bakin公式さん的にはFBXのバージョンの推奨が2014/15とのことですので、そちらに設定します。
読み込んだ時にモデルのスケールが大きすぎたり小さすぎたりする場合があるので、その場合は「単位」のスケール係数をいじってみてください。

モーションをエクスポート

モーションがある場合はモーションデータも書き出します。

メッシュは選択せず、ボーンのみを書き出します。
ここで注意したいのが、一番上の階層のジョイントの座標が原点(0,0,0)にないと読み込んだ時にバグるので、元々のデータにない場合は原点にジョイントを追加しておきます。

bakinへインポート

書き出したfbxをbakinに読み込みます。
モデルのスケールがおかしい場合は再読み込みでスケールを調整したり、モーションのスケール無効ノードの項目に全ジョイントを追加しておきます。


テクスチャを読み込む

テクスチャを読み込んでマテリアルを設定します。
アセットのテクスチャの拡張子がpng以外だとbakinでは読み込めないので、tifやtgaなどの場合はpngに変換します。

マテリアルは特に拘りがなければ「a_n」で構いません。
ノーマルマップもアセット内にあったので読み込んでおきます。

3Dスタンプとして配置する

Bakinのマップに3Dスタンプとして配置します。

無事導入することができました!

編集後記

自分でも躓くことが多かったので記事として残しておきました。
同じやり方でも違うアセットだと出来なかったりするので、これからも要検証です!

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

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

んだば重工 2023/07/02 17:09

【障害物検知】索敵システム作り方紹介【RPGBakin】


いつもご愛顧いただきありがとうございます、んだば重工です。
本日は昨日紹介した新索敵システムの作り方をご紹介します。

今までの索敵システム

まず、以前使っていた索敵システムはこちらの記事にて紹介してます。

モブの索敵システムの実例と解説

今回はこれを改良し「遮蔽物を感知できるようになる」というのが目的です。

Bakinの当たり判定システムは…使わないッ!


Bakinには周囲の当たり判定を検知する、レイキャストというコマンドスクリプトがあるのですが、今回これは使いません。

使わないんかーい。

というか今回の用途としては使えない、が正しいです。

というのもレイキャストの判定が「イベントの直線上」にしか存在させられなく、広めの視野に対応が難しいんですよね。



「プレイヤーのいる方向に向けて」という機能を実装してもらえないかなあ…
あ、逆に直線上だけでいい状況だったらこちらを使った方が簡単に作れるかと思います。

時代は弾幕だよ兄さん!


なのでこのレイキャスト機能は今回は封印します。

残念。

というわけでBakinの謎機能「イベントの生成」で成立させます。

出た、RPG作るソフトなのにシューティングゲーム作れる機能!


以前の索敵システムでは索敵範囲を射出するというやり方でしたが、今回は弾幕シューティングよろしく、放射状に複数の弾を発生させます。

実際は見えないですが、こんな感じで弾が飛んでます。


弾幕シューティングだ!

地形やオブジェクトの後ろにいれば弾が消えて飛んでこないので、検知されることがないということですね。


視線の範囲は弾の消える距離や秒数で設定できます。

なんだ、これだけでいいなら楽ですね。

そう思っていた時期が私にもありました。

おや、何かトラブルが?

試しにこの複数の弾を発射するシステムを作って、敵を10体ほどマップに配置しテストプレイしたところ…

「ナニコレクッソ重い!!」


おうふ。。

BakinはMAPのイベントに対しての描画距離設定がなく、1マップにたくさんの弾を0.5秒毎に発射するイベントが複数いることで、処理が激重になりました。

なるほど…

なので、この問題を解決する方法として「イベントとの距離が近くなると弾を発射する」というスクリプトを作ることにしました。

イベントとの距離を測るスクリプト


Bakinにはデフォルトでプレイヤーとイベントの距離を測る機能がないので、距離を計算するスクリプトを作ります。

まず、プレイヤーの座標を並列自動処理で取得するイベントを作ります。

次に敵側のイベントの座標も取得し、距離を算出します。

計算式はこちら


細かい計算式の説明は省きますが、
(X座標の差)^2+(Y座標の差)^2=(イベントとの距離)^2になります。

Bakinはルートの計算はできないので(※複雑な変数処理から平方根計算できました)、計算式で出た(イベントとの距離)^2で条件判断します。
今回は索敵弾の飛距離5マスに合わせ「6マス以内に来ると弾を発射する」と設定したいので、数字が36以下の場合に弾を発射するようにします。より遠くから検知する場合はこの数字を大きくすれば可能です。(※重さ次第)

遠くにいる時は発射せず、近くにくると発射するようになりました!
そして重さ問題も解決しました!


副産物も…!


実はこの距離計算スクリプトを作ったことでですね、ひとつやれることが増えたんです。

お?

擬似的な距離描写が出来るこれを活かせば、基本マップ50x50の大きさに拘らず、もっと大きなマップを作れるんじゃないかと。

なるほど。

このスクリプトがどの程度耐えれるかは未知数なので、色々試してみようと思います!

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

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

んだば重工 2023/07/01 17:10

監禁/脱出ミッション新要素【プレイ動画有】

いつもご愛顧いただきありがとうございます、んだば重工です。

7月に入り、今年も下半期がスタートですね!
1月から活動&開発を始め、12月リリース目標なので開発も折り返しといったところでしょうか。探索&収集がメインコンテンツとはいえ、そろそろストーリー部分を作り始めたいところです。

7月の予定と支援プランの詳細に関しては3日(月)にお伝えしようと思います。
本日は木曜日にアプデバグでお届けできなかった監禁/脱出ミッションの進捗とプレイ動画をお届けします。

監禁/脱出ミッション新要素

プレイ動画

遮蔽物感知

今回索敵システムを一新して、ちゃんと地形やオブジェクトなどの遮蔽物に隠れられるようになりました。
実はこのシステムを成立させるのにかなり苦戦しました。。。作り方はいずれご紹介します!

発情沼


以前紹介した発情沼もマップに取り入れてみました。発情値が上昇し移動速度が低下します。

スライムトラップ


天井からスライムがふってきます。
スライムに当たってしまうと5秒間拘束されてしまいます。

草むら

草むらにいる間はスニークモードになって安全です
ただし、見つかってから草むらに入っても効果はありません。

編集後記

スニークアクション作るの楽しいです。
これで街中全裸露出徘徊ゲーム作りたい(

  • アイコン
    うさんく ID00017275
    隠れているチェッタちゃんの足元にわざと音を立てるように投げ銭

1件のチップが贈られています

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

んだば重工 2023/06/29 17:02

【悲報】アプデでバグる


いつもご愛顧いただきありがとうございます、んだば重工です。

今日の記事も昨日に引き続き、監禁ミッションの制作の進捗をお伝えしようと思っていたのですが!!!!


な、なにごとです?

画像や映像の収録前にRPGBakinのアプリが強○終了したんですよ。

立ち上げ直したらなんと大型アップデートがきてたんですね。

最大PTが8人になったり色々な改善があってそりゃワクワクしたんですが、立ち上げ直したら表示がバグって悲惨な目に!!!!


わあ。。。アプデあるあるですね。。

まあアーリーアクセスですからねRPGBakin。。今まではアプデによる不具合に遭遇していなかったので油断しておりました。

大丈夫なんですか、作業?

一応アプデ前にアプリケーションのバックアップもとっているので、大幅に遅れるとか進行が止まるとかはないと思います。

よかった。。

ただ、別PCに保存しててすぐに旧バージョンに戻するのは難しそうなので、本日記事に載せようと思っていた分が収録できません。。。

あれま。

みなさまもアプリのアップデート事故には気をつけてくださいね!

追記

記事書いた後に気づいたんですけどRPGBakinの前バージョンに戻す方法めちゃくちゃ楽でした。

steamのゲーム名右クリック→プロパティから、ベータのタブの右上で旧バージョンを選択で一瞬でした。やったね!

(知らずに別PCのバックアップからオフライン起動とかしようとしてました汗)

とはいえ今回の大型アップデートで魅力的な要素(変数のフォルダ色分けとか地味にうれしい!)もたくさんあるので、早く修正対応してほしいですね!

※Bakin開発のsmileboomさまには不具合報告したところ次回のアプデで対応してくれるそうです!

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

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

んだば重工 2023/06/22 17:00

発情しちゃう沼【新マップギミック紹介&作り方】

いつもご愛顧いただきありがとうございます、んだば重工です。

今日は次バージョンの体験版で実装予定の新規マップ制作とRPGBakinで「浸かってると発情値が上昇していく沼」の作り方をざっくり解説します。

新マップと発情しちゃう沼

RPGBakinは3Dマップを活かしたアクション要素が取り入れやすいので、新規マップには軽いアクション要素を取り入れようと思います。

飛び石をジャンプで渡りながら進むマップですが、下になにやら気味の悪い色の沼があります。
ジャンプに失敗して沼に落ちてしまうと…

なんとこの沼、に浸かっていると発情値が上昇していきます。
これぞ「発情しちゃう沼」!!
エロゲっぽくていいですね!!!

沼の中にはスライムくんがうようよしてます。沼のせいで視認しづらいので気を付けましょう。



発情しちゃう沼の作り方 for RPGBakin

それでは簡単に作り方を解説していきます。

沼モデル制作


沼のモデルはBakinのテンプレートにある水面モデルをコピペしてマテリアルを改変します。色味を紫っぽくして水の流れをゆっくりにします。

マップに配置


沼と、沼の大きさと同じ当たり判定を持つイベントを作成します。

当たり判定イベント


1ページ目は特に設定しません。

エフェクトを表示させる


2ページ目に沼の当たり判定用のイベントを作り開始条件を「プレイヤーと接触」に設定します。開始条件にある接触判定は触れてないときのイベントページ(空の1ページ目)を作ってないと機能しないので注意です。
接触するとピンク色のエフェクトを表示し、次のページへ進むための変数を代入します。

Bakinのスプライトは「ウェイト付きで実行」ができないので、静止画じゃないスプライトアニメを連続表示させるのは少し手間がかかります。

沼の効果(1秒ごとに発情値上昇)


2ページ目で設定した変数が代入されると3ページ目進みます。

1秒ごとに発情値が10上昇する設定で、絶頂カウントによって倍率が変わるようにしております。

発情値1000で絶頂なのですが、沼の効果だけでは絶頂&オーバーフローしないための変数分岐も作ります。


状態異常は移動速度デバフ&戦闘中毎ターン発情値が上がってしまう効果です。
沼から出ると2秒で効果がきれます。

エフェクトを切るイベント


沼から出た状態でエフェクトを切るための自動実行イベントです。プレイヤーの地形情報を取得し、沼じゃない時にエフェクトを消します。

ただ、Bakinの並列自動処理イベントはバグが起きやすく(今作は特に基本システムでの並列自動処理イベントが多い)、使わないで済む代案がある場合はなるべく使わない方がいいと個人的には思ってます。
今回のマップみたいに上陸位置が決まってる場合は上陸場所に接触イベントを配置して効果を切った方が安定しそうです。

フォロワー以上限定無料

んだば重工の活動が気になる人向け無料プラン。

無料

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

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

月別アーカイブ

記事を検索