*認(rèn)識(shí)手柄
開(kāi)發(fā)VR注意事項(xiàng):
注意UI分辨率和畫(huà)質(zhì):盡可能使用粗體。
考慮使用劇情型的UI:傳統(tǒng)的項(xiàng)目中,UI元素通常是在顯示器的頂部 包括:生命值‘得分的等,用戶界面與游戲界面沒(méi)有關(guān)聯(lián),但是對(duì)游戲玩家有一定的影響。這就是“非劇情型UI”但是這種UI界面對(duì)VR基本不適用,因?yàn)槲覀兊难坨R無(wú)法聚焦在太近的物體上,因此我們需要考慮使用劇情型UI,具體形式坑內(nèi)是墻上的鬧鐘、電視、計(jì)算機(jī)屏幕等或者全息展示
考慮UI元素的放置位置:將UI元素放在什么位置,讓用戶更容易觀察,太靠近用戶會(huì)導(dǎo)致眼部疲勞,離得太遠(yuǎn)會(huì)感覺(jué)聚焦在地平線上,這里需要考慮UI元素的比例大小:一般采用2的N倍大小,例如512 1024 2048;
提醒用戶關(guān)注某一個(gè)特定的方向:雖然VR可以360°查看,但是有時(shí)候需要我們主動(dòng)提醒用戶某個(gè)特定的方向,在某些場(chǎng)景中我們可以用箭頭來(lái)引起用戶的注意,這些箭頭會(huì)更據(jù)用戶的朝向淡入淡出。
避免移動(dòng)攝像機(jī),因?yàn)樵赩R中移動(dòng) 用戶本身沒(méi)有移動(dòng),這就會(huì)造成用戶眩暈,我們可以為用戶提供一個(gè)固定參考物,例如:駕駛室 ;一般傳送位置 使用Teleport傳送;
使用淡入 淡出或者閃爍漸變的運(yùn)動(dòng)效果,從而優(yōu)化體驗(yàn);
了解游戲引擎:unity和UE4
UE4:功能很強(qiáng)大,但是需要學(xué)習(xí)C++語(yǔ)言,學(xué)習(xí)曲線相對(duì)比較陡峭,所以入門相對(duì)較難;如果需要效果特別逼真、大場(chǎng)景,例如房地產(chǎn)項(xiàng)目,可以采用ue4;
unity:簡(jiǎn)單易上手,人人都能做游戲,支持C#,教程資源非常豐富,開(kāi)發(fā)者可以輕松上手,不需要太高的成本、只要有好的創(chuàng)意就可以出好作品。
視覺(jué)渲染:在游戲引擎中,視覺(jué)渲染部分是最重要的組件,其中包括低階渲染器、場(chǎng)景圖、剔除優(yōu)化、視覺(jué)效果(粒子特效、光照貼圖、動(dòng)態(tài)陰影、全屏后期處理效果、顏色校正)、前段:(HUD、游戲內(nèi)置圖形用戶界面、游戲內(nèi)置菜單、視頻等)要學(xué)好渲染系統(tǒng)需要:3D數(shù)學(xué)、線性代數(shù)、數(shù)值計(jì)算、計(jì)算機(jī)圖形學(xué)、OPENGL、引擎的工具管道架構(gòu)及運(yùn)行時(shí)的渲染API;初學(xué)者只需要了解通過(guò)基于現(xiàn)有的引擎如何實(shí)現(xiàn)所需要的的效果即可;
性能分析與調(diào)試:游戲的卡頓對(duì)于游戲來(lái)時(shí)是非常致命的,對(duì)于AR、VR游戲或應(yīng)用來(lái)說(shuō),性能優(yōu)化則顯得尤為重要,特別是對(duì)于VR游戲來(lái)說(shuō),性能優(yōu)化是影響玩家體驗(yàn)的最關(guān)鍵的罌粟。因?yàn)閷?duì)于VR游戲來(lái)說(shuō),需要在90-120fps的幀速率現(xiàn)實(shí)畫(huà)面才流暢,如果優(yōu)化不給力,很有可能在5分鐘內(nèi)用戶就會(huì)產(chǎn)生眩暈感。
多人在線:
音效:好的游戲背景音樂(lè)和音效可以大大提升游戲的吸引力,因此絕大數(shù)的引擎會(huì)提供音效系統(tǒng)。
第二部分:unity中的核心概念
工欲善其事必先利其器,在學(xué)習(xí)VR開(kāi)發(fā)之前可以先掌握Unity的基本用法
場(chǎng)景:游戲場(chǎng)景中包括了所有的游戲?qū)ο螅覀兛梢栽趫?chǎng)景中創(chuàng)建主菜單、不同的關(guān)卡等;
游戲?qū)ο螅河螒蛑械拿恳粋€(gè)對(duì)象都是游戲?qū)ο螅@就意味著游戲中所需要的考慮的一切都和對(duì)象有關(guān)。游戲?qū)ο笠彩且环N容器,我們可以添加不同的組件,從而成為游戲角色。
組件:游戲?qū)ο笾型鄠€(gè)游戲組件,游戲組件可以為游戲?qū)ο筇峁┎煌墓δ埽S玫慕M件如下:
transform:游戲?qū)ο蟮幕A(chǔ)組件,可以修改游戲?qū)ο笤诘貓D中的位置、旋轉(zhuǎn)角度和縮放值、默認(rèn)情況下,所有的對(duì)象都有一個(gè)transform組件。
mesh網(wǎng)格類型的組件:渲染器
particle sysytem:粒子系統(tǒng),該組件可以模擬各種各樣的特效例如:火焰、下雨等,功能強(qiáng)大;
physice(物理組件 ):為了讓創(chuàng)建的場(chǎng)景更具有真實(shí)感,我們需要讓物體在虛擬世界遵循現(xiàn)實(shí)世界的物理規(guī)則。模擬物理行為;
Scripts(腳本組件):該組件由用戶自己編寫(xiě),定制C#語(yǔ)言;
audio(音頻組件):用于設(shè)置音效或者背景音樂(lè)的各種屬性,從而更好的游戲氛圍;
video(視頻組件):用于天劍unity3d內(nèi)置的視頻播放器;
rendering(渲染)和視覺(jué)渲染相關(guān)的組件有很多,例如:攝像機(jī)、天空盒、燈光、遮擋剔除;
event(事件):用于設(shè)置和響應(yīng)各種事件。
network(網(wǎng)絡(luò) ):用于設(shè)置游戲相關(guān)的網(wǎng)絡(luò)屬性;
UI(界面):和UI相關(guān)的組件;
AR(增強(qiáng)現(xiàn)實(shí)):增強(qiáng)現(xiàn)實(shí)相關(guān)的組件。
除了以上組件,還有很多,這里只是一些常用的組件。
預(yù)制體:(prefab)是一個(gè)游戲?qū)ο蠹捌浣M件的集合,目的是是游戲?qū)ο罂梢灾貜?fù)使用,一個(gè)形象的比喻:預(yù)制體好比模板,我們可以使用預(yù)制體在場(chǎng)景中快速創(chuàng)建一個(gè)具有特定組件的屬性值得游戲?qū)ο螅?/p>
unity光照系統(tǒng)
unity的的燈光組件大概可以分為兩個(gè)類別:光源組件和烘焙組件
常見(jiàn)的光源類型:
1.Directional Light:幾乎每個(gè)場(chǎng)景都會(huì)有的光源對(duì)象,常用于模仿太陽(yáng)光的效果,通過(guò)調(diào)整角度控制光照;
2.Point Light:點(diǎn)光源,點(diǎn)光源從中心向四周擴(kuò)散,如火把、室內(nèi)燈燈;
3.Spot Light:射燈,從中心呈扇形想某一個(gè)方向發(fā)出,收角度和范圍影響。用于模擬 手電筒和車燈等效果;
4.Area Light:和上面不一樣,這個(gè)為烘焙型燈光,只有在烘焙的情況下使用。場(chǎng)景需要設(shè)置為靜態(tài);
PS:場(chǎng)景中陰影越柔和開(kāi)銷越大,硬則,鋸齒感強(qiáng);
全局光照:
燈光相互作用,如燈光照射到物體A,物體A反射的光同樣照到物體B,這種關(guān)系是通過(guò)全局光照處理的。這種方法非常耗費(fèi)資源,通常我們使用烘焙。
烘焙:
設(shè)置游戲?qū)ο鬄?static狀態(tài),更改烘焙模式,了解光照探頭,反射探頭;
粒子系統(tǒng)(ParticleSystem):
例如:風(fēng)雨雷電霧燈,這類對(duì)象都是通過(guò)粒子特效來(lái)進(jìn)行完成的,游戲室炫酷的魔法效果;
著色器
計(jì)算機(jī)圖形學(xué)中,著色器是指專門用于渲染著色的計(jì)算機(jī)程序看,作用是設(shè)置圖像的光照陰暗、和色彩等。著色器通常以極高的靈活性在圖形硬件上運(yùn)行。在unity中,對(duì)游戲?qū)ο蟮匿秩臼峭ㄟ^(guò)材質(zhì)、著色器和紋理貼圖共同完成的。三者的關(guān)系非常緊密,共同作用于游戲?qū)ο螅纬韶S富的游戲世界。
unity中的標(biāo)準(zhǔn)著色器:
Standard Sharder:用來(lái)處理大多數(shù)真實(shí)世界中的材質(zhì),如石頭、玻璃等還可以用來(lái)處理皮膚,毛發(fā);
了解著色器的相關(guān)渲染設(shè)置:
1.Opaque:默認(rèn)的設(shè)置,適合渲染不透明的物體
2.Cutout:允許渲染帶有完全透明的或者完全不透明的物體。
3.Fade:允許通過(guò)透明度的等級(jí)實(shí)現(xiàn)物體的漸變現(xiàn)實(shí)。
4.Transparent:允許渲染一些純透明的物體,例如:玻璃、透明塑料凳;
Main Maps(貼圖):
標(biāo)準(zhǔn)著色器有6種貼圖類型,具體如下:
1.Albedo:基礎(chǔ)顏色貼圖,用于定義材質(zhì)的色彩和透明度;
2.Metallic:金屬貼圖,用于定義材質(zhì)表面對(duì)光的反射量。
3.Normal Map:法線貼圖,用于添加劃痕凹凸效果。可以減少計(jì)算機(jī)性能開(kāi)銷;
4.Height Map:高度貼圖,類似于法線貼圖,但是視覺(jué)效果更強(qiáng)。配合法線貼圖使用;
5.Occlusion Map:剔除貼圖,用于定義物體特殊區(qū)間的間接進(jìn)光量 ,例如:陰影塊兒;
6.Emission:自發(fā)光貼圖了,用來(lái)控制材質(zhì)球表面發(fā)射的光線的色彩和強(qiáng)度。
*Seconday Maps:允許我么設(shè)置材質(zhì)的第二個(gè)紋理,從而實(shí)現(xiàn)更為復(fù)雜的效果。
Skybox天空盒:
一種特殊的著色器,可以用到整個(gè)場(chǎng)景中。
Shader Graph:用一種可視化的方式來(lái)創(chuàng)建和鏈接節(jié)點(diǎn),并達(dá)到最終的效果。
后期處理(Post Processing):用來(lái)產(chǎn)生類似照片處理的效果,可以輕松的給游戲場(chǎng)景添加震撼的視覺(jué)效果,無(wú)需做更多的美術(shù)方面工作。
游戲中的UI系統(tǒng)
UI(User Interface ,用戶界面)是游戲中最常見(jiàn)和最直接的交互手段,他可以為玩家提供操作提示和指引,讓玩家在游戲過(guò)程中和系統(tǒng)進(jìn)行交互。
UGUI:Canvas、Image、Text等
渲染模式:
1.Screen Space-Overlay:屏幕空間 覆蓋,此CanVas下面的所有游戲?qū)ο骍I都會(huì)直接繪制在游戲窗口的平面上,簡(jiǎn)言之,優(yōu)先顯示游戲UI,不會(huì)被其他遮擋;
2.Screen Space -Vamera:屏幕空間 攝像機(jī),顯示效果基本和第一個(gè)一致,是指在Scene視圖有區(qū)別,需要手動(dòng)指定渲染攝像機(jī)Render Vamera
3.World Psace:世界空間 在VR項(xiàng)目開(kāi)發(fā)中,所有的Canvas都要設(shè)置成World SPace。
了解UI系統(tǒng)的調(diào)用:引入U(xiǎn)I命名空間:UsingUnityEngine.UI;
創(chuàng)建一個(gè)unity地形:
1.如何安裝terrain Tools
首先需要激活
2.下載包里面的資源,
開(kāi)始制作 選擇筆刷 開(kāi)始刷地形,按住shift 可以降低地形
1.繪制地形基本形狀
筆刷強(qiáng)度快捷鍵:A+鼠標(biāo)左鍵
筆刷大小快捷鍵:S+鼠標(biāo)左鍵
筆刷方向快捷鍵:D+鼠標(biāo)左鍵
筆刷切換快捷鍵: , or 。 逗號(hào)或者句號(hào)
jitter:隨機(jī)值
快捷鍵F: 鼠標(biāo)在地形圖內(nèi) 聚焦到某點(diǎn) 在外 顯示地形整個(gè)框架 按住F可以游覽地形
2.填充顏色 紋理
添加紋理
法線值一般:1
————————————————
版權(quán)聲明:本文為CSDN博主「俗人雜文」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_41853937/article/details/123876045