第 1 天|基於 AI 進行遊戲開發:5 天創建一個農場遊戲!
歡迎使用 AI 進行遊戲開發! 在本系列中,我們將使用各種 AI 工具,在 5 天內創建一個功能完備的農場遊戲。到本系列結束時,你將瞭解到如何將多種 AI 工具整合到遊戲開發流程中。本系列文章將向你展示如何將 AI 工具用於:
- 美術風格
- 遊戲設計
- 3D 素材
- 2D 素材
- 劇情
想要觀看視頻快速瞭解?請 點擊這裏 快速瞭解本文內容,如果你需要掌握更多技術細節,請繼續閲讀!
注意:本教程面向熟悉 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。
- 安裝 Python 3.10.6,安裝時勾選 "Add Python to PATH"
- 安裝 git
-
在命令提示符中輸入以下內容來克隆所需倉庫
git clone http://github.com/AUTOMATIC1111/stable-diffusion-webui.git
-
下載 Stable Diffusion v1.5 checkpoint,並將其移動到倉庫的 models 目錄下
- 運行
webui-user.bat
來啟動 WebUI - 瀏覽器中訪問 localhost://7860。如果一切正常,你將看到如下內容:
在線方案
如果你不具備本地運行 Stable Diffusion 的條件,或者偏好簡易的解決方案,同樣有多種在線運行方案供你選擇。
🤗 Hugging Face 提供的 Space 應用中包含眾多免費在線方案,例如 Stable Diffusion 2.1 Demo 或 camemduru webui。你可以 查看更多在線服務,甚至可以使用 🤗 Diffusers 編寫你專屬的免費運行方案!你也可以查看簡單的 代碼示例 以快速上手。
注意: 本系列的部分內容將使用 image2image 等高級功能,有些在線服務未提供這些功能。
生成概念藝術圖片
首先讓我們生成一些概念圖。只需幾步,非常簡單:
- 輸入提示語
-
點擊生成
但問題是,生成的圖片是你真正想要的結果嗎?如果不是,如何才能獲得呢?這裏要提醒你一下,輸入提示語,本身就需要一些技巧。所以如果你生成的第一張圖片非你所想也沒關係,網絡上有非常多神級資源可以幫助改善提示語。你可以查看 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 來使遊戲鮮活起來。
-
使用帶有通用渲染管道的 Unity 2021.9.3f1 創建一個 Unity 項目。
-
使用基本形狀繪製場景草圖。例如,要添加一個立方體形狀,右鍵單擊 -> 3D對象 (3D Object) -> 立方體 (Cube)
-
設置材質: 可以參考前面生成的概念藝術圖片對各部分進行設置。這裏選用 Unity 內置的基本材質
-
設置光照: 這裏使用暖調自然光 (
#FFE08C
,強度1.25
) 和柔和環境光 (#B3AF91
) -
設置攝像機: 這裏使用 正交投影 來匹配概念藝術圖片的投影形式
-
設置水着色器: 可以給遊戲場景增加一些水流,這裏使用 Unity 資源商店中的程式化水着色器
-
最後,設置後處理效果: 這裏使用 ACES 色調映射和 +0.2 曝光
至此,一個簡單上手而引人入勝的遊戲場景,不到一天就創建完成了!如果你有任何問題,或者想躍躍欲試參與後續內容?現在來 加入我們的 Discord 頻道 與我們交流吧!
在下一篇文章中,我們將 使用 AI 進行遊戲設計,敬請關注我們獲得後續更新!
英文原文:http://huggingface.co/blog/ml-for-games-1
譯者:SuSung-boy (蘇桑),經常倒騰圖像的工業視覺算法工程師。
- 在一張 24 GB 的消費級顯卡上用 RLHF 微調 20B LLMs
- 如何評估大語言模型
- 千億參數開源大模型 BLOOM 背後的技術
- Kakao Brain 的開源 ViT、ALIGN 和 COYO 文字-圖片數據集
- AI 影評家: 用 Hugging Face 模型打造一個電影評分機器人
- 我的語言模型應該有多大?
- Hugging Face 每週速遞: Chatbot Hackathon;FLAN-T5 XL 微調;構建更安全的 LLM
- AI 大戰 AI,一個深度強化學習多智能體競賽系統
- Hugging Face 每週速遞: ChatGPT API 怎麼用?我們幫你搭好頁面了
- 深入瞭解視覺語言模型
- CPU推理|使用英特爾 Sapphire Rapids 加速 PyTorch Transformers
- 大語言模型: 新的摩爾定律?
- 從 PyTorch DDP 到 Accelerate 到 Trainer,輕鬆掌握分佈式訓練
- 從 PyTorch DDP 到 Accelerate 到 Trainer,輕鬆掌握分佈式訓練
- 在低代碼開發平台 ILLA Cloud 中使用 Hugging Face 上的模型
- 瞭解 Transformers 是如何“思考”的
- 第 1 天|基於 AI 進行遊戲開發:5 天創建一個農場遊戲!
- 加速 Document AI (文檔智能) 發展
- 一文帶你入門圖機器學習
- 解讀 ChatGPT 背後的技術重點:RLHF、IFT、CoT、紅藍對抗