unity3D遊戲開發五之創建基本遊戲場景二

光源是每一個場景的重要組成部分,網格模型和材質紋理決定了場景的形狀和質感,光源則決定了場景環境的明暗、色彩和氛圍。每個場景中可以使用一個以上的光源,合理地使用光源可以創造完美的視覺效果。

uniity提供了4種類型的光源

1、Directional light:方向光源,類似於自然界中日光的照明效果

2、Point light:點光源,類似燈泡的照明效果

3、Spotlight:聚光燈,類似射燈的照明效果

4、Area Light:區域光/面光源

創建過程如下圖:


光源的參數信息:


Type:類型,光源的類型

Range:範圍,該項用於控制光線從光源對象的中心發射的距離,只有點光源和聚光燈有該參數

Color:顏色,該項用於調節光源的顏色

Intensity:強度,該項用於控制光源的強度,聚光燈以及點光源的默認值是1,方向光默認值是0.5

Cookie:該項用於爲光源指定擁有alpha通道的紋理,使光線在不同的地方有不同的亮度

Cookie Size:該項用於控制縮放Cookie投影,只有方向光有該參數

Shadow Type:陰影類型,可以選擇No Shadows(關閉陰影)、Hard Shadows(硬陰影)以及Soft Shadows(軟陰影),只有Directional light光源纔可以開啓陰影

Draw Halo:繪製光暈

Flare:耀斑/眩光,該項用於爲光源指定耀斑/鏡頭光暈的效果

Render Mode:渲染模式,該項用於指定光源的渲染模式,有三項可供選擇,Auto:自動,根據光源的亮度以及運行時質量設置的設置來確定光源渲染模式;Important:重要,光源逐像素進行渲染;No Important:不重要,光源總是以最快的速度進行渲染

Culling Mask:剔除遮蔽圖,選中層所關聯的遊戲對象將受到光源照射的影響

Lightmapping:光照貼圖

OK,下面我們看看具體的案列

先導入已經製作好的場景,如下圖:


我們依次打開菜單欄GameObject->Create Other->Directional light,爲場景添加一個方向光,此時你會發現場景明亮了許多,如下圖:


我們想模擬午後陽光效果,所以在檢索視圖中我們修改光源的顏色,並設置強度爲0.8,並且添加陰影,在Shadows Type中我們選擇Hard Shadows(硬陰影),如下圖:


接下來我們介紹下攝像機

正如電影中的鏡頭用來將故事呈現給觀衆一樣,Unity的攝像機用來將遊戲世界呈現給玩家,遊戲場景中至少有一臺攝像機,也可以有多臺,多臺攝像機可以創建雙人分屏效果或高級的自定義效果。

Unity中支持兩種類型的攝像機,分別是perspective(透視)以及Orthographic(正交)攝像機,可以理解爲用在3D和2D上,我們來看下攝像機的屬性,如下圖:


我們看下Camera組件的參數

Clear Flags:清除標記,決定屏幕的哪部分將被清除,該項一般用於使用多臺攝像機來描繪不同遊戲對象的情況,有3種模式

Skybox:天空盒,該模式爲默認設置,在屏幕中空白的部分將顯示當前攝像機的天空盒,如果當前攝像機沒有設置天空盒,它會默認使用Background背景色。

Solid Color:純色,選擇該模式屏幕上的空白部分將顯示當前攝像機的背景色。

Depth only:僅深度

Don't Clear:不清除

Background: 背景,該項用於設置背景顏色

Culling Mask:剔除遮罩,依據遊戲對象所指定的層來控制攝像機所渲染的遊戲對象

Projection:投射方式

Perspective:透視,攝像機將用透視的方式來渲染遊戲對象

Orthographic:正交,攝像機將用無透視的方式均勻地渲染遊戲對象

Field of view:視野範圍,只針對透視模式,該項用於控制攝像機的視角寬度,以及縱向的角度尺寸

Clipping Planes:剪裁平面,攝像機開始渲染於停止渲染之間的距離

View Port Rect:標準視圖矩形,用四個數值來控制該攝像機的視圖將繪製在屏幕的位置以及大小,該項使用屏幕座標系,數值在0-1之間

Depth:深度,該項用於控制攝像機的渲染順序,較大值的攝像機將被渲染在較小值的攝像機之上

Rendering Path:渲染路徑

Target Texture:目標紋理

HDR:高動態光照渲染

下面我們來看看如何在場景中實現畫中畫

導入現有的場景,在該場景中已經有了一個名爲Camera的攝像機,Deth深度爲0,攝像機視野包括了場景中的橋,如下圖:


接下來我們新創建一個Camera,命名爲Camera01,然後調整攝像機的視野範圍,跟第一個攝像機有所區別,然後Deth設爲1,然後我們我們點擊Play按鈕,發現出現的第二個攝像機的畫面,如下圖:


爲了使該相機佔用屏幕的一部分來實現畫中畫的效果,接下來對ViewPortRect屬性進行編輯,改爲0.6,0.58,1,1,單擊Play按鈕,如下圖:



發佈了98 篇原創文章 · 獲贊 15 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章