手游《明日方舟

》是剛公測不久的塔防遊戲。

我很喜歡明日方舟的扁平化界面設計:

關卡選擇界面的城市白模,更是讓建築人在這款二次元手游中他鄉遇故知。

而關卡界面的低多邊形風格著實讓人愛不釋手

前提探討:

關卡地圖有以下特點:

地形規則,基本呈矩形格網形式。

地形種類有限,可以窮舉

模型元素大量重複使用

基於這些特點,通過參數化建模自動完成 變得可能。

使用者只需要完成關卡設計,剩下的部分交給程序。

關卡設計的部分在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(網格管)

文件下載:

鏈接:pan.baidu.com/s/1_2JzYx

提取碼:7nmp

一些效果圖

別的我也不知道說啥了,祝大家玩得開心吧!


推薦閱讀:
相关文章