自動做遊戲(1):自動生成人物側面圖
自動做遊戲(1):自動生成人物側面圖
自動做遊戲(2):自動生成人物行走圖
自動做遊戲(3):行走圖生成工具開放試用
自動做遊戲(4),極小樣本生成國畫的嘗試
效果
遊戲美術成本很高,如果能夠應用一些深度學習的方法,讓機器自動生成美術資源,那麼遊戲開發將會變得簡單。嘗試製作一個應用,根據人物正面圖自動生成側面圖。效果如下圖,對於畫素類圖片,效果還是不錯的。
後面如果足夠完善,就可以用同樣的方法去生成背面、抬腳等多幀圖片。做遊戲行走圖時,將不再需要繪製10幾張圖,而只需要繪製一張正面圖,其他的由程式自動生成。
下面展示另外一些效果圖,可以看出,程式能夠擬合長髮、長裙、帽子、鎧甲、披風這些元素的側面圖。
演算法
演算法都根據《Image-to-Image Translation with Conditional Adversarial Nets》這篇論文,而實際上因為論文很出名,tensorflow也有一個實現示例pix2pix,於是在該示例的基礎上稍作改動。這是一個對抗網路的應用,生成器使用了unet結構,鑑定器使用了PatchGAN。資料比較多,後面有空再詳細介紹。
訓練
我找了2000多張rpg maker的行走圖,訓練集有2100張左右,還留下200張做測試集。每張圖大致如下,擷取了第一行第一列的圖和第二行第一列的圖來訓練。
這些圖片有戴帽子的、有穿鎧甲的,比較豐富。
訓練了100個epoll,可能程式寫的不好效率比較低,跑了10多個小時,燃燒了200塊錢的雲伺服器費,還真貴啊!!
不足
生成器對於顏色鮮豔的畫素圖效果比較好,比如下面這張:
但對於顏色灰暗的,效果就不太好,比如下面這張,糊了。
這個現象《Image-to-Image Translation with Conditional Adversarial Nets》論文給了一組對比,論文作者對比了幾種正則化的式子(如下圖),發現當前使用的L1+cGAN的灰色中的效果不太好。所以改善這個問題也許可以從優化L1式下手。
另外,因為訓練圖都是畫素圖,模型擬合了畫素圖的特徵,如果使用更多細節的圖片,效果也不好。下面是個失敗的例子,原因大概在於,畫素圖的色塊比較大,所以得出的卷積核不太適用於細節多的圖片。
下一步
下一步當是優化演算法,讓演算法更加健壯。主要在兩個方向,1個是對灰色圖的處理,另一個是對高精度圖片的處理。同時可以運用同樣的方法生成序列幀動畫。
最後還是放個廣告,筆者近期出版的《Unity3D網路遊戲實戰(第2版)》詳細介紹網路遊戲的開發的全過程,看完本書,能夠親手從零開始製作一款有一定規模的網路遊戲。書中對網路程式設計有詳細的講解,全書用一個大例子貫穿,真正的“實戰”教程。
專欄:https://zhuanlan.zhihu.com/p/55496272
相關文章
- 自動做遊戲(2):自動生成人物行走圖遊戲
- 自動做遊戲(3):行走圖生成工具開放試用遊戲
- 頁面圖片自動滾動
- 【Flutter工具】fmaker:自動生成倍率切圖/自動更換App圖示FlutterAPP
- 自動做遊戲(4),極小樣本生成國畫的嘗試遊戲
- 自動的自動化:EvoSuite 自動生成JUnit的測試用例UI
- uuid自動生成UI
- xorm自動生成modelORM
- 自動生成屬性
- 網站自動生成?網站
- 自動生成特定領域模型和圖表模型
- PbootCMS模板自動生成當前頁面二維碼boot
- showdoc 自動生成 API 文件API
- 【譯】自動生成整型序列
- 自動生成serialVersionUIDUI
- DRF 自動生成介面文件
- 自動生成介面文件coreapiAPI
- word怎麼自動生成目錄?Word自動生成目錄的方法教程
- 側欄導航自動定位效果詳解
- Flutter 路由——頁面表及頁面引數繫結的自動生成Flutter路由
- AOS 自動生成程式碼(三) Service生成
- Selenium自動化實現web自動化-1Web
- Nature 機器智慧綜述:AI如何自動生成遊戲AI遊戲
- What?JMeter做UI自動化!JMeterUI
- lavavel 自動生成資料字典
- golang自動生成setter和getterGolang
- 程式碼自動生成外掛:
- MyBatis Generator自動生成程式碼MyBatis
- 自動生成AWR HTML報告HTML
- 小事: 自動生成Getter程式碼
- Hibernate之自動生成工具
- plsql自動生成java原始碼SQLJava原始碼
- 自動生成Statspack的指令碼指令碼
- b站 自動生成的字幕
- chagpt自動生成PPT程式碼GPT
- 用 ai 自動生成 unit testAI
- 面經-自動化測試
- Jmeter 介面自動化連載 (13) - 自動生成測試報告JMeter測試報告