iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0
Software Development

Unity黑科技揭秘:30個專業遊戲開發者必知的開發技巧系列 第 11

Unity Exe - 把Unity Build出來的文件壓縮成一個Exe檔案!

  • 分享至 

  • xImage
  •  

**原理: **

寫一個Python的檔案
然後使用Pyinstaller打包成一個EXE
如果Unity Build出來的程式裡面會有讀到Get Current Directory的話就會找不到
這時候可以放進Streaming Asset, 或是再用別的方式來讀取文件。

  1. 先創建這樣的資料夾結構:
    https://ithelp.ithome.com.tw/upload/images/20240823/20119470cZE9ZA4Jdi.png

  2. source 裡面放Unity Build 出來的程式:
    https://ithelp.ithome.com.tw/upload/images/20240823/20119470Y0v9nY3bqJ.png

Python Code:

import os
from traceback import format_exc
import subprocess
BASE_DIR = os.path.dirname(__file__)

try:
    process = subprocess.Popen(
          f'{BASE_DIR}/source/<exe-application-name>.exe',
          stdout=subprocess.PIPE,
          stderr=subprocess.PIPE)
    process.wait()

except:
    print(format_exc())
    input('error')

Pyinstaller (版本 pyinstaller==5.10.1)指令:

pyinstaller --onefile --clean --windowed --add-data="source;source" --icon=<name>.ico --name=<project-folder> run.py

這一行指令是用來使用PyInstaller將Python腳本run.py打包成單個可執行文件的命令
參數:

  1. pyinstaller: 呼叫PyInstaller打包工具。
  2. --onefile: 告訴PyInstaller將所有代碼和依賴項打包成單個可執行文件,而不是生成多個文件。
  3. --clean: 告訴PyInstaller在打包之前先清理先前的編譯結果。
  4. run.py: 指定要打包的Python腳本文件。
  5. --add-data=source;source: 告訴PyInstaller將source目錄中的文件添加到打包後的可執行文件中。這里的"source;source"表示原始文件的路徑和目標目錄的路徑相同。

關於PyInstaller的其他一些常用指令:

  • --windowed: 生成沒有控制台窗口的應用程序(無黑色cmd窗口)。
  • --icon=icon.ico: 設置應用程序的圖標,將**icon.ico**替換為你自己的圖標文件路徑。
  • --name=app_name: 設置打包後的可執行文件的名稱,將**app_name**替換為你想要的名稱。
  • --noconfirm: 在打包時不要求確認,適用於批處理打包。
  • --upx: 使用UPX壓縮可執行文件,以減小文件大小。
  • --debug: 啟用除錯模式,將打包過程中的詳細信息打印到控制台。

生成出來的程式會放在dist文件夾裡面:
https://ithelp.ithome.com.tw/upload/images/20240823/20119470kiMejq816R.png


上一篇
Unity 效率代碼 - 5個超好用的Utility Code Snippet !
下一篇
Unity Nuget - 解鎖OpenUPM的大門!
系列文
Unity黑科技揭秘:30個專業遊戲開發者必知的開發技巧25
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言