EG/README.md
Rowland 72819341ef docs(README): 添加项目README文档
- 创建详细的README文档,介绍项目功能、架构、使用方法等
- 新增.pyc文件和目录,用于缓存编译后的Python代码
- 添加.lingma规则文件,用于代码格式检查
- 删除ALVR串流处理器代码,准备替换为OpenXR输入处理器
- 新增OpenXR输入处理器代码,处理VR控制器输入
2025-07-29 17:46:08 +08:00

4.4 KiB
Raw Blame History

EG - 3D编辑器与游戏引擎

EG是一个功能强大的3D编辑器和游戏引擎基于Panda3D和PyQt5构建提供直观的可视化编辑功能和VR支持。该引擎适用于游戏开发、3D可视化和交互式应用程序创建。

功能特性

核心功能

  • 3D场景编辑与管理:完整的场景编辑工具集
  • 模型导入与处理支持多种3D模型格式导入
  • 材质系统:高级材质编辑和管理
  • 光照系统:环境光、定向光、聚光灯和点光源
  • 相机控制系统:灵活的相机操作和视角控制
  • 场景保存与加载BAM格式场景保存和恢复

编辑器功能

  • 对象选择与变换:精确的对象选择和变换工具
  • 坐标轴拖拽控制直观的3D变换控制
  • 属性面板编辑:实时编辑对象属性
  • 场景树管理:层次化场景结构管理
  • 材质编辑器:可视化材质编辑
  • 日夜循环系统:动态光照和环境变化

GUI系统

  • 2D GUI元素:按钮、标签、输入框、滑块等
  • 3D空间GUI3D文本和虚拟屏幕
  • GUI编辑模式可视化GUI布局编辑
  • 事件处理系统GUI交互事件响应

VR支持

  • VR系统集成完整的VR环境支持
  • VR控制器输入处理:精确的控制器输入识别
  • ALVR串流支持无线VR体验
  • 触觉反馈:增强沉浸感的触觉反馈
  • VR手势识别:自然的手势交互

脚本系统

  • Python脚本热重载:实时脚本更新无需重启
  • 脚本模板创建:快速创建新脚本
  • 对象脚本管理:为游戏对象添加行为脚本
  • 脚本调试支持:内置调试功能

项目管理

  • 项目创建与保存:完整的项目管理功能
  • 资源管理:统一的资源导入和管理
  • 项目打包:一键打包发布项目

系统架构

核心模块

  • core/world.py - 核心世界管理,集成所有子系统
  • core/event_handler.py - 输入事件处理系统
  • core/selection.py - 对象选择和变换系统
  • core/tool_manager.py - 编辑工具管理
  • core/script_system.py - Python脚本系统
  • core/vr_manager.py - VR系统管理
  • core/vr_input_handler.py - VR输入处理
  • core/alvr_streamer.py - ALVR串流支持

子系统

  • scene/scene_manager.py - 场景管理系统
  • gui/gui_manager.py - GUI系统管理
  • ui/ - 用户界面组件
    • ui/main_window.py - 主窗口设置
    • ui/property_panel.py - 属性面板
    • ui/widgets.py - 自定义UI组件
    • ui/interface_manager.py - 界面管理
  • project/project_manager.py - 项目管理系统

快速开始

系统要求

  • Python 3.7+
  • Panda3D
  • PyQt5
  • 支持OpenGL的显卡

依赖安装

pip install -r requirements.txt

运行编辑器

python main.py

基本操作

  • 鼠标左键:选择对象
  • 鼠标右键:旋转视角
  • 鼠标中键:平移视角
  • 滚轮:缩放视角
  • WASD:在场景中移动
  • 数字键1-0:切换不同时间点
  • F键:聚焦选中对象
  • Delete键:删除选中对象

编辑器使用指南

导入模型

  1. 点击"文件" > "导入模型"
  2. 选择支持的3D模型文件
  3. 调整模型位置和属性

场景编辑

  1. 使用选择工具选中对象
  2. 通过属性面板修改对象属性
  3. 使用变换工具(移动、旋转、缩放)调整对象

GUI创建

  1. 进入GUI编辑模式
  2. 选择GUI元素类型
  3. 点击场景放置GUI元素
  4. 通过属性面板调整GUI属性

VR模式

  1. 连接VR设备
  2. 点击"VR" > "启用VR模式"
  3. 使用VR控制器进行交互

脚本编辑

  1. 点击"脚本" > "创建新脚本"
  2. 编写Python脚本代码
  3. 将脚本附加到场景对象

开发指南

架构概述

EG采用模块化设计核心功能通过MyWorld类集成各个子系统。所有子系统都通过代理方法暴露功能使API保持一致性。

添加新功能

  1. 在相应目录下创建新模块
  2. MyWorld类中添加代理方法
  3. 通过子系统管理器集成功能

扩展VR功能

  1. 修改vr_manager.py添加新功能
  2. 更新vr_input_handler.py处理新输入
  3. alvr_streamer.py中添加串流支持

创建自定义工具

  1. tool_manager.py中添加新工具类型
  2. 实现工具的交互逻辑
  3. 在UI中添加工具选择按钮

贡献

欢迎提交Pull Request或Issue报告问题。贡献前请先查看贡献指南。

许可证

MIT License