日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

创造开放世界——《看火人》游戏场景设计

發布時間:2024/8/26 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 创造开放世界——《看火人》游戏场景设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Firewatch是屢獲大獎的冒險游戲,有類似于開放世界的畫面表現。

本講座要點:
?

  • 多人編輯同一個大場景
  • 非常清晰的闡述了他們采用的大場景的手工流式加載方案(視頻中額外介紹了基礎原理,這里沒摘錄)
  • 樹的LOD和風、場景制作的懸崖等個別細節
  • 非常好的展示如何從概念設計制作地圖,設計穿行過程。


多人編輯
?


工程中,有強烈的多人編輯同一場景的需要。他們使用一個Unity插件:Sectr Complete,對場景、配置進行拆分和合并,每個人編輯自己的區塊。最終拆分非常細,見下圖:
?

每天的配置都做成了一個獨立的加載塊

地圖拆分成了多個區塊


Steaming流式加載

漫游時,區塊加載規則是手工編輯的。地圖分為多個區域,連接點是固定的,綠色門是卸載,紫色門是加載,如下圖:
?


18:30開始有一段3分鐘的視頻,演示了漫游過程,同時提示各種數據的加載和卸載。其中要點:
?

  • 手工設置各個路口對應的加載。注意到看火人是受限的漫游,由于路點有限,通過設計和人工編輯,對地塊的可見性做了最優化的控制。
  • 人工最優化的例子:例如上圖中湖泊(Lakeside)的U型彎,由于玩家看到湖之后會迅速轉彎,所以接近湖的時候,直接同時加載了U型轉彎后的地圖(CanyonLake)。
  • 一般只有3塊左右的真實地塊同時存在
  • 平時有假的遠景塊,以及低模版的地形
  • 還可以做非常細致的加載。有一段,角色在山上,遠景在山崖下。離山崖中距離的情況下,看不見山下的地形,只顯示樹木,等到接近(可能只有30米的距離)的情況下才顯示其地形。而當主角爬下山崖后,立即就直接卸載了整個山上,因為不再看得見。
  • 一條長的峽谷,切分成了4段加載


?

紅點是當前玩家。可以看到加載的地塊,以及周圍的假景


同時,可以用這個技術來加載不同劇情版本的地塊。例如主角的瞭望塔,有5個不同的版本,從第一天剛上班最干凈的版本,到多天后最后放了很多東西亂糟糟的版本。

地形使用商城的Stitcher插件來確保拼接,但是總的來說,要靠放各種石頭等來遮掩接縫。

植被和地形

樹木在游戲的大部分時候都占據了一半左右的畫面面積,所以很重要。

在Unity4的Tree Creator是Speed Tree的嚴重縮水版,功能很弱,到Unity5才支持Speed Tree。本作基于Unity4,樹是直接做的模型。
?

全游戲所有的樹。建議做少量而高質量的資源:做一個開放世界并不意味著要做非常多資源。

松樹c,全樹中第一排第三個。


制作時,注意樹的下部較為細致,上部簡單一些。LOD1和2最大的差別在于關閉大多數部件不再投影。從視頻來看,這些樹LOD切換時,幾乎完全看不出來(除了LOD2->LOD3差別略大)。本游戲不使用使用平滑LOD切換,該算法在切換時渲染量會翻倍,所以做出高質量、能直接切換的LOD同時能保證性能和畫面效果。

LOD沒有使用Simplygon這樣的工具,手工編輯。因為資源量少,手工編輯完全可行,同時也不用進行新工具的學習。但是對于資源規模大的工程這種中間件是有價值的。

使用自定義的shader修改半透明裁剪參數,遠處的樹使用更低的裁剪,這樣遠處的樹看起來更鼓一些。
?


使用頂點著色器動畫來實現風(之前在Brutal Legend使用過的技術),由美術對節點進行顏色標注。
?

  • 紅色是縱向的搖動。樹的頂部基本上都是縱向
  • 綠色表示樹枝干的搖動
  • 藍色表示葉子的擺動


有視頻,35:20。(按:和Unity中speed tree的區別大概是不含風向?speed tree似乎是物理模擬,每隔一段時間進行一次推力驅動)

地形

使用Unity地形。簡單雕刻之后就有效果。
?

地形+樹

去掉植被


Unity的地形貼圖默認是從頂視圖垂直映射的,所以懸崖上有嚴重的拉伸現象。如果使用Box映射的話可以解決這個問題,但是采樣會翻倍。所以他們將模型貼到地形上。但是這個做法的工作量巨大。
?

左:地形,懸崖貼圖嚴重拉伸。右:放上模型來遮掩拉伸


此外,由于Unity的地形細分算法不會在斜坡上自適應,所以需要較高的細分等級才能有合適的細節。為了提高渲染性能,關閉了Terrain的自陰影,而使用簡化的地形模型來產生陰影。這個也是純體力活,工作量比較大。認為如果重來的話,二手手機買賣平臺可能會對地形做進一步的優化,應該是改用mesh的方案。

關卡設計:地圖和概念設置

地圖的關卡設計是雙重的:

  • 一方面要適合劇情
  • 另一方面要擬真,同時有探索樂趣


地圖設計包括設置區域和區域的情節性設定。整個地圖是在紙上進行的,并且早期在紙上對地區劃分進行了很多位置調整。

如果你不能在紙上設計出來的話,你就不可能在3d下把他做出來。
?

