《Chasing the Unseen》用分形數(shù)學(xué)生成環(huán)境

文章來(lái)源:虛幻引擎官網(wǎng) 作者:frank 發(fā)布時(shí)間:2022年11月28日 點(diǎn)擊數(shù):

Strange Shift Studio是一家個(gè)人獨(dú)立游戲工作室,由Matthieu Fiorilli于2022年在蒙特利爾成立。

《Chasing the Unseen》是一款關(guān)于攀爬巨型生物并探索異世界環(huán)境的游戲。游戲中的環(huán)境都是用分形數(shù)學(xué)生成的。作為一名個(gè)體游戲開(kāi)發(fā)者,我知道開(kāi)發(fā)這樣一個(gè)野心勃勃的項(xiàng)目需要合適的工具。在這篇技術(shù)博文中,我將概述自己是如何應(yīng)對(duì)《Chasing the Unseen》中的這些挑戰(zhàn)的。

過(guò)去幾年,那些賦予獨(dú)立開(kāi)發(fā)者強(qiáng)大能力的工具取得了長(zhǎng)足的進(jìn)步,最近,實(shí)現(xiàn)這類項(xiàng)目終于成為了可能。感謝Epic和SideFX等公司的不懈努力,讓任何人都能取得這些強(qiáng)大的工具,這個(gè)項(xiàng)目也因此得以實(shí)現(xiàn)。

為了完成這個(gè)雄心勃勃的項(xiàng)目,我知道合適的工具是必不可少的,而我正是在虛幻引擎和Houdini相輔相成的關(guān)系中找到了我所需要的東西。

生物

首先,我們來(lái)看看生物和攀爬系統(tǒng)。

我的生物是在Houdini中使用各種工具制作而成的。以章魚為例,我使用了Houdini的傳統(tǒng)工具,以程序化方式為它建模,然后使用Houdini最近推出的多解算器Vellum進(jìn)行模擬。模擬為我?guī)?lái)了非常自然和流暢的變形。接下來(lái)的挑戰(zhàn)就是將它導(dǎo)入虛幻引擎,并添加可攀爬功能。為了完成這項(xiàng)任務(wù),我使用了Dem Bones這款強(qiáng)大的工具。我在Houdini中的章魚模擬太過(guò)復(fù)雜,幾何體的每個(gè)點(diǎn)都有自己的動(dòng)畫,所以此時(shí),我不能簡(jiǎn)單地將它放到游戲引擎中。Dem Bones的作用是以程序化方式生成一組骨骼和皮膚,以便使用對(duì)游戲引擎友好的數(shù)據(jù)重建模擬。這樣一來(lái),章魚的128000個(gè)頂點(diǎn)/點(diǎn)就不需要都具備動(dòng)畫了,我只需確保大約600根骨骼擁有動(dòng)畫即可。

使用Dem Bones烘焙的Vellum模擬

然后,我可以將這只生物導(dǎo)入虛幻引擎,并實(shí)時(shí)回放。我在這里使用狀態(tài)機(jī)混合了不同的動(dòng)畫。基于通過(guò)Dem Bones生成的皮膚信息,我能夠以程序化方式生成用于碰撞的凸包,然后通過(guò)自定義工具將其導(dǎo)入虛幻引擎。

虛幻引擎中的碰撞網(wǎng)格體

我生成了較低分辨率的網(wǎng)格體,將它導(dǎo)入虛幻引擎,實(shí)現(xiàn)攀爬功能。為了將角色連接到生物身上,我結(jié)合使用藍(lán)圖和C++,讓攀爬系統(tǒng)能夠使用較低分辨率的網(wǎng)格體。

使用藍(lán)圖和C++的攀爬系統(tǒng)

環(huán)境

在環(huán)境方面,我使用了分形數(shù)學(xué)和其他程序化技術(shù)。分形是一些簡(jiǎn)短的數(shù)學(xué)公式,能夠生成無(wú)限自我重復(fù)的形狀。其中最著名的是曼德博集合。

曼德博集合是以本華·曼德博的姓氏命名的2D分形。在它被發(fā)現(xiàn)的數(shù)年后,人們又發(fā)現(xiàn)了一個(gè)類似的3D版本:曼德?tīng)柷颉?/p>

