萌新资源 | 3D基础——渲染基本原理介绍
游戲最吸引人的地方,莫過于它為玩家構建了一個全新的世界。——但有沒有人想過,這些豐富飽滿的世界是怎樣建構起來的呢?又是經過怎樣的加工最終呈現在玩家的面前呢?
MG大賽加油包還不夠滿足大家?
今日份的萌新資源,你不容錯過!
就讓我們來探索一下3D世界的秘密,
深入到游戲引擎的層面,
從數學原理到實際的畫面呈現,
3D入門課,就決定是你啦!
講師介紹
?
一. 3D開發與游戲引擎的基本概念
3D游戲相信大家都玩過,那一個很重要的問題就來了,游戲引擎是怎樣在3D游戲的開發中發揮作用呢?其實,游戲引擎包括了很多個方面,它就像是一個工具包,包括一個核心,以及由核心延展出來的眾多工具。
?
越成熟的引擎提供的工具越是豐富,這可是大家以后制作游戲必不可少的“好朋友”呀~有意向參與游戲研發的同學可要認真聽啦。
?
客戶端游戲引擎功能眾多,包含渲染、模型動畫、粒子效果、網絡環境模擬、植被系統、交互系統等。通俗來說,在游戲開發過程中,將各類功能模塊拼湊一起,二手手游拍賣便組合成了游戲引擎。而游戲渲染則是3D游戲開發中非常重要的一環,雖然渲染可能只占到總代碼的30%,但是它能給用戶和玩家帶來最直觀的體驗。這是一個顏值當道的時代,一款游戲的賣相往往能迅速吸引到玩家的注意。
3D渲染另一個重要之處,也是開發者容易忽視的地方——大多數開發者認為其他模塊與渲染不相關,例如碰撞、物理、聲音模塊。但這些模塊在制作過程中是與真實環境密切聯系的,這就需要開發者對于所生活的三維世界有深刻的理解。運用渲染技術來創建豐富的三維模型,從而構筑出虛擬的三維游戲世界。
有一句話說得好,“在進行游戲3D開發賦能的過程中,可以不會3D代碼,但是必須掌握3D渲染的基本原理。”
二.關于3D成像的基本原理
3D游戲需要給玩家身臨其境的感受,而人在感知世界的過程中,最敏感的感官先是眼睛,之后是耳朵,最后是感知觸覺的雙手。因此雙眼的成像是玩家最直觀的感受。3D游戲的成像與人眼的成像原理相似:將人眼看作是一架攝像機在三維空間里移動,模擬人的移動方式,把在不同空間中的畫面投影在屏幕上。就如影像投在視網膜被神經感知一般。這一個過程被計算機反復模擬。
游戲的渲染,其實就是在計算機里模擬人眼成像的過程。首先模擬出三維空間,對虛擬的游戲空間進行模型建立。之后用攝像機來模擬人的眼睛,游戲進行的過程中會根據玩家的行為(如戰斗、奔跑、飛行等)移動攝像機的位置,模擬玩家在場景可能發生的所有行為,并記錄行為之下所看到的圖像,最終呈現在屏幕上。
?
簡單來說,就是一個 Model Space→World Space→Camera Space→Clip Space的過程。現在讓我們跟著視頻,具體了解下這個變換的過程。
?
三. 3D成像的渲染過程
對于一個游戲而言,渲染部分主要是顯卡而非CPU的任務,因為顯卡更適合進行這個任務;渲染是一個運算量非常大,但是并行性很好的一個任務,因此會有專門的顯卡并行處理這些任務。
?
我們剛剛講了3D成像的基本原理,這些原理在顯卡架構下實際要如何應用呢?這就不得不提到“渲染管線”的概念了。渲染管線較為復雜,最開始是元素組裝。元素組裝將游戲元素數據化,提供給顯卡處理。另外,游戲3D世界是由無數三角形構建成的,游戲中的模型坐標即為三角形模型坐標系的頂點坐標,之后參與處理的vertex shader便可以將這些坐標進行靈活轉化。渲染管線還涉及到很多單元,同學可以從視頻中了解到。
簡單來說,這就是顯卡工作的流水線,刻畫出了渲染的整個流程。
?
講師金句:
“掌握了今天這些基本的概念和原理,無論是調用引擎接口、實現引擎功能,還是查找游戲的BUG,思路都能變得清晰許多。
只要基本原理在腦海中,那么定位一些問題什么的,都會方便很多。”
總結
以上是生活随笔為你收集整理的萌新资源 | 3D基础——渲染基本原理介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于低分辨率像素游戏下显示非防锯齿中文
- 下一篇: 《Exploring in UE4》多线