場景概念設計


早期會產生多類概念設計。第一類是場景概念設計,并不對應任何特定的故事。
?

故事概念設計


另一類是具體的故事概念設計圖。

在Firewatch團隊,紙上地圖、故事概念設置、場景概念概念設計放到一起,交替出推進方案,迅速循環演進,產生了很不錯的效果。

白盒vs實物Demo

傳統游戲會搭出白盒模型。但是對于這個游戲來說,白盒圖方式是不合適。它不能回答最關鍵的體驗問題,比如“主角需要多久從A走到B?”“這個區域探索有沒有意思啊?”
?

白盒模型


例如上圖的白盒模型。我們從A走到B,真走一次的話,你只會感覺從A走到B非常無聊,因為什么都沒有。這是很糟的。


?

Day1的流程


最終完全做了Day1,接近可上市水平的美術資源,包括專業的配音,所有所需的玩法系統,所有玩法系統所需要的支持工具,來評判整個工作是否可用。這Day1相當于10%的游戲內容,花了15個月。整個開發時間是24個月。

剩下的內容是9個月完成的。這個15個月版本是15年GDC版本。

Day1的效果證明了所有方面達到預期:
?

  • 我們的移動和聊天非常有趣
  • 可以做到有趣的世界探索
  • 玩家喜歡在地標間移動,他們是按地標來理解游戲的。(按:看視頻可以體會到,這里的地標不是我們生活中一般說的地標,而是記憶點。例如一個箱子,一個懸崖上的圓木,一個拱門)
  • 地標如果承載了游戲故事內容的話更棒


概念設計、Demo和最終版

下面我們來看看,從概念設計到Demo版,最后到正式游戲的演進過程。按:這里希望大家體會一下:概念的核心元素,在Demo中是如何傳達的,Demo如何以較低成本抓到氛圍感。
?

瀑布地標,場景概念設計


第一個例子,游戲第二天的瀑布地標。按劇情,玩家會在這里看到樹上掛著紅色的撕裂的布,引起警覺。
?


Demo中小溪是直接畫在地板上的,注意布片的視覺效果。
?


再對比最終版。
?

左上:概念設計,右上:早期美術效果,左下:最終版


例2,玩家穿過巖石拱,看見炊煙。
?

左上:概念設計,右上:早期美術效果,左下:最終版


例3,在巖石拱的后面發現帳篷。demo中帳篷就用了一個橙色立方體。很有趣的是,遠看起來和最終版差不多。

評:做到這一點,應當與demo制作者的美術水準是分不開的。雖然用的是臨時資源,雖然直接放了Cube,但是必須清楚,這個demo并不爛造,他仍然是美術性的。無論是例1的破布,還是本例的帳篷,要讓玩家在畫面中自然地意識到它,這是受益于優秀的布景和設色的。

移動的設計
?

左上:地圖,右上:場景概念設計,右下:增加兩個物品概念設計


在地圖上,根據概念設計,同時增加可發現物。

這里有一段綜合演示視頻,為玩家的實際游覽過程。設計師控制玩家,每20秒左右有一個新的發現物。50:45演示了這個穿越過程,并在視頻上文字提示相關發現物。

我這里掐了一下秒,依次為:
?

  • 開始
  • 9'':隘谷左右岔路
  • 23''~53'':看見儲物箱。箱子里面有密碼鎖、雜件、對話、發現地圖以及尋人告示。這里觸發的對話及后續觸發對話(見下方)可以持續到100''
  • 56'':發現新種類的樹
  • 67'':觸發對話結束,可以回復對話,有3個分支。選一個分支可以持續30秒對話。持續到100''
  • 71'':場景中有夕陽穿過樹的美景
  • 90'':發現小溪
  • 107''場景觸發可選對話,評價場景,中間有選項,持續到141''
  • 118''岔路
  • 134''有特殊結構的隆起地貌
  • 150''發現有人遺落啤酒罐
  • 160''發現瀑布
  • 170''發現瀑布邊,樹上掛著鮮紅的撕裂的布料,觸發劇情
  • 179''發現拱的石門
  • 187''穿過石門
  • 190''看見炊煙
  • 195''發現野營人的營地


按:可以看到整個3分鐘的游戲過程,內容非常密集。同時動輒半分鐘的對話,可以維持玩家體驗很長時間。

研發結語
?


游戲開發是非常困難的。尤其在后期。就算你很有經驗,只做了一個新的東西。

事情總是這樣的,你覺得沒有任何東西工作正常,突然到某個神奇的一天,所有東西都正常了。

團隊只有11~12個人,做開放世界簡直是一個瘋狂的主意。為什么做呢?全員都是10年經驗以上,做過一系列知名游戲。對于開放世界,問到每個具體問題,大家都說“能做到”,并沒有人反對,所以就這么神奇的推進了。大家顯然從心里知道,整個項目不會那么簡單,但是總的來說感覺是有機會的,另外大不了項目沒成仍然不至于沒工作嘛。(按:總的來說還是需要勇氣的)

問答,預算限制
?

  • 本游戲故意不做NPC,因為太貴了
  • 動物也很少,因為做得話不是直接放進去就行了,肯定需要處理各種bug
  • 鳥是10美元從商城買的,用它做了整個鳥群(表示這只鳥簡直太劃得來了,應該漲價到50)

總結

以上是生活随笔為你收集整理的创造开放世界——《看火人》游戏场景设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。