程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 【Unity】4.5 樹木創建器,unity4.5樹木創建

【Unity】4.5 樹木創建器,unity4.5樹木創建

編輯:C#入門知識

【Unity】4.5 樹木創建器,unity4.5樹木創建


分類:Unity、C#、VS2015

創建日期:2016-04-11

一、簡介

在地形編輯器一節中,已經告訴了你如何使用已經創建好的樹來形成大片樹林。這一節告訴你在 Unity 5.3.4中如何利用【樹木創建器】一步一步地創建一棵樹:

當你學會了創建樹的基本操作後,你就可以根據自己的需要創建任意形狀的樹了:

二、導入Unity自帶的Environment組件

如果你原來沒有導入Unity自帶的Environment組件,需要導入它:

辦法是:鼠標右擊工程視圖下的Assets文件夾,選擇Environment,在彈出的窗口中,單擊【All】按鈕,然後單擊【Inport】按鈕。

此時,在Standard Assets文件夾下就會看到導入的資源:

依次單擊Environment/SpeedTree文件夾下的各個子文件夾,觀察子文件夾中的文件,以便對其結構有一個大概的了解。

另外,除了樹組件(SpeedTree)以外,Environment下還包含地形組件(TerrainAssets)以及水組件(Water)。

導入Environment以後,就可以直接使用這些組件了。

三、創建第一棵樹

1、創建場景

先添加一個Demo06文件夾,然後在該文件夾下創建一個名為Demo06Scene的場景:

雙擊打開該場景。

2、添加一棵新樹

要在剛創建的場景中創建一個新的樹 (Tree) 資源,需要先鼠標右擊層次視圖(Hierarchy),選擇【3D Object】->【Tree】:

此時在工程視圖 (Project View) 中創建了一個文件名為Tree的預制體文件,將該文件拖放到Demo06文件夾中:

拖放後,在Demo06文件夾下就可以看到這個文件,將其換名為Demo06Tree01以方便識別是哪個例子創建的:

換名後,在當前打開的場景中,即可看到實例化的Demo06Tree01樹(如果看到的不是這樣,將其旋轉縮放一下就看到了):

現在這棵新樹還很簡單,只有一個樹干,接下來我們為它添加樹枝、樹葉。

3、觀察樹木創建器的大致結構

選中這棵樹,先在檢視器 (Inspector) ) 中看一下樹木創建器的大致結構(紅色框):

檢視器中提供了塑造和雕刻你所創建的樹的所有工具和屬性。

在【Tree】選項卡下,可看到呈現節點的樹木層級視圖 (Tree Hierarchy) :樹根 (Tree Root) 節點和一個單一的樹枝組 (Branch Group) 節點(稱為樹干)。

為了方便介紹,以後將樹木創建器中右下角的4個小按鈕(小紅色框內)從左到右分別命名為【按鈕1】、【按鈕2】、【按鈕3】、【按鈕4】:

【按鈕1(Add Leaf)】:添加樹葉。向當前選擇的組節點添加一個樹葉組節點。

【按鈕2(Add Branch)】:添加樹枝。向當前選擇的組節點添加一個樹枝組節點。

【按鈕3(Copy Node)】:復制節點。復制當前選擇的組。

【按鈕4(Delete Node)】:刪除節點。刪除層次視圖 (Hierarchy) 中當前選擇的組或場景視圖 (Scene View) 中的一個節點或一個樣條線點。

除了這4個按鈕外,還有:

【樹木狀態(Tree Stats)】:樹木的狀態信息(在4個小按鈕的上方),此狀態告訴你樹木具有多少頂點、多少三角形和多少種材質。

【外部重載(External Reload)】:也叫刷新,即再次計算整棵樹(該按鈕在4個小按鈕的左邊)。在樹葉網格已改變的情況下,可使用此按鈕。

4、添加樹枝(Adding Branches)

在【Tree】選項卡中,單擊【按鈕2(Add Branch)】添加一個樹枝:

選中剛添加的樹枝,利用4個按鈕下方的【移動樹枝】、【旋轉樹枝】、【自定義樹枝】按鈕,以及【按鈕4(Delete Node)】,通過鼠標拖放小方塊在場景中改變該樹枝的形狀:

單擊主樹干,然後單擊【按鈕2(Add Branch)】,按照上面介紹的相同的辦法,再添加另一個樹枝:

在樹干上創建了樹枝後,還可以進一步選擇次級樹枝組 (Branch Group) 並再次單擊【按鈕2(Add Branch)】在新創建的樹枝上添加更小的樹枝。微調這個組的值,可繼續創建更多連接至次級樹枝的樹枝。

現在,這棵簡單的樹的樹枝結構已經完成,如果游戲場景不是發生在冬天,那麼還需要在樹枝上添加樹葉(Leaf)。

5、添加樹葉

添加樹葉和添加樹枝的操作基本上是一樣的。基本步驟是:先選中某個樹枝節點,然後單擊【按鈕1(Add Leaf)】按鈕即可。

如果想進行非常細致地塑造,也可以再在最小的樹枝上添加另一個樹葉組。

下圖是分別在樹干和2個樹枝上各添加一個樹葉後的場景:

現在,樹葉僅僅被渲染成不透明的平面。這是因為在為它們添加材質之前,我們需要先調整樹葉的值(大小、位置、旋轉等)。調整合適以後,就可以為其添加材質了。

6、添加材質

為了使樹看起來更加逼真,還需要在樹枝和樹葉上應用材質 (Material)。

(1)創建樹枝材質

鼠標右擊Demo06文件夾,選擇【創建 (Create)】 -> 【材質 (Material)】 ,在該文件夾下創建一種新材質,並將其重命名為Demo06Bark01,意思是Demo06文件夾下創建的第1個樹皮(Bark)材質。

在著色器 (Shader) 下拉菜單中,選擇【自然 (Nature)】 -> 【樹木創建器樹皮 (Tree Creator Bark)】:

將【基礎(Base)】屬性和【光澤 (Gloss)】屬性都選擇【BroadleafBark】紋理:

法線貼圖 (Normalmap) 屬性使用【BroadleafBark_Normal】紋理:

這樣在Demo06文件夾下就得到了創建的樹枝材質(Demo06Bark01.mat文件):

選擇某個樹枝,將創建的樹枝材質應用到該樹枝:

依次選擇其他樹枝,直到全部應用材質為止。

(2)創建樹葉材質

按照與創建樹枝材質同樣的步驟,再創建一個文件名為Demo06Leaf01.mat的材質。

在著色器 (Shader) 下拉菜單中,選擇【自然 (Nature)】 -> 【樹木創建器樹葉 (Tree Creator Leaves)】:

指定紋理:

這就得到了樹葉材質:

選擇某個樹葉,將材質應用到該樹葉:

對所有樹葉都做同樣的處理,直到所有樹葉應用完畢。

現在再來看看添加材質後的這棵樹(每個樹枝上都有一個樹葉):

選中某個樹葉,觀察【Frequency】屬性的值,可看出此時該值默認為1:

接下來將【Frequency】屬性的值調整為42,即得到下面的效果:

對另外兩個樹枝執行同樣的操作,就得到了我們希望的樹:

說明:創建樹是一個反復試驗的過程,總的原則是一般不要創建太多的樹葉/樹枝,因為太多的話會影響渲染的性能。

7、添加角色控制器

最後再添加一個第1人稱角色控制器,以便旋轉、拉伸、移動場景:

按【播放】按鈕預覽運行效果。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved