建立項目
輕按兩下Unity,選擇New Project:
我們将它命名為rts,懸着其他本地磁盤例如C:,選擇3D然後點選Create Project:
然後我們通過File->Save Scene,儲存目前的場景為“scene”(不需要“”)
錄影機
Unity會自動添加相機到工程中。如下圖所示,我們在Hierarchy中選擇錄影機,在Inspector分别修改Position和Rotation的值,讓錄影機看向地面。
注意:我們還看不到任何東西,因為我們的場景還是空的。
燈光
Unity已經在我們建立場景的時候自動添加了Directional Light。讓我們在Hierarchy直接選中它。然後分别如下圖所示調整角度和燈光的設定:
注意:我們可以根據我們自己的需要設定這些屬性,但上面這種設定在我們後面的遊戲裡看起來好些。
開始裝滿這個世界
現在所有的事情都準備就緒了,我們可以在場景裡添加多種多樣很酷的東西了。
地面
地面是一個簡單的Unity Plane。我們可以通過在頂部菜單中選擇GameObject->3DObject->Plane來建立它。我們将其命名為Ground并且在Inspector中調整它的縮放比例。
注意:取一個恰當的名字“Ground”是很重要的。
讓我們給地面添加些顔色。首先我們可以通過我們選擇的工具(例如Paint.NET)建立一個簡單40x40的材質。
然後我們将其從Project區域中拖動到我們的Ground上:
展現給我們的效果是這樣的:
這看起來相當的光滑,但是我們需要進一步的将其像素化,好讓它能表現出一種更獨特的風格。是以我們想要在Project區域裡選擇我們的材質,并且在Inspector中修改它的Import Settings:
現在的結果是這樣的:
這種平滑的效果叫做插值法。通常情況下這是一種好的效果,但是對我們的像素遊戲來說我們需要将Filter Mode設定值成Point,再将Format設定成Turecolor。
注意:我們需要為遊戲裡所有的材質進行這些設定。
建立3D模型
現在是時候為我們的遊戲建立3D模型了。别擔心,這裡并不會用到CAD。我們通過Unity實作這一切。
技巧
在Unity的GameObject->3D Object菜單中我們可以建立一些基礎的幾何模型,例如球,立方體,平面和圓柱體等等:
我們将這些都放入一個空的GameObject中,命名并且将它保持為預制件(Prefab),隻需要簡單的将它拖到Project區域中就可以實作了(最好建立一個檔案夾名為“Prefabs”)。
建立一個箭頭
我們建立一個箭頭用來射擊,首先我們需要建立第一個空的GameObject來将所有的東西裝入裡面,點選GameObject->CreateEmpty建立,并将它命名為Arrow。然後點選GameObject->3DObject->Cube建立三個新的Cube把它放入Arrow中如圖所示:
注意:Arrow被稱為根節點,Cubes被稱為子節點。
現在需要做的就是通過移動位置,調整角度,縮放大小這些操作,直到它看起來像一根箭頭
現在我們要為它添加一個簡單材質:
注意:右擊圖檔,選擇Save As...将它保持到Assets/Textures檔案夾中。
然後将它從Project區域中拖拽到每一個Cube上。最終的結果如下:
我們不需要在場景中總是顯示箭頭。是以我們需要将箭頭GameObject儲存成一個箭頭預制件(Prefab)。更多有關于預制件的知識可以閱讀相關預制件的教程。
為了建立預制件,我們可以在Project中建立一個Prefabs目錄,将Arrow從Hierarchy中拖拽到檔案夾:
現在我們可以将Arrow從Hierarchy中删除了。
城堡和弓箭射擊物體
我們使用之前的方法統一建立我們的3d遊戲模型。
有一件我們需要牢記的事情是所有的子GameObjects的坐标在某種程度上都要接近于(0,0,0),因為當一個GameObject為子節點時,它的坐标都是相對于父節點的。換句話說:如果子節點的x軸坐标是1,這就意味着它位于父節點x軸方向上1米遠的地方,不論父節點現在身在何處。不管父節點如何移動,子節點總是跟随移動。
好的,讓我們來用Cube建立一個城堡
用Cube建立作戰機關每個Cube的坐标:
我們将城堡複制一份,并将它們分别命名為“CastlePlayer”和“CastleNpc”。同樣的把作戰機關也複制一份,分别命名為“ArrowShootingThingPlayer”和“ArrowShootingThingNpc”。随意給他們上一些顔色
注意:所有玩家的模型我們使用橙色和白色,所有Npc模型我們使用黑色和白色。