70 lines
1.9 KiB
Markdown
70 lines
1.9 KiB
Markdown
# MetaCore
|
||
|
||
`MetaCore` 是一个基于 `Panda3D` 进行二次开发的 Unity-like 编辑器与引擎框架原型。
|
||
|
||
## 当前目标
|
||
|
||
- 以 `Panda3D` 作为底层引擎与运行时基础
|
||
- 以 `Dear ImGui Docking` 搭建 Unity-like 编辑器工作流
|
||
- 使用 `GameObject + Component` 模型组织编辑器语义层
|
||
- 先把 `Hierarchy / Scene / Inspector / Project / Console` 跑通
|
||
- 在不破坏主架构的前提下,以模块化方式持续叠加功能
|
||
|
||
## 技术栈
|
||
|
||
- `C++20`
|
||
- `CMake`
|
||
- `vcpkg`
|
||
- `Panda3D 1.10.16`
|
||
- `glm`
|
||
- `Dear ImGui Docking`
|
||
|
||
## 目录结构
|
||
|
||
- `Source/MetaCoreFoundation`:基础服务
|
||
- `Source/MetaCorePlatform`:Panda3D 宿主窗口与输入采集
|
||
- `Source/MetaCoreScene`:场景与对象模型
|
||
- `Source/MetaCoreRender`:Panda3D 场景桥与显示区域驱动
|
||
- `Source/MetaCoreEditor`:编辑器模块与 Unity-like 界面
|
||
- `Apps/MetaCoreEditor`:编辑器程序入口
|
||
- `Apps/MetaCorePlayer`:运行时壳层入口
|
||
- `tests`:基础烟雾测试
|
||
|
||
## 构建
|
||
|
||
前提:
|
||
|
||
- 已安装 `vcpkg`
|
||
- 已设置环境变量 `VCPKG_ROOT`
|
||
- Windows 环境可联网时,`cmake configure` 会自动准备 `Panda3D 1.10.16` SDK
|
||
- 如果已经本地安装 Panda3D,可设置环境变量 `PANDA3D_ROOT`
|
||
|
||
```powershell
|
||
cmake --preset vs2022-debug
|
||
cmake --build --preset build-debug
|
||
ctest --preset test-debug
|
||
```
|
||
|
||
如果希望生成更适合分发的可执行文件,可使用:
|
||
|
||
```powershell
|
||
cmake --preset vs2022-release
|
||
cmake --build --preset build-release
|
||
```
|
||
|
||
## 当前完成内容
|
||
|
||
- Panda3D 单窗口宿主
|
||
- ImGui Docking 编辑器外壳
|
||
- Panda3D 中央场景 DisplayRegion
|
||
- 网格、坐标轴、立方体绘制
|
||
- `Hierarchy` 选择
|
||
- `Inspector` 中编辑 `Transform`
|
||
- `Alt+左键 / 中键 / 滚轮 / F` 相机交互
|
||
- 模块注册接口与内置编辑器模块
|
||
|
||
## 技术支持连接
|
||
|
||
https://github.com/CedricGuillemet/ImGuizmo
|
||
|
||
https://docs.panda3d.org/1.9/cpp/programming/using-cpp/index |