diff --git a/AGENTS.md b/AGENTS.md deleted file mode 100644 index 56a72099..00000000 --- a/AGENTS.md +++ /dev/null @@ -1,219 +0,0 @@ -# EG 项目概览与开发指南 - -## 项目简介 - -EG 是一个基于 Panda3D 引擎开发的 3D 编辑器和游戏引擎,集成了高级渲染管线、VR 支持、物理模拟、脚本系统等功能。该项目主要用于创建 3D 场景、游戏开发和交互式应用程序。 - -## 核心技术栈 - -- **渲染引擎**: Panda3D 1.10.15 + RenderPipeline (延迟渲染、PBR材质) -- **GUI框架**: PyQt5 + imgui_bundle (用于编辑器界面) -- **VR支持**: OpenVR 2.2.0 -- **脚本系统**: Python 3.10.12 -- **其他依赖**: PyQt5-WebEngine, assimp, pillow 等 - -## 项目架构 - -### 核心模块 - -- **main.py** - 应用程序入口点,初始化所有系统 -- **Start_Run.py** - 启动脚本,设置环境变量和路径 -- **core/** - 核心功能模块 - - `world.py` - 世界管理器,处理场景渲染和更新 - - `selection.py` - 选择系统,处理对象选择 - - `event_handler.py` - 事件处理系统 - - `tool_manager.py` - 工具管理器 - - `script_system.py` - 脚本系统 - - `patrol_system.py` - 巡逻系统 - - `Command_System.py` - 命令系统 - - `terrain_manager.py` - 地形管理 - - `vr_manager.py` - VR 功能管理 - - `collision_manager.py` - 碰撞检测管理 - - `resource_manager.py` - 资源管理 - - `assembly_interaction.py` - 装配交互 - - `maintenance_gui.py` - 维护界面 - - `render_pipeline_utils.py` - 渲染管线工具 - - `InfoPanelManager.py` - 信息面板管理 - - `CustomMouseController.py` - 自定义鼠标控制器 - -### GUI 系统 - -- **gui/gui_manager.py** - GUI管理器,处理2D/3D界面元素 -- **ui/icon_manager.py** - 图标管理器 - -### 场景管理 - -- **scene/scene_manager.py** - 场景管理器,处理模型导入、场景树构建 -- **scene/util.py** - 场景工具函数 - -### 项目管理 - -- **project/project_manager.py** - 项目管理器,处理项目创建、保存、加载 - -### 脚本系统 - -- **scripts/** - 包含各种预定义脚本 - - `MoverScript.py` - 移动脚本 - - `RotatorScript.py` - 旋转脚本 - - `ScalerScript.py` - 缩放脚本 - - `ColorChangerScript.py` - 颜色变化脚本 - - `FollowerScript.py` - 跟随脚本 - - `BouncerScript.py` - 弹跳脚本 - - `ComboAnimatorScript.py` - 组合动画脚本 - -### VR 系统 - -- **vr_actions/** - VR动作配置 - - `actions.json` - VR动作定义 - - `bindings_*.json` - 不同VR设备的绑定配置 - -### 资源管理 - -- **Resources/** - 资源目录 - - `models/` - 3D模型 - - `textures/` - 纹理贴图 - - `materials/` - 材质文件 - - `animations/` - 动画文件 - - `icons/` - 图标资源 - -### 渲染管线 - -- **RenderPipelineFile/** - 高级渲染管线 - - `rpcore/` - 渲染管线核心 - - `rpplugins/` - 渲染插件 - - `effects/` - 后处理效果 - - `config/` - 渲染配置 - -## 启动和运行 - -### 环境要求 - -- Python 3.10.12 -- Panda3D 1.10.15 -- PyQt5 5.15.9 -- OpenVR 2.2.0 (VR功能) - -### 运行方式 - -1. **直接运行主程序**: - ```bash - python Start_Run.py - ``` - -2. **带项目路径运行**: - ```bash - python Start_Run.py /path/to/project - ``` - -3. **从main.py运行**: - ```bash - python main.py - ``` - -### 配置文件 - -- **config/vr_settings.json** - VR渲染配置 -- **imgui.ini** - ImGui界面配置 -- **.gitignore** - Git忽略文件配置 - -## 开发约定 - -### 代码风格 - -- 使用UTF-8编码 -- 遵循PEP 8代码规范 -- 类名使用驼峰命名法 -- 函数和变量使用下划线命名法 -- 文件头部包含模块说明和导入信息 - -### 脚本开发 - -- 所有用户脚本应继承 `ScriptBase` 类 -- 脚本文件放在 `scripts/` 目录下 -- 使用 `ScriptManager` 管理脚本生命周期 -- 脚本API通过 `world` 对象提供 - -### 插件开发 - -- 插件系统支持动态加载 -- 插件配置文件使用JSON格式 -- 插件应实现标准接口 - -### VR开发 - -- VR动作配置在 `vr_actions/actions.json` 中定义 -- 支持多种VR设备(Vive、Oculus、Index) -- VR渲染配置在 `config/vr_settings.json` 中 - -## 构建和部署 - -### 依赖安装 - -```bash -pip install -r requirements/requirements.txt -``` - -### 测试 - -项目包含多个测试脚本: -- `test_quick_script.py` - 快速测试脚本 -- `TestMover.py` - 移动测试 -- `TestRotator.py` - 旋转测试 -- `TestScaler.py` - 缩放测试 - -### 项目文件 - -- 项目配置使用JSON格式 -- 项目文件包含场景、资源、脚本等信息 -- 使用 `ProjectManager` 管理项目生命周期 - -## 常见问题 - -### VR相关问题 - -1. 确保VR设备已正确连接 -2. 检查OpenVR运行时是否安装 -3. 验证VR动作配置是否正确 - -### 渲染问题 - -1. 检查显卡驱动是否最新 -2. 确认RenderPipeline配置正确 -3. 验证材质和纹理路径 - -### 性能优化 - -1. 使用合适的LOD设置 -2. 优化场景复杂度 -3. 调整渲染质量设置 - -## 扩展开发 - -### 添加新脚本 - -1. 在 `scripts/` 目录创建新脚本文件 -2. 继承 `ScriptBase` 类 -3. 实现必要的方法 -4. 通过 `ScriptManager` 注册脚本 - -### 添加新工具 - -1. 在 `core/tool_manager.py` 中注册新工具 -2. 实现工具逻辑 -3. 添加GUI界面元素 - -### 添加新渲染效果 - -1. 在 `RenderPipelineFile/rpplugins/` 目录创建插件 -2. 实现渲染逻辑 -3. 添加配置选项 - -## 联系和支持 - -- 项目Git仓库: http://10.0.0.99:4000/Rowland/EG.git -- 当前分支: imgui -- 最新提交: 移除qt依赖 (33e62bd1e4c2c8d3aac15e045b419edb8992d7ff) - ---- - -*该文档由iFlow CLI自动生成,最后更新时间: 2026年1月28日* \ No newline at end of file