![見出し画像](https://assets.st-note.com/production/uploads/images/141862462/rectangle_large_type_2_591b857999b458dbd7c344598f2e15a3.png?width=1200)
RPG Developer BAKIN用プラグインMainScriptForCast Ver.20240523
0. ダウンロード
1. 概要
本プラグインはゲーム開発ツール"RPG Developer Bakin"のキャストイベント用プラグインです。
キャストイベントがダメージを受けたときのノックバック挙動、設定した視野内に入ったプレイヤーを発見する視野システムや、距離・ベクトル・角度の計算など、Bakin標準のコマンドパネルの組み合わせでは実装が複雑になる処理をコマンドパネル「C#プログラムの呼び出し」で簡単に実装できるようにするものです。
![](https://assets.st-note.com/img/1716454175363-Mk5grdglze.png)
2. 設定方法
2.1 プラグインの追加
本プラグインを「追加」ボタンから選択すると、複数のcsファイルがインポートされます。
![](https://assets.st-note.com/img/1716455734210-Fo29zeGTAf.png)
2.2 C#プログラムの割り当て
"MainScriptForCast.cs"を選択し、割り当てます。
![](https://assets.st-note.com/img/1716455477670-VMNACPstXm.png)
2.3 イベント開始条件を設定
イベント開始条件を「自動的に開始(並列して繰り返し実行)」に設定します。
![](https://assets.st-note.com/img/1716456468271-fQMwNyy4LN.png)
![](https://assets.st-note.com/img/1716456485297-hscgLdE4RP.png?width=1200)
3. 機能一覧
本プラグインに含まれる機能は下記のとおりです。
<イベントの挙動に関するコマンド>
向いている方向へ直進するーMoveForward
![](https://assets.st-note.com/img/1716456642869-AAUmh3hyiD.png)
プレイヤーを追いかけるーFollowPlayer
![](https://assets.st-note.com/img/1716457737113-QsBBAdZImJ.png)
プレイヤー地点へ瞬間移動ーGetPlayerPosition
![](https://assets.st-note.com/img/1716457793520-SvqJKlvrPV.png)
プレイヤーの方向を向くーLookAtPlayer
![](https://assets.st-note.com/img/1716457871416-8bGHUkz1zs.png)
プレイヤーに背を向けるーLookAwayFromPlayer
![](https://assets.st-note.com/img/1716457921440-jQ65BevPWm.png)
障害物を回避しながら自律的に歩き回るーWalkAround
![](https://assets.st-note.com/img/1716457999602-ONDCmNrT5u.png)
設定した速度で回転させるーRotateEvent
![](https://assets.st-note.com/img/1716458122028-ds2qWqprlQ.png)
ノックバックを与える(高さ方向なし)ーKnockback2D
![](https://assets.st-note.com/img/1716458199192-ycAChOnvOS.png)
ノックバックを与える(高さ方向あり)ーKnockback3D
![](https://assets.st-note.com/img/1716458359334-1JW7BGOa6N.png)
接地しているかを調べるーCheckEventOnGround
![](https://assets.st-note.com/img/1716458435498-GWOWMwJ2E4.png)
<特殊なレイキャストに関するコマンド>
プレイヤーを感知する円錐形の視野を設定ーRaycast_EventSight_SearchPlayer_ConeType
![](https://assets.st-note.com/img/1716458526699-dO5HwcYwvl.png)
側方(左右)にプレイヤーを感知する円錐型の視野を設定ーRaycast_EventSideArea_SearchPlayer_ConeType
![](https://assets.st-note.com/img/1716458630272-DloODPJV2n.png)
プレイヤーを感知する扇形の視野を設定ーRaycast_EventSight_SearchPlayer_FanType
![](https://assets.st-note.com/img/1716458714191-ytw4y6ouen.png)
側方(左右)にプレイヤーを感知する扇形の視野を設定ーRaycast_EventSideArea_SearchPlayer_FanType
![](https://assets.st-note.com/img/1716458820931-g9TvFcd2G0.png)
プレイヤーを感知する視野を設定(視野角30度)ーRaycast_EventSight_SearchPlayer_30deg
![](https://assets.st-note.com/img/1716463515704-oo3LiP1Rqe.png)
プレイヤーを感知する視野を設定(視野角60度)ーRaycast_EventSight_SearchPlayer_60deg
![](https://assets.st-note.com/img/1716463526191-tmLoc2mwU3.png)
プレイヤーを感知する視野を設定(視野角90度)ーRaycast_EventSight_SearchPlayer_90deg
![](https://assets.st-note.com/img/1716463564475-xYPvIaCDU3.png)
プレイヤーを感知する視野を設定(視野角120度)ーRaycast_EventSight_SearchPlayer_120deg
![](https://assets.st-note.com/img/1716463646815-ZZDEgvep7Q.png)
プレイヤーを感知する視野を設定(視野角180度)ーRaycast_EventSight_SearchPlayer_180deg
![](https://assets.st-note.com/img/1716463672301-6xWL3Wcd3I.png)
プレイヤーを感知する視野を設定(視野角240度)ーRaycast_EventSight_SearchPlayer_240deg
![](https://assets.st-note.com/img/1716463730361-3J5fyTcAaH.png)
プレイヤーを感知する視野を設定(視野角360度)ーRaycast_EventSight_SearchPlayer_360deg
![](https://assets.st-note.com/img/1716463762310-XxcAvGMAWA.png)
レイキャストを可視化(デバッグ用)ーRaycast_ActivateDebugMode
![](https://assets.st-note.com/img/1716464774647-G4wDzquSh0.png)
![](https://assets.st-note.com/img/1716464958908-kRYMPxGLhn.png)
<グラフィックに関するコマンド>
色を変更ーChangeColor
![](https://assets.st-note.com/img/1716466130978-GR5PFQW9Iz.png)
![](https://assets.st-note.com/img/1716466113732-sS1X59qCKs.png)
R:赤 G:緑 B:青 A:透明度
Aは値が大きいほど不透明になります。
色を変更(16進数)ーChangeColor_Hexadecimal
![](https://assets.st-note.com/img/1716465927000-jKTWjxpFZO.png)
![](https://assets.st-note.com/img/1716466023520-FKhDRWq0XN.png)
変更した色をデフォルトに戻すーResetColor
![](https://assets.st-note.com/img/1716466300453-grldFtJUr8.png)
透明度を設定ーAlphaBlending
![](https://assets.st-note.com/img/1716466533704-qzHi2F3CmU.png)
![](https://assets.st-note.com/img/1716466506190-9m7Exk0RYa.png)
地形・物体に隠れた際にシルエットを表示ーStencil
![](https://assets.st-note.com/img/1716466777354-sgWm4zWloa.png)
![](https://assets.st-note.com/img/1716466815950-WPv3v4EMUc.png)
![](https://assets.st-note.com/img/1716466868291-IisyUdvHPq.png)
プレイヤーまでの間に線を描画ーDrawLine
![](https://assets.st-note.com/img/1716467041965-iN2qQUiUCX.png)
![](https://assets.st-note.com/img/1716467071467-6lpNYGdu8C.png?width=1200)
<カメラに関するコマンド>
画面内に存在するかを調べるーIsVisible
![](https://assets.st-note.com/img/1716467885974-7m4ZIRSnzm.png)
引数に設定した名前のイベントが画面内に存在するかを調べるーIsVisibleCheckFromName
![](https://assets.st-note.com/img/1716468109759-c41IlsdsPs.png)
<距離計算に関するコマンド>
プレイヤーとの三次元距離を計算ーDistance3D
![](https://assets.st-note.com/img/1716468363479-xzNN3dhCzO.png)
プレイヤーとの二次元距離を計算ーDistance2D
![](https://assets.st-note.com/img/1716468405590-EqKEubEC1f.png)
引数の名前のイベントまでの三次元距離を計算ーDistance3D_E2E
![](https://assets.st-note.com/img/1716468667753-CCcqzVp5Pz.png)
引数の名前のイベントまでの二次元距離を計算ーDistance2D_E2E
![](https://assets.st-note.com/img/1716469062224-NWBEAqr3dR.png)
<ベクトル計算に関するコマンド>
三次元正規化ベクトルのX成分を計算ーNormalizedVector3D_X
![](https://assets.st-note.com/img/1716469566943-smkmfr5POW.png)
三次元正規化ベクトルのZ成分を計算ーNormalizedVector3D_Z
![](https://assets.st-note.com/img/1716469687489-P2EnoZNXJk.png)
三次元正規化ベクトルのY成分を計算ーNormalizedVector3D_Y
![](https://assets.st-note.com/img/1716470146923-734tkFBY6I.png)
二次元正規化ベクトルのX成分を計算ーNormalizedVector2D_X
![](https://assets.st-note.com/img/1716470205593-rngWjuZRYW.png)
二次元正規化ベクトルのZ成分を計算ーNormalizedVector2D_Z
![](https://assets.st-note.com/img/1716470245076-2sfv6Zl41q.png)
引数の名前のイベントまでの三次元正規化ベクトルのX成分を計算ーNormalizedVector3D_E2E_X
![](https://assets.st-note.com/img/1716470465929-edYIudHfDb.png)
引数の名前のイベントまでの三次元正規化ベクトルのZ成分を計算ーNormalizedVector3D_E2E_Z
![](https://assets.st-note.com/img/1716470500231-IItBjHsPld.png)
引数の名前のイベントまでの三次元正規化ベクトルのY成分を計算ーNormalizedVector3D_E2E_Y
![](https://assets.st-note.com/img/1716470538094-J7vqeOH48m.png)
引数の名前のイベントまでの二次元正規化ベクトルのX成分を計算ーNormalizedVector2D_E2E_X
![](https://assets.st-note.com/img/1716470608574-HJKEEmAOgg.png)
引数の名前のイベントまでの二次元正規化ベクトルのZ成分を計算ーNormalizedVector2D_E2E_Z
![](https://assets.st-note.com/img/1716470696030-uA9N2kXU1x.png)
プレイヤーの向きの正規化ベクトルX成分を取得ーGetPlayerForwardVector_X
![](https://assets.st-note.com/img/1716470784248-O8VnfB3AQT.png)
プレイヤーの向きの正規化ベクトルZ成分を取得ーGetPlayerForwardVector_Z
![](https://assets.st-note.com/img/1716470839843-dDzzY9jKVG.png)
このイベントの向きの正規化ベクトルX成分を取得ーGetCastEventForwardVector_X
![](https://assets.st-note.com/img/1716470911067-fLTBgiyUHF.png)
このイベントの向きの正規化ベクトルZ成分を取得ーGetCastEventForwardVector_Z
![](https://assets.st-note.com/img/1716470942949-kIibC7B9iK.png)
<角度計算に関するコマンド>
水平角度を計算ーHorizontalAngle
![](https://assets.st-note.com/img/1716471166278-X4HjZeTKcg.png)
引数の名前のイベントまでの水平角度を計算ーHorizontalAngle_E2E
![](https://assets.st-note.com/img/1716471238286-2dI175qRB8.png)
引数の名前のイベントからの水平角度を計算ーHorizontalAngle_E2E_Inverse
![](https://assets.st-note.com/img/1716471308840-s3eQjYf423.png)
垂直角度を計算ーVerticalAngle
![](https://assets.st-note.com/img/1716471348086-E4yS3VnkAu.png)
引数の名前のイベントまでの垂直角度を計算ーVerticalAngle_E2E
![](https://assets.st-note.com/img/1716471414811-epJ2lTUoFX.png)
引数の名前のイベントからの垂直角度を計算ーVerticalAngle_E2E_Inverse
![](https://assets.st-note.com/img/1716471484474-VMzqAeZIiq.png)
<デバッグ用のコマンド>
イベントの名前・座標・向き角度・プレイヤーとの三次元距離を画面上に表示ーDebug_CheckThisEventInfo
![](https://assets.st-note.com/img/1716472068160-AKFKYF2boh.png)
![](https://assets.st-note.com/img/1716472097739-40ktlszNGv.png?width=1200)