轉載請注明出處: http://www.cnblogs.com/yuxiuyan/p/7535345.html
工欲善其事,必先利其器。
上回書說到,開發游戲用到unity和C#。本篇博客將從零開始做一個unity的基礎入門。\(^o^)/~
歡迎大家的斧正。一起學習一起交流(笑~)
(因為筆者也是心血來潮開這個專欄,所以和大家一樣也是剛剛接觸unity和C#。所以這個專欄還有記錄學習歷程和筆記的作用,確保大家少踩坑。haha)
下面多圖預警。希望大家邊看博客邊動手實踐一下。
目錄結構
一.unity的安裝
這次我使用的unity3D的版本為5.4.3f1,提供給大家一個下載器鏈接:鏈接:http://pan.baidu.com/s/1eSd9QNK 密碼:hk8x
然后提供一個注冊機:鏈接:http://pan.baidu.com/s/1o8hxp4A 密碼:lxld
度娘上有很多具體的破解教程,在這里不再贅述。需要注意的是運行下載器時會讓你選擇需要下載的組件,可以看自己的需要。
二.unity的基礎入門
在這里給大家推薦一個視頻教程:www.mkcode.net,這里面的教程還是挺全的。
(一)游戲場景的基本操作
說幾個概念:
場景:游戲中的一幕,舉幾個栗子。以下都屬於場景。
,
關於一個游戲項目中各部分的關系:
每一個游戲都是一個獨立的項目。創建步驟:
項目文件夾的存儲目錄結構:
Scene面板:場景面板,用於預覽當前的場景。
Project面板:項目面板,用於管理當前項目中的所有資源。
Inspector面板:屬性面板,用於查看和編輯游戲物體和資源的具體信息。
Assets:對應我們項目文件夾的Assets文件夾。
為了更好管理我們的游戲資源,我們會在Assets中建立不同的文件夾,用來存儲不同的游戲資源,如建立Scenes文件夾存儲游戲場景,Scripts文件夾存儲游戲腳本,Textures文件夾存儲貼圖等。
1.Hierachy面板
Hierachy:層級面板,用於顯示當前場景有哪些資源。在這個面板中可以往場景中添加刪除資源。
2.創建3D物體
Hierachy面板右鍵-->3D Object-->Cube
(二)游戲場景制作3D模型
尺寸
以Cube作為參照物的話,Cube是長寬高都為1米的模型。
世界坐標系
X(紅色):右邊 Y(綠色):上邊 Z(藍色):前邊
世界坐標系可以理解為現實生活中的方向,東南西北上下。在我們的場景中世界坐標系是不會變的。
自身坐標系
X(紅色):右邊 Y(綠色):上邊 Z(藍色):前邊
物體自身的坐標系是以物體自身作為參照,確定自身的右邊,上邊,前邊。自身坐標系是可以變化的。
可以通過工具欄上的“local”和“global”來切換物體身上的坐標系顯示效果。
世界坐標的觀察模式
,,,,,
- Persp:透視模式,遠大近小。
- Iso:正交模式,遠近一樣大。
制作3D模型的桌椅
大家可以根據上面說的改變模型的位置,旋轉,縮放,創造一些基礎模型,如下:
這里的桌椅全部都是Cube的變化堆砌組成的。提示幾個快捷鍵:
Ctrl+D:可以快速復制模型。 F:快速聚焦某個物體。 工具欄對於鍵盤的:Q W E R T
材質:物體的質地,物體看起來是什么做的。比如一件木質物品,它的材質就是木頭。
這就是材質。
材質球:英文是Material,在unity中,物體的材質通常使用一個球狀來顯示。如下圖。
比如最右下角的那個材質球,一看就是某個綠草地的材質。
貼圖:英文是Texture,暫時可以認為是代表某種材質的圖片,用於材質球的顯示。舉幾個栗子,
這是某種木板材質的貼圖。
這是某種地板瓷磚材質的貼圖。
在上面提到的,Assets文件夾就是用來保存游戲資源的。
- 在Assets文件夾中建立“Material”文件夾,用於管理材質球。
- 在Assets文件夾中家里“Texture”文件夾,用於管理貼圖。
大家可能會有疑問,上面的材質球和貼圖是怎么創建的呢?
其實很簡單,在Assets文件夾中的Material文件夾中,右鍵-->Create-->Material,就可以創建一個空白材質球。材質球文件的后綴是“.mat”。
這時候我們選中這個材質球,查看Inspector面板,就能看到這個材質球信息。
鼠標選中需要編輯的材質球,點擊屬性面板的“Albedo”前的圓點,在彈出的“貼圖選擇界面”選擇需要的材質。比如選擇了之前的木板貼圖:
可以有兩種使用方式:
- 將材質球拖拽到Hierarchy面板上相應的物體上
- 將材質球拖拽到Scene面板上相應的物體上
注:還可以通過着色器(shader)來編輯材質球的效果。據說會寫shader的都是高手。
最后總結一張圖:
- 空物體就好比是資源管理器的文件夾,可以用來管理資源。
- 創建空物體很簡單,在Hierarchy面板右鍵-->Create Empty,就完成了一個空物體。空物體雖然也有自身坐標系,但是點擊Scene面板是完全看不出來的。
- 移動父物體,子物體也會跟着移動, 就像我們移動電腦上的一個文件夾,里面的文件也會跟着移動。
- 在Hierarchy面板上,任意兩個物體都可以建立父子關系。
預制體,英文是Prefab,顧名思義,是“預先准備好的物體”,可以重復使用和利用。
預制體有點像java中的類,通過這個類可以生成許多對象。就像鳴人的影分身,可以生成很多相同的分身。
那么在游戲中哪些地方用到了預制體呢?
比如游戲中的小(pao)兵(hui),他們長得都一樣,都是使用了預制體復制出來的。
在Assets文件夾中建立“Prefabs”文件夾,用來存儲管理預制體。
可以將Hierarchy面板中的游戲物體直接拖拽到Project面板的Prefabs文件夾中,就產生了一個預制體。預制體文件的后綴是“.prefab”。
比如我們要做一個教室模型,那么這些桌椅就可以做成預制體。需要時直接再拖拽到Hierarchy面板或者Scene面板,就產生了新的游戲物體。
為什么使用預制體呢?就跟java中為什么使用類是一樣的。方便批量管理。
加入需要改變預制體,只需要在某一個預制體生成的游戲物體上做出改變,然后在Inspector面板點擊“Apply”,就可以把改變傳遞到所有由預制體生成的游戲物體上。
Game視圖是游戲視圖,也是游戲的運行預覽窗口。
點擊“播放”按鈕,屬兔會自動切換到游戲視圖進行預覽;再點擊一次“播放”按鈕,就可以退出游戲的運行狀態,回歸到場景視圖。
注意:游戲在運行狀態時,做的任何操作都不會保留。
- 攝像機(Camera)就是我們的眼睛,用來觀察游戲世界。眼睛的話會有一個觀察的區間,就是上圖的那個錐形,叫做“視錐體”。在視錐體范圍內的物體,我們都可以看到。右下角 就是攝像機的預覽窗口。
- 攝像機用於在合適的位置和角度觀察游戲世界。電影中的畫面是由攝像機的角度和位置來決定的;我們游戲中觀看到的畫面也是由攝像機的角度和位置來決定的。游戲運行時看到的 畫面就是攝像機拍下的畫面。
- 在Hierarchy面板選中Camera,Scene視圖會出現預覽窗口。
- 根據軸向移動攝像機的位置,旋轉攝像機的角度。
- 菜單欄GameObject-->Align With View對齊視圖。讓攝像機對齊到當前視圖,使得Scene與Game中觀看角度和位置一致。
- 創建攝像機:Hierarchy面板右鍵-->Camera。
- Clear Flags[清除標記],有兩個值:Skybox,Solid Color。效果分別如下:
- Background[背景顏色],當Clear Flags為Solid Color時,場景的背景顏色。
- Projection[投影],有兩個值:Perspective(透視模式),Orthographic(正交模式)。
- Clipping Planes[切割面],Near:近平面,攝像機最近看到的東西。Far:遠平面,攝像機最遠能看到的東西。
簡介
燈光(light),用於照亮我們的游戲世界。還可以烘托場景氛圍;使場景產生陰影,增加真實感和立體感。
在我們創建一個新的Scene場景時,會默認帶有兩個游戲物體,Camera和Light。
選中物體,在Inspector面板上圖標的右側的復選框,可以選擇隱藏還是顯示物體。
方向光
方向光(Directional Light),用來模擬現實生活中的自然光。
方向光任何地方都能照射到,就和太陽一樣,但是要注意照射方向。
有幾個常用屬性
Type:用於切換燈光類型,是自然光,還是點光源,聚光燈等類型
Color:燈光顏色,常常用於烘托氣氛。
Intensity:燈光的照射強度。
Shadow Type:設置方向光照射到的物體的投影效果。有三個值,No Shadow(沒有陰影),Hard Shadow(陰影邊緣為鋸齒狀的硬陰影),Soft Shadow(陰影邊緣比較平滑柔和的軟陰影)。
在這篇博客,我們了解了unity的安裝以及簡單使用。涉及到了游戲場景,模型,材質球,預制體,攝像機,燈光。
這些都屬於unity軟件的簡單使用,還沒有涉及到組件和腳本,也沒有開始寫代碼。在下一篇,我們會涉及到unity簡單的組件和腳本。