第 1 天|基於 AI 進行遊戲開發:5 天創建一個農場遊戲!

語言: CN / TW / HK

歡迎使用 AI 進行遊戲開發! 在本系列中,我們將使用各種 AI 工具,在 5 天內創建一個功能完備的農場遊戲。到本系列結束時,你將瞭解到如何將多種 AI 工具整合到遊戲開發流程中。本系列文章將向你展示如何將 AI 工具用於:

  1. 美術風格
  2. 遊戲設計
  3. 3D 素材
  4. 2D 素材
  5. 劇情

想要觀看視頻快速瞭解?請 點擊這裏 快速瞭解本文內容,如果你需要掌握更多技術細節,請繼續閲讀!

注意:本教程面向熟悉 Unity 開發和 C# 語言的讀者。如果你不熟悉這些技術,我們建議你先了解一下 Unity 然後再繼續閲讀,本文的作者製作了一系列 Unity 初學者視頻,如果你希望我們發佈到 Hugging Face 賬號,請在評論區留言告訴我們。

第 1 天:確立美術風格

遊戲開發流程第一步是 確立美術風格。對於要創建的農場遊戲,本文將使用 Stable Diffusion 工具來幫助其美術風格的確立。Stable Diffusion 是一種基於文本描述生成圖像的開源模型。接下來會介紹如何使用該工具為農場遊戲創建視覺美術風格。

Stable Diffusion 基本設置

運行 Stable Diffusion 有兩種方案可選:本地或在線。如果你擁有一台配備良好 GPU 的台式機並想使用全功能工具庫,那麼更建議本地方案。除此之外,你還可以嘗試在線方案,請繼續閲讀本文詳細查看本地方案和線上方案:

本地方案

本文將使用 Automatic1111 WebUI 在本地運行 Stable Diffusion。這是比較流行的本地運行 Stable Diffusion 的方案,不過要成功將其設置運行起來,還需要一些技術知識。如果你使用 Windows 且具有 8GB 以上內存的 Nvidia GPU,請按以下指示執行。否則,請在 代碼倉庫 的 README 文件中查看其他平台的運行説明,更或者可以選擇在線方案。

在 Windows 上安裝

要求:具有 8 GB 以上內存的 Nvidia GPU。

  1. 安裝 Python 3.10.6,安裝時勾選 "Add Python to PATH"
  2. 安裝 git
  3. 在命令提示符中輸入以下內容來克隆所需倉庫

    git clone http://github.com/AUTOMATIC1111/stable-diffusion-webui.git

  4. 下載 Stable Diffusion v1.5 checkpoint,並將其移動到倉庫的 models 目錄下

  5. 運行 webui-user.bat 來啟動 WebUI
  6. 瀏覽器中訪問 localhost://7860。如果一切正常,你將看到如下內容:

在線方案

如果你不具備本地運行 Stable Diffusion 的條件,或者偏好簡易的解決方案,同樣有多種在線運行方案供你選擇。

🤗 Hugging Face 提供的 Space 應用中包含眾多免費在線方案,例如 Stable Diffusion 2.1 Democamemduru webui。你可以 查看更多在線服務,甚至可以使用 🤗 Diffusers 編寫你專屬的免費運行方案!你也可以查看簡單的 代碼示例 以快速上手。

注意: 本系列的部分內容將使用 image2image 等高級功能,有些在線服務未提供這些功能。

生成概念藝術圖片

首先讓我們生成一些概念圖。只需幾步,非常簡單:

  1. 輸入提示語
  2. 點擊生成

但問題是,生成的圖片是你真正想要的結果嗎?如果不是,如何才能獲得呢?這裏要提醒你一下,輸入提示語,本身就需要一些技巧。所以如果你生成的第一張圖片非你所想也沒關係,網絡上有非常多神級資源可以幫助改善提示語。你可以查看 Reddit 上的帖子瞭解 書寫指南,也可以 點擊這裏 查看我做的視頻,帶你 20 秒瞭解圖片生成提示語的技巧!

上述書寫技巧的共通之處是使用諸如 lexica.art 網站之類的圖片庫來查看其他創作者使用提示語在 Stable Diffusion 生成的內容範式,從中尋找與你期望風格相似的圖片,從而獲得書寫提示語的靈感。實際上沒有所謂的標準答案,不過在你使用 Stable Diffusion 1.5 生成概念藝術圖片時,建議遵循以下温馨提示:

  • 使用描述詞: 描述詞會限制生成圖片的形式,如 isometric, simple, solid shapes 等。這樣生成圖片的美術風格在遊戲中會更容易重現。
  • 使用同義關鍵詞: 一些關鍵詞 (如 low poly) 雖然契合主題,但生成的圖片質量通常較低。嘗試找到它們的同義詞,替換以保證生成質量。
  • 使用指定藝術家的名字: 這種方式可以有效地引導模型採用指定藝術家的繪畫風格,從而生成更高質量的圖片。

我輸入這樣的提示語: isometric render of a farm by a river, simple, solid shapes, james gilleard, atey ghailan 生成圖片如下:

使用 Unity 重現概念藝術

接下來,如何使用生成的概念藝術圖片來製作遊戲?本文將使用流行遊戲引擎 Unity 來使遊戲鮮活起來。

  1. 使用帶有通用渲染管道的 Unity 2021.9.3f1 創建一個 Unity 項目。

  2. 使用基本形狀繪製場景草圖。例如,要添加一個立方體形狀,右鍵單擊 -> 3D對象 (3D Object) -> 立方體 (Cube)

  3. 設置材質: 可以參考前面生成的概念藝術圖片對各部分進行設置。這裏選用 Unity 內置的基本材質

  4. 設置光照: 這裏使用暖調自然光 (#FFE08C,強度 1.25) 和柔和環境光 (#B3AF91)

  5. 設置攝像機: 這裏使用 正交投影 來匹配概念藝術圖片的投影形式

  6. 設置水着色器: 可以給遊戲場景增加一些水流,這裏使用 Unity 資源商店中的程式化水着色器

  7. 最後,設置後處理效果: 這裏使用 ACES 色調映射和 +0.2 曝光

至此,一個簡單上手而引人入勝的遊戲場景,不到一天就創建完成了!如果你有任何問題,或者想躍躍欲試參與後續內容?現在來 加入我們的 Discord 頻道 與我們交流吧!

在下一篇文章中,我們將 使用 AI 進行遊戲設計,敬請關注我們獲得後續更新!

英文原文:http://huggingface.co/blog/ml-for-games-1

譯者:SuSung-boy (蘇桑),經常倒騰圖像的工業視覺算法工程師。