手游《明日方舟》是剛公測不久的塔防遊戲。
我很喜歡明日方舟的扁平化界面設計:
關卡選擇界面的城市白模,更是讓建築人在這款二次元手游中他鄉遇故知。
而關卡界面的低多邊形風格著實讓人愛不釋手
前提探討:
關卡地圖有以下特點:
地形規則,基本呈矩形格網形式。
地形種類有限,可以窮舉
模型元素大量重複使用
基於這些特點,通過參數化建模自動完成 變得可能。
使用者只需要完成關卡設計,剩下的部分交給程序。
關卡設計的部分在excel里完成,之後使用Grasshopper讀取表格數據,一通操作,建立模型。
使用方法:
1.在Excel中輸入地形編號,繪製關卡平面圖
例如上圖,敵人將從紅色方格(0)進入戰場,走過黃色方格(2)(3),最終進入藍色方格(1)。
玩家可以在(2)(4)上布置幹員建立防守陣線。
如果敵人被移動至(6)中,則原地去世。
(7)是地圖邊沿,大型的配景模型將放置於此。
據此,相信遊玩過《明日方舟》的網友可以在腦海中構建出關卡的大致樣式。
之後,在保持excel開啟的狀態下,打開rhino,打開文件「地圖樣板」
打開Grasshopper,打開文件「地圖製作器」
點擊位於左上角的「讀取表格」按鈕,並調整讀取的工作表序號和行列範圍
之後啟用標有「預覽」的電池Custom Preview,就可以在rhino中看到關卡預覽
淺黃色部分是可以放置幹員的地形,灰色的則相反。
如果對關卡設計不滿意,可以在excel中修改
修改完成後,回到grasshopper,點擊「讀取表格」即可看到修改成果
之後,禁用標有「預覽」的電池Custom Preview,點擊「生成模型」按鈕,即可完成建模。
之後,切換為渲染模式,獲得更佳觀看體驗
說明:
1.流程概況
所有幾何物件均為網格,整個過程大量數學運算,少量曲線布爾,基本不含物理運算,因此生成速度很快。生成上圖所示模型,用時不到1秒。
2.數據流向
「預覽」部分的參數、數據和最終生成的模型參數、數據不互通。
在點擊「生成模型」之前,下半部分所有電池都不會收到數據,請放心調整。
3.「配景」的分類方式
(7)被我分成了三部分:南,北,和兩側,分離方法是這樣的:
若要調整分離方式,需要調整此滑桿:
4.特殊配景的出現規則
兩側建築、白色鐵架 是特殊的配景類物件,我設定了以下規則以讓他們並不能總是出現,以保持配景的豐富度。
兩側建築:對兩側的曲線進行布爾並集後,任意一邊的長度都大於網格尺寸。
如下圖所示,白色邊框所示位置將出現建築
下圖所示情況則不會出現建築,因為白色邊框的區域,在布爾並集後,各曲線都至少有一條邊是不大於網格尺寸的。
白色鐵架:僅出現在南側配景中,當且僅當有4個7相連時才會出現。
其餘所有配景或者同種地形的不同表現方式均為隨機生成,可以通過調節參數進行控制。
5.所有的 調整是有意義的 參數滑桿我都放在cluster外面,並標上了注釋。
其中,標註有「1」「2」的滑桿,屬於以下情況中的一種:
功能相似的兩個參數
有運算先後順序的兩個參數
一個區間的兩個最值
6.必需的運行環境
rhino6.0
grasshopper1.0
插件 lunchbox(讀取excel、自動bake、隨機分組)
插件human(應用立方體貼圖軸)
插件kangaroo2(刪除重複直線、網格清理)
插件meshedit (炸開網格)
插件meshtool(網格管)
文件下載:
鏈接:https://pan.baidu.com/s/1_2JzYxjxXiSdfOTIJytfHg
提取碼:7nmp
一些效果圖
別的我也不知道說啥了,祝大家玩得開心吧!