這就引出了一個(gè)問(wèn)題,如何將分形添加到游戲中?通過(guò)將Houdini和虛幻引擎結(jié)合起來(lái),我成功地解決了這個(gè)問(wèn)題。在Houdini中,我使用Juraj Tomori的畢業(yè)項(xiàng)目“視效分形工具包”生成分形,然后圍繞它開(kāi)發(fā)了一套幾何體制備管線,為在虛幻引擎中添加分形做好準(zhǔn)備。這套管線可用在分形和其他程序化網(wǎng)格體的生成方法中(取決于關(guān)卡)。

為游戲關(guān)卡生成的分形網(wǎng)格體

為了做好準(zhǔn)備,將分形添加到虛幻引擎中,我必須完成許多不同的任務(wù):去掉非常小的細(xì)節(jié);創(chuàng)建平坦的可行走斜面;將網(wǎng)格體分割成塊,以便在UE中實(shí)現(xiàn)正確的遮蔽;簡(jiǎn)化網(wǎng)格體;生成LOD、UV和光照貼圖;等等。這個(gè)過(guò)程是完全自動(dòng)化的,并且經(jīng)過(guò)定制,符合虛幻引擎的要求。

最后,在完成所有這些過(guò)程之后,我會(huì)在虛幻引擎中構(gòu)建關(guān)卡,并使用光照系統(tǒng)烘焙光照貼圖。由于關(guān)卡被分成了多個(gè)部分,虛幻引擎的遮蔽系統(tǒng)只會(huì)繪制我們?cè)跀z像機(jī)中看到的網(wǎng)格體,這樣很好。而虛幻引擎的LOD系統(tǒng)會(huì)根據(jù)與攝像機(jī)的距離,以我所需的密度繪制網(wǎng)格體。對(duì)于碰撞,我生成了單獨(dú)的低分辨率網(wǎng)格體。

結(jié)束語(yǔ)

我在這里概述了我如何處理游戲中的生物、攀爬和關(guān)卡。以上就是我在整個(gè)游戲開(kāi)發(fā)中所使用的核心工作流程,在需要時(shí),我也可以為每個(gè)生物或關(guān)卡引入不同的變體。

為這些項(xiàng)目挑戰(zhàn)想出解決方案非常不容易,但是作為一名獨(dú)立開(kāi)發(fā)者,我可以自由、靈活地使用最新工具實(shí)現(xiàn)我的目標(biāo)。我希望這篇文章至少能夠在總體上幫助大家了解這個(gè)項(xiàng)目的技術(shù)流程,并對(duì)大家有所啟發(fā),讓大家認(rèn)識(shí)到現(xiàn)有工具的能力范圍。

本文轉(zhuǎn)自虛幻引擎官網(wǎng)~

主站蜘蛛池模板: 欧亚专线欧洲s码在线| 国产欧美日韩综合精品一区二区| 99re热久久这里只有精品首页| 亚洲精品网站在线观看不卡无广告| 国产精品视频色拍拍| 日本高清免费看| 国产浮力第一页草草影院| 久久中文网中文字幕| 国产乱女乱子视频在线播放| 欧洲成人在线视频| 精品久久亚洲中文无码| 500福利视频导航| 亚洲日本一区二区三区在线不卡| 国产无套粉嫩白浆在线观看| 性xxxx黑人与亚洲| 网址在线观看你懂的| 4480yy苍苍私人| 一级毛片免费在线播放| 久久婷婷五月综合成人D啪| 伊人久久综合谁合综合久久| 国产一区二区三区福利| 日韩专区亚洲精品欧美专区| 理论秋霞在线看免费| 91欧美在线视频| 丁香六月色婷婷| 久久久久久久综合| 丁香伊人五月综合激激激| 一二三四在线观看免费高清视频 | 九九视频高清视频免费观看| 精品国精品自拍自在线| 国产福利精品一区二区| yy6080影院| 欧美大片在线观看完整版| 国产成人精品一区二三区在线观看| 久久精品人人做人人爽电影| 猫咪www免费人成网站| 国产精品jizz在线观看直播| 久久99精品视免费看| 欧美日韩人妻精品一区二区三区| 国产A√精品区二区三区四区| 全黄大全大色全免费大片|