添加脚本
This commit is contained in:
parent
1a92f12dfd
commit
0a1abebe24
30
build_kylin.sh
Executable file
30
build_kylin.sh
Executable file
@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Building EG_Engine with PyInstaller..."
|
||||
/home/hello/.local/bin/pyinstaller --onedir --windowed --name=EG_Engine \
|
||||
--exclude-module pyassimp \
|
||||
--add-data="RenderPipelineFile:RenderPipelineFile" \
|
||||
--add-data="QPanda3D:QPanda3D" \
|
||||
--add-data="core:core" \
|
||||
--add-data="gui:gui" \
|
||||
--add-data="ui:ui" \
|
||||
--add-data="scene:scene" \
|
||||
--add-data="project:project" \
|
||||
--add-data="demo:demo" \
|
||||
--add-data="plugins:plugins" \
|
||||
--add-data="scripts:scripts" \
|
||||
--hidden-import=PyQt5.sip \
|
||||
--hidden-import=panda3d.core \
|
||||
main.py
|
||||
|
||||
echo "Creating run.sh script in dist/EG_Engine/"
|
||||
cat > dist/EG_Engine/run.sh << 'EOF'
|
||||
cd ..
|
||||
cd ..
|
||||
python3.10 main.py "$@"
|
||||
EOF
|
||||
|
||||
echo "Making run.sh executable"
|
||||
chmod +x dist/EG_Engine/run.sh
|
||||
|
||||
echo "Build completed!"
|
||||
30
build_linux.sh
Executable file
30
build_linux.sh
Executable file
@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Building EG_Engine with PyInstaller..."
|
||||
pyinstaller --onedir --windowed --name=EG_Engine \
|
||||
--exclude-module pyassimp \
|
||||
--add-data="RenderPipelineFile:RenderPipelineFile" \
|
||||
--add-data="QPanda3D:QPanda3D" \
|
||||
--add-data="core:core" \
|
||||
--add-data="gui:gui" \
|
||||
--add-data="ui:ui" \
|
||||
--add-data="scene:scene" \
|
||||
--add-data="project:project" \
|
||||
--add-data="demo:demo" \
|
||||
--add-data="plugins:plugins" \
|
||||
--add-data="scripts:scripts" \
|
||||
--hidden-import=PyQt5.sip \
|
||||
--hidden-import=panda3d.core \
|
||||
main.py
|
||||
|
||||
echo "Creating run.sh script in dist/EG_Engine/"
|
||||
cat > dist/EG_Engine/run.sh << 'EOF'
|
||||
cd ..
|
||||
cd ..
|
||||
python3 main.py "$@"
|
||||
EOF
|
||||
|
||||
echo "Making run.sh executable"
|
||||
chmod +x dist/EG_Engine/run.sh
|
||||
|
||||
echo "Build completed!"
|
||||
12
build_windows.bat
Executable file
12
build_windows.bat
Executable file
@ -0,0 +1,12 @@
|
||||
@echo off
|
||||
set PYTHONPATH=%~dp0_internal
|
||||
pyinstaller --onedir --windowed --name=EG_Engine --exclude-module pyassimp --add-data="RenderPipelineFile;RenderPipelineFile" --add-data="QPanda3D;QPanda3D" --add-data="core;core" --add-data="gui;gui" --add-data="ui;ui" --add-data="scene;scene" --add-data="project;project" --add-data="demo;demo" --add-data="plugins;plugins" --add-data="scripts;scripts" --hidden-import=PyQt5.sip --hidden-import=panda3d.core main.py
|
||||
|
||||
echo @echo off > dist\EG_Engine\run.bat
|
||||
echo set PYTHONPATH=%%~dp0_internal >> dist\EG_Engine\run.bat
|
||||
echo cd .. >> dist\EG_Engine\run.bat
|
||||
echo cd .. >> dist\EG_Engine\run.bat
|
||||
echo python main.py >> dist\EG_Engine\run.bat
|
||||
echo pause >> dist\EG_Engine\run.bat
|
||||
|
||||
pause
|
||||
@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 清空或创建结果文件
|
||||
echo "" > results.txt
|
||||
|
||||
# 读取一级目录列表并逐个统计代码行数
|
||||
while read dir; do
|
||||
if [ -d "$dir" ] && [ "$(dirname "$dir")" = "." ]; then
|
||||
echo "Processing $dir..."
|
||||
echo "统计的是文件夹: $dir" >> results.txt
|
||||
# 使用 cloc 统计代码行数,并将结果追加到文件中
|
||||
cloc "$dir" >> results.txt
|
||||
echo "----------------------------------------" >> results.txt
|
||||
fi
|
||||
done < directories.txt
|
||||
|
||||
echo "统计完成,结果已保存到 results.txt"
|
||||
21
project/project_manager.py
Normal file → Executable file
21
project/project_manager.py
Normal file → Executable file
@ -469,12 +469,23 @@ class ProjectManager:
|
||||
success = self._executeStandardBuild(build_dir, parent_window)
|
||||
|
||||
if success:
|
||||
# 创建run.sh文件
|
||||
run_sh_path = os.path.join(build_dir, "run.sh")
|
||||
|
||||
try:
|
||||
with open(run_sh_path, "w") as f:
|
||||
f.write("#!/bin/bash\n")
|
||||
f.write("python3 main.py \"$@\"\n")
|
||||
|
||||
# 添加执行权限
|
||||
import stat
|
||||
st = os.stat(run_sh_path)
|
||||
os.chmod(run_sh_path, st.st_mode | stat.S_IEXEC)
|
||||
except Exception as e:
|
||||
print(f"创建run.sh文件失败: {str(e)}")
|
||||
|
||||
QMessageBox.information(parent_window, "成功",
|
||||
"打包完成!\n可执行文件在 build/dist/ 目录中。\n"
|
||||
"支持的格式:\n"
|
||||
"- Windows: .exe 安装程序\n"
|
||||
"- Linux: .tar.gz 压缩包\n"
|
||||
"- 通用: .zip 压缩包")
|
||||
"打包完成!\n可执行文件在 build 目录中。\n")
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
73
results.txt
73
results.txt
@ -1,73 +0,0 @@
|
||||
✦ 3D引擎通常包含以下类型的插件:
|
||||
|
||||
1. 渲染插件
|
||||
- 高级渲染管线(如PBR、延迟渲染)
|
||||
- 后处理效果(Bloom、SSAO、HDR等)
|
||||
- 阴影系统优化
|
||||
- 多光源渲染管理
|
||||
|
||||
2. 物理插件
|
||||
- 刚体动力学(Bullet、PhysX)
|
||||
- 软体物理和布料模拟
|
||||
- 流体动力学
|
||||
- 碰撞检测系统
|
||||
|
||||
3. 动画插件
|
||||
- 骨骼动画系统
|
||||
- Morphing和变形动画
|
||||
- 粒子系统
|
||||
- 程序化动画
|
||||
|
||||
4. AI插件
|
||||
- 寻路和导航网格
|
||||
- 行为树和状态机
|
||||
- 路径规划算法
|
||||
- 群体智能(如鸟群、鱼群)
|
||||
|
||||
5. 音频插件
|
||||
- 3D空间音效
|
||||
- 音频混响和效果
|
||||
- 动态音乐系统
|
||||
- 语音识别和合成
|
||||
|
||||
6. UI插件
|
||||
- 2D/3D用户界面系统
|
||||
- 触摸和手势识别
|
||||
- 动态界面布局
|
||||
- 主题和样式管理
|
||||
|
||||
7. 地形和环境插件
|
||||
- 程序化地形生成
|
||||
- 天气和季节系统
|
||||
- 植被分布和生态模拟
|
||||
- 水体和流体模拟
|
||||
|
||||
8. 输入和控制插件
|
||||
- 多平台输入支持
|
||||
- 手柄和VR控制器
|
||||
- 触觉反馈系统
|
||||
- 语音控制
|
||||
|
||||
9. 网络和多人游戏插件
|
||||
- 网络同步
|
||||
- 服务器架构
|
||||
- 实时通信
|
||||
- 匹配系统
|
||||
|
||||
10. 工具和编辑器插件
|
||||
- 关卡编辑器
|
||||
- 资源管理工具
|
||||
- 调试和性能分析
|
||||
- 版本控制集成
|
||||
|
||||
11. 平台特定插件
|
||||
- 移动平台优化
|
||||
- VR/AR支持
|
||||
- 主机平台适配
|
||||
- WebGL导出
|
||||
|
||||
12. 数据和存储插件
|
||||
- 存档系统
|
||||
- 云端同步
|
||||
- 数据库集成
|
||||
- 配置管理
|
||||
35
tox.ini
35
tox.ini
@ -1,35 +0,0 @@
|
||||
[tox]
|
||||
envlist = py310
|
||||
|
||||
[testenv]
|
||||
deps =
|
||||
pytest
|
||||
pytest-qt
|
||||
PyQt5>=5.15.9
|
||||
PySide6>=6.8.1
|
||||
Panda3D>=1.10.15
|
||||
commands =
|
||||
pytest demo/quick_script_test.py
|
||||
|
||||
[testenv:lint]
|
||||
deps =
|
||||
flake8
|
||||
commands =
|
||||
flake8 core/ demo/ scripts/
|
||||
|
||||
[testenv:coverage]
|
||||
deps =
|
||||
pytest
|
||||
pytest-cov
|
||||
PyQt5>=5.15.9
|
||||
PySide6>=6.8.1
|
||||
Panda3D>=1.10.15
|
||||
commands =
|
||||
pytest --cov=core --cov=demo --cov=scripts
|
||||
|
||||
[testenv:memory]
|
||||
deps =
|
||||
memory-profiler
|
||||
Panda3D>=1.10.15
|
||||
commands =
|
||||
python -m memory_profiler memory_test_example.py
|
||||
@ -1176,11 +1176,19 @@ class MainWindow(QMainWindow):
|
||||
# 帮助菜单
|
||||
self.helpMenu = menubar.addMenu('帮助')
|
||||
self.aboutAction = self.helpMenu.addAction('关于')
|
||||
self.aboutAction.triggered.connect(self.showAboutDialog)
|
||||
|
||||
tool_menu = self.menuBar().addMenu("配置")
|
||||
plugin_config_action = tool_menu.addAction("渲染管线插件配置")
|
||||
plugin_config_action.triggered.connect(self.open_plugin_config_dialog)
|
||||
|
||||
def showAboutDialog(self):
|
||||
msgBox = QMessageBox()
|
||||
msgBox.setWindowTitle("关于")
|
||||
msgBox.setText(f'元泰引擎系统\nMetaCore\n版本:v1.0')
|
||||
msgBox.setIcon(QMessageBox.NoIcon)
|
||||
msgBox.exec_()
|
||||
|
||||
def open_plugin_config_dialog(self):
|
||||
"""打开插件配置对话框"""
|
||||
try:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user