English version: README_EN.md
ProjectRPG 是一个基于 Unity 6 的 2D RPG 项目,重点在于把剧情演出与任务推进流程做成可视化、低代码、可复用的制作管线。
- 剧情驱动:以剧情演出、分支选择、阵营路线和结局变化为主线。
- 策划友好:将大量流程沉淀为 NodeCanvas 对话树和可配置节点。
- 低代码工作流:文本剧本 + 可视化图编排 + 少量定制节点联动战斗与镜头。
- 可视化剧情编排(NodeCanvas DialogueTree)
- 场景中使用
DialogueTreeController驱动流程。 - 支持条件分支、动作节点、批量对白节点、任务状态判断。
- 场景中使用
- 批量对白节点(
BatchSayNode)- 支持直接读取
TextAsset(TXT)并逐行播放。 - 支持
//角色名语法切换说话者。 - 支持按阵营状态自动切换多版本对白(Executor / Controller 分支)。
- 支持直接读取
- 自定义剧情节点(
Assets/ParadoxNotion/Scripts/RPGDialogue)StartBattleNode:从剧情树直接拉起战斗并配置奖励。JoinFunctionNode/CheckFunctionCondition:控制阵营加入与条件判断。CompleteTaskNode/CheckTaskCondition:任务推进标记与检测。SetPlayerMove、SetCameraUpdate、ChangeCharacter、AddPartyMemberNode:演出控制节点。
- 文本转资产工具(Unity Editor)
Tools/Dialog Importer(DialogImporterWindow):将 TXT 转为DialogScriptableObject,支持头像和 closing message。
- 构建辅助工具
Tools/Generate Level List(BuildSceneListGenerator):自动从 Build Settings 生成关卡列表资源。
- RPG 基础系统
- 任务/事件系统(Quest/Event)
- 战斗、道具、队伍、商店、存档(多槽位)等基础循环
- 场景:
Assets/Scenes下 20 个.unity场景 - 对话文本:
Assets/Data/Dialogs/TXT下 78 个.txt文件 - 自定义 RPG 对话节点:
Assets/ParadoxNotion/Scripts/RPGDialogue下 14 个 C# 文件
Assets/
Data/
Dialogs/TXT/ # 剧情文本(按任务与路线划分)
Tree/BB/@GlobalBlackboard.prefab
ParadoxNotion/Scripts/RPGDialogue/
# NodeCanvas 自定义对话任务/条件/节点
Scripts/
Core/ # GameManager/BattleManager 等核心管理器
Gameplay/ # 相机、场景对象、RPG Kit 逻辑
Editor/ # 对话导入、构建辅助工具
Scenes/ # 关卡与剧情场景
Packages/
ProjectSettings/
- Unity:
6000.2.8f1 - Render Pipeline:URP (
com.unity.render-pipelines.universal) - 关键依赖:NodeCanvas(ParadoxNotion)、2D RPG Kit 资产、Unity Input System
- 使用 Unity Hub 安装并打开
6000.2.8f1。 - 打开本项目根目录。
- 从
Assets/Scenes/TitleScreen.unity启动 Play Mode。 - 如需构建,检查
ProjectSettings/EditorBuildSettings.asset场景顺序。
- 在
Assets/Data/Dialogs/TXT编写剧情文本,使用//角色名标记说话者。 - 二选一:
- 直接在
BatchSayNode里引用 TXTTextAsset。 - 或通过
Tools/Dialog Importer生成Dialog资产用于 NPC 对话系统。
- 直接在
- 在场景的
DialogueTreeController中拖拽节点拼接流程。 - 用
CheckTaskCondition/CheckFunctionCondition做分支。 - 用
StartBattleNode、镜头和角色控制节点衔接演出和玩法。 - 在
@GlobalBlackboard维护全局剧情变量。
- 应提交:
Assets/、Packages/、ProjectSettings/ - 不应提交:
Library/、Logs/、Temp/、Build/等生成目录(已由.gitignore处理)
本项目包含第三方插件与美术/代码资源(如 NodeCanvas、HeroEditor4D 等)。对外发布或商用前,请先确认各资源许可证与授权范围。