3D Plugin for RPG Maker MZ and MV (PNDK 3D)
(JP: 日本語での説明は下の方にあります)
Control: Arrow keys and Z and X keys
📺 Check out this getting started guide.
This plugin is also available in English environment. 👍
You can see other examples by talking to her.
🧩 RPGツクールMZ・MV向けの3Dゲーム開発用プラグイン(PNDK 3D)
このプラグインはRPGツクールで3Dゲームを作成できるようにすることを目標としています。(RPGに限りません)
このプラグインはまだまだ開発途中です。
そのため破壊的な変更がおこなわれたり、そもそも無かったことになったりするかもしれないのでご注意ください。
✨ 主な対応済み機能
- 基本的な3Dオブジェクトとカメラの制御
- 360°背景
- GLBモデルのインポート
- FBXモデルのインポート
- モデルアニメーションの制御
- 簡易マップ3D化機能
- バウンディングボックス衝突判定(AABB)と解決 [v 0.1.0にて対応]
- フォグ [v 0.2.0にて対応]
- 親子関係 [v 0.2.0にて対応]
- タイトル画面の3D対応 [v 0.3.2にて対応]
⏳ 対応予定
- ライティング
- ドロップシャドウ
- Oriented バウンディングボックス衝突判定(OBB)
- 3Dレイキャスト
- 3Dサウンド
- 複数カメラ(画面分割)
- アンチエイリアスなし(ドット絵向きテクスチャー)
- テクスチャのブレンドモード
- 「未使用ファイルを除外する」オプションへの対応
- カメラ位置を考慮した向きでキャラクター画像を表示
- 各種ヘルパー機能の追加
🪦 たぶん非対応予定
- ポストエフェクト(ブルーム効果など)
- 物理演算
- パーティクルシステム
- MV3DやMZ3Dのような高度なマップ3D化機能
🪅 導入手順
1.ダウンロードした PNDK_3D_0.0.0.zip ファイルを解凍して全てのファイルをpluginsフォルダ直下に配置してください。
ビックリするくらい多いですがコピーすればいいだけなので、落ち着いて作業してくださいw
なお、MZもMVも同じプラグインファイルで動作します。
- PNDK_3D.js
- PNDK_3D_BufferGeometryUtils
- PNDK_3D_Core.js
- PNDK_3D_FBXLoader.js
- PNDK_3D_fflate.module.js
- PNDK_3D_GLTFLoader.js
- PNDK_3D_NURBSCurve.js
- PNDK_3D_NURBSUtils.js
- PNDK_3D_SkeletonUtils.js
- PNDK_3D_three.module.min.js
2.ツクールの「プラグイン管理」で PNDK_3D.js を追加してください。(PNDK_3D.js だけでOK 👍)
3.頑張ってゲームを作ります。
📖 使い方
現状、マニュアルはありません。
以下の使い方動画を参考にしてください。
モデルが表示されないよぅ……という方は「よくある質問」ページもご覧ください。
🪄 しくみ
3Dシーンは2D(ツクール)より下のレイヤーに表示されます。
これにより従来のツクールの機能が、ほとんどそのまま利用できますたぶん。
💱 座標の違い
2DのY座標は3DだとZ座標になる点に注意してください。
🎥 カメラの撮影方向
カメラはローカル軸のマイナスZ方向を撮影しています。
📹 簡単カメラについて [NEW!]
「EasyCamera 簡単カメラ」コマンドでモードを選択するだけで、自動的にカメラが制御される機能です。
3Dダンジョンゲーム風の視点や、俯瞰視点が簡単に設定できます。
🌏 マップ3D化機能の制限について
どちらかというとオマケ的な機能なので、まだ色々と制限があります。
- オートタイルには対応していません。つまり使用できるのはA5(通常)とタイルセットBからEまでです。
- キャラクター(イベント)はカメラの位置を考慮しません。
- 最適化されていません。
その他にもあるので、やってみて効果が見られない場合は「あ、対応していないんだな」と思ってくださいw
将来的には改善されるかもしれません。
プレイヤー(アクター)のモデル名は「_Player」で、イベントのモデル名は「_Event[イベントID]」(例:_Event1)です。
スクリプトでモデル情報は取得できますが、コマンドで移動させようとしても、ツクール側の位置が優先されるので効果は無いことに注意してください。
📋 モデルズリストについて
ゲーム制作において、複数のオブジェクトをループ処理を用いて制御したいということは多々あると思います。
本プラグインには、そのようなループ処理を効率的に構築できるように「モデルズリスト」という機能が備えられています。
少し特異な機能なので、別ページで使い方を詳しく説明しています。
詳しくは「モデルズリストについて」ページをご覧ください。
📫 モデル変数について [NEW!]
各モデルが個別に保持できる変数です。
個々のライフや魔力、残弾数など、色々なことに利用できます。
また、セーブデータには保存されないことを利用して、3Dシーンの生成を管理することにも利用できます。
🥞 サンプルプロジェクトについて
RPGツクールで開くことのできるお手本用のプロジェクトファイルです。
MZならPNDK_3D_Example_MZ0.0.0.zipを、MVならPNDK_3D_Example_MV0.0.0.zipをご利用ください。
現状、プロジェクトファイルには次のようなマップが含まれています。
- Demo [Advanced Example]
- Create Plane and Box
- 2D Map to 3D
- EasyCamera [NEW!]
- First Person View
- Import 3D Model
- Collision Result
- Collision with Map [Experimental]
Collision- Parent-child Relationship
- ModelsList
- ModelVariable [NEW!]
- Supports "Save" [NEW!]
🎏 MZとMVの違いについて
今のところ機能的な差はありません。
ただし、MZのほうがコマンド入力が改善されているので、使いやすいと思います。
MVだとヘルプを見て使い方を察する必要があります😅
またコアスクリプトの関係上、MZのほうがパフォーマンスに優れます。
💖 おすすめの3Dソフトとかサービスとか
- Blockbench:ドット絵との相性が抜群にいい3Dモデリングツール。
- Sketchfab:3Dモデル共有プラットフォーム。ライセンスに注意。
- Quaternius • Free Game Assets:無料のローポリ3Dモデルを色々配布してる神。
- Skybox AI:実質有料化されてしまった360°背景用の正距円筒図法をAIが作成してくれるツール。
☕ 支援のお願い
このプラグインの開発を維持するためには、あなたの支援が必要です。
もし、このプラグインを気に入っていただけた場合は、サンプルプロジェクトのダウンロードをご検討ください。(サンプルプロジェクトはきっとあなたの役に立ちます 😉)
💁♀️ ユーザーサポートについて
不具合がありましたら、詳しい発生状況とともに掲示板などでお知らせいただけると助かります。
なお、使い方の質問など、個々のユーザーに対するユーザーサポートは期待しないでください。
趣味で空いた時間に開発しているだけなので、個々のユーザーをサポートするよりも、プラグインの発展に時間を費やしたほうが多くのユーザーに貢献できるためです。(需要があれば支援者用サポートを検討します)
Status | In development |
Category | Tool |
Platforms | HTML5 |
Rating | Rated 5.0 out of 5 stars (6 total ratings) |
Author | PANDAKO |
Made with | PixiJS, RPG Maker |
Code license | MIT License |
Average session | A few seconds |
Languages | English, Japanese |
Inputs | Keyboard, Mouse, Gamepad (any) |
Download
Click download now to get access to the following files: