??簡介組件是在游戲對象(Game Object)中的實現(xiàn)某些功能的集合無論是模型,、 GUI,、燈光還是攝像機,所有游戲對象本質上都是一個空對象掛載了不同類別的組件,,從而讓該游戲對象擁有不同的功能,。 簡單說一下Unity開發(fā)的框架:項目—>場景—>游戲對象—>組件—>屬性 一個游戲由多個場景(Scene)組成 一個場景由多個游戲物體(GameObject)組成 一個游戲物體由多個組件(Component)組成 對于一個空游戲對象來說,如果為其添加一個攝像機組件,那么該對象就是一架 攝像機,;如果為其添加了網(wǎng)格過濾(Mesh Filter)組件,,那么該對象就是一個模 型;如果為其添加了燈光組件,,該對象就是一盞燈光,。在Unity中也是一種組件 ??Unity工程結構在介紹Unity的各種組件之前,先來簡單介紹下Unity的工程結構一般來說,,一個Unity工程正常都會有這四個文件夾 Assets :是用來存儲?程所需的所有資源?件 (必備)Library :是?程所需要的所有資源庫(類庫)是Unity?動給我們?成的,,如果一個Unity工程開發(fā)時間長了,這個文件夾可能會很大,,一般來說直接刪除了,,工程也可以正常開發(fā)使用ProjectSetting :是我們當前Unity工程的一些?程設置?件,就是下圖上面這些設置相關就存儲在這個文件夾,,刪除的話就要重新配置了Temp :是臨時?件,,一般來說也沒啥用,可看情況選擇去留 ??幾種常用組件介紹??Transform組件Transform 是物體模型最基本的組件,,基本上所有物體都有
總結一句話就是——Transform是用于控制游戲對象的位置,、旋轉和大小比例的下圖分別是Transform的Inspector面板屬性圖和各種屬性 ??Mesh Filter(網(wǎng)格過濾器)和Mesh Renderer(網(wǎng)格渲染器)Mesh:是指模型的網(wǎng)格,,建模就是建網(wǎng)格。細看Mesh,,可以知道Mesh的主要屬性內(nèi)容包括頂點坐標,,法線,紋理坐標,,三角形繪制序列等其他有用屬性和功能。因此建網(wǎng)格,,就是畫三角形,;畫三角形就是定位三個點。 Mesh Filter(網(wǎng)格過濾器):內(nèi)包含一個Mesh組件,,可以根據(jù)MeshFilter獲得模型網(wǎng)格的組件,,也可以為MeshFilter設置Mesh內(nèi)容。 Mesh Render(網(wǎng)格渲染器):是用于把網(wǎng)格渲染出來的組件,。MeshFilter的作用就是把Mesh扔給MeshRender將模型或者說是幾何體繪制顯示出來,。 每個GameObject都可以有一個MeshFilter組件,也可以沒有,。如果有該組件,,那么一定有Mesh屬性,,而且有MeshFilter的話,就必須要Mesh Renderer才能將此網(wǎng)格渲染出來,,不然是看不見該網(wǎng)格的,。 大概就是這么個邏輯:MeshFilter->Mesh->Mesh Renderer ??Collider (物體碰撞器)碰撞器是Unity引擎為模擬物理效果的組件 功能:可以讓兩個帶有碰撞器的游戲對象相互接觸的時候不會穿透過去,而是會發(fā)生一個碰撞效果 一般來說創(chuàng)建一個物體時系統(tǒng)會自動匹配相應的Collider(碰撞器) 創(chuàng)建的時候先選中游戲對象,,然后在Inspector面板上點擊Add Component ,,然后添加想要的碰撞器就行選中游戲對象->Inspector面板->Add Component->(想要的組件)(添加大部分組件都是這個流程)碰撞器有以下幾種,下面就簡單介紹一下,,這幾種碰撞器組件屬性其實都差不多,,就是調(diào)整大小的時候面板屬性會有所差別 1.盒碰撞器(Box Collider) 2.橢圓碰撞器(Sphere Collider) 3.膠囊碰撞器(Capsule Collider) 4.網(wǎng)格碰撞器(Mesh Collider) 5.車輪碰撞器(Wheel Collider) 6.地形碰撞器(Terrain Collider)碰撞器屬性介紹
??剛體(RigidBody)上面介紹了碰撞體,,這下來介紹剛體,。其實他倆都是為了模擬物理引擎效果而存在的,一般來說也會配合使用 在Unity理引擎中,,使用 剛體(RigidBody) 來模擬這種物理效果. 當一個游戲對象被賦予剛體組件之后,,游戲引擎就會對其進行物理效果的計算和模擬。同時我們也可以給這個對象施加各種作用力,,讓它運動起來,。另外如果要實現(xiàn)重力的效果,那么相應的游戲物體都必須附上剛體組件,。組件添加方法還是老樣子,,選中游戲對象->Inspector面板->Add Component->RigidBody面板屬性屬性介紹
??腳本Unity中的腳本也算是組件的一種,,可以掛在游戲物體上,同時也是有限制的,,并不是所有的腳本都可以掛到對象上面的 關于腳本這部分會再寫一篇文章單獨詳細介紹,,這里就簡單提及一下好啦 可以先看下圖簡單了解下 ??添加、獲取和銷毀組件的方法既然簡單提到腳本了,,那就正好先說一下怎樣在腳本中添加,、獲取和銷毀組件的方法吧添加組件 GameObject Cube= GameObject.CreatePrimitive(PrimitiveType.Cube);//創(chuàng)建一個方格 獲取組件 BoxCollider boxCollider = Cube.GetComponent<BoxCollider>();//獲取盒形碰撞器組件 銷毀組件 //()中的參數(shù)為創(chuàng)建相應組件時的組件名稱 ??總結本篇博客對于Unity中幾種最常見和最常用的組件做了一個介紹 當然在Unity中的組件數(shù)不勝數(shù),都是對應相應的功能需求來做的,,在這里就不對贅述了,,以后用得到再單獨介紹也不遲 如果覺得有用可以給個三連支持一下呀~加油! |
|