Files
shooter-demo/client-cocos/BUILD_PHYSICS_GUIDE.md
2025-11-28 18:10:10 +08:00

2.4 KiB

Pinball Physics 构建指南

这个脚本用于构建物理引擎并生成客户端所需的 WASM 和 asm.js 文件。

使用方法

# 在 client-cocos 目录下运行

# 构建 debug 版本(默认)
build-physics.bat

# 或显式指定 debug
build-physics.bat debug

# 构建 release 版本(推荐用于生产环境)
build-physics.bat release

构建流程

  1. 编译物理引擎

    • 进入 ../pinball-physics 目录
    • 执行 cargo build --target wasm32-unknown-unknown [--release]
  2. 拷贝 WASM 文件

    • 源文件: ../pinball-physics/target/wasm32-unknown-unknown/[模式]/pinball_physics.wasm
    • 目标文件: assets/wasm/pinball_physics.bin
  3. 生成 asm.js

    • 使用 ../tools/emscripten/gen-asm.bat 工具
    • 输出: assets/wasm/pinball_physics.js

输出文件

构建完成后,会在 assets/wasm/ 目录下生成:

  • pinball_physics.bin - WebAssembly 二进制文件
  • pinball_physics.js - asm.js 文件(用于兼容性)

前置要求

  1. Rust 环境

    # 安装 Rust
    # 访问 https://rustup.rs/
    
    # 添加 WebAssembly 目标
    rustup target add wasm32-unknown-unknown
    
  2. Emscripten 环境

    # 安装 Emscripten
    tools\emscripten\install.bat
    

故障排除

常见错误

  1. 未找到 Rust 编译器

    • 确保已安装 Rust
    • 检查 PATH 环境变量
  2. 未找到物理引擎项目

    • 确保在正确的目录运行脚本
    • 检查 ../pinball-physics/Cargo.toml 是否存在
  3. Emscripten 转换失败

    • 确保已运行 tools\emscripten\install.bat
    • 检查 Emscripten 环境是否正确设置
  4. 权限错误

    • 确保对输出目录有写权限
    • 尝试以管理员身份运行

调试技巧

  • 查看详细的错误信息和文件路径
  • 检查各个步骤的输出文件是否正确生成
  • 验证文件大小是否合理

使用建议

  1. 开发阶段: 使用 debug 模式,编译速度更快
  2. 生产环境: 使用 release 模式,性能更好,文件更小
  3. 兼容性: asm.js 文件主要用于不支持 WebAssembly 的老旧浏览器

相关文件

  • ../pinball-physics/ - 物理引擎 Rust 项目
  • ../tools/emscripten/ - Emscripten 工具集
  • assets/wasm/ - 输出目录