Unity3D系列教程–使用免費工具在Unity3D中開發2D遊戲 第二節(上)

來源:互聯網
上載者:User

  聲明:   本部落格文章翻譯類別的均為個人業餘時間翻譯,著作權。轉載請註明出處:http://www.wjfxgame.com,另外本人的CSDN部落格:http://blog.csdn.net/ml3947

   

  譯者說明: 

       公司目前的3D項目由OGRE 3D轉為Unity3D了,由於整個3D項目組只有我對Unity3D比較熟,所以前期研究工作都是我來完成的。截至今天,基本上一些像Unity3D雙屏3D模式啊,控制滑鼠,類比滑鼠事件,調用OpenCV等重點技術問題都已完美解決,所以我們這邊TM,MD和台北開了緊急會議,全面轉向Unity3D。而且TM居然還申請到了一個月學習時間-
-!!讓我給大家培訓一下Unity3D的相關內容。不過Unity3D這個東西,跟其他的很多技術類似,入門容易精通難,大部分人都只是在做一些很簡單基礎的東西,還好我也可以通過這一段寶貴的時間來提高自己,不用老是在晚上擠時間了。JavaFX那個遊戲引擎的話,進度就比較慢了,但在我計劃中,本身也就是慢慢做,不會花很多的時間在上面,因為JavaFX前景還不是很明朗,我也在等著JavaFX的下一個重大更新。

       廢話又說了一堆,就像上一節所說,寫部落格人的通病....

      

       上一節中,我們主要介紹了一些我們遊戲開發中需要用到的免費的外掛程式和工具,以及他們如何初始化。這一節中,我們將會學習如何建立關卡,然後完成我們這個遊戲的第一關。


       我們在第一節講述的所有外掛程式中,最主要的還是Orthello 2D。Orthello在新的版本中更新了一些很酷的新特性。請確認你正在使用1.6a或更新的版本。


     Build Settings     File -> Build Setting ,選擇WebPlayer(如果你喜歡的話,也可以使用PC and Mac Standalone),然後關閉Build Setting視窗。                Player Settings       Edit -> Project Setting -> Player, 在Per-Platform Settings下面點擊Resolution and Presentation,然後改變 Screen Width 為 800,  Screen Height 為 600. 

     Render Settings       由於我們通常不會在2D遊戲中使用Unity3D的燈光系統,我們必須通過調整Unity3D預設的環境光線來讓遊戲情境顯得更加明亮。步驟如下:              1. Edit -> Render Settings...
       2. 點擊 Ambient Light 然後,把它的顏色改變為(255,255,255,255).                  

     Orthello 2D初始化設定       1. 在Unity的Project的視圖裡,進入Orthello -> Objects,然後將 OT object拖到項目情境中。
       2. 在 Hierarchy 視圖裡,點擊 OT object將它展開,然後點擊 View。在 View的屬性下,設定 Pixel Perfect Resolution 為 800 x 600.
       3.更改Custom Size為 10.
      現在,如果你在 Hierarchy中選中 Main Camera, 你將會看到 它的Projection已經被更改為 Orthographic 而且 Size 被改為 10. 當你將OT object添加到情境的時候,Orthello 會自動將它的Projection從Perspective更改為Orthographic。而且當我們改變
Orthello View 的 Custom Size 的時候, Main  Camera的Size也會改變。
      經過一系列的實驗,我發現了,在設定為800 x 600的解析度 和 size為 10 的情況下,一個1 x 1 x 1的Cube將會在螢幕中佔用30的像素。這樣準確的像素大小,將讓我們在製作關卡的時候建立網格變得更加容易。
      當你完成了以上步驟後, 你的工程檔案應該看起來像。注意,我已經在情境中增加了一個Cube。                      製作關卡的Sprite Atlas         現在你已經知道所有的初始化設定步驟了。 是時候讓一切都變得更加有趣。我們在這個遊戲中的關卡貼圖主要包含如下幾個簡單的部分: 磚塊(可以被挖開的),混凝土(不能被挖開的),梯子和繩子。          下載精靈圖片,然後解壓到任何位置。(譯者註:詳細的請看最下面的檔案,裡面會包含精靈的)。
         開啟TexturePacker  然後拖動所有的.png檔案從sprites/leve和sprites/shoot檔案夾到 Sprites的面板。         Texture Settings / Layout         設定 Algorithm為Basic,取消Trim的選中,取消Enable Auto Alias的選中。
         Texture Settings  / Output         將Data的格式設定為cocos2d。在Data File下,點擊"..."按鈕,瀏覽你想要存放你的精靈的目錄(我把它放在項目的Assets/SpriteAtlases中),將名稱改為level
然後點擊Save儲存。         TexturePacker將會自動添加.plist到Data File中,不過Unity需要檔案為.xml,所以在輸入框中,我們將.plist改為.xml.         現在這個Texture File的路徑應該已經被設定為跟.xml相同的路徑了。              如果你已經做了上面的步驟,你的TexturePacker應該看起來下如:                 現在如果你點擊Publish,然後返回到Unity,你可以看到一個SpriteAtlases檔案夾,而且還有Sprite Atlas和一個Data檔案在裡面。                 我們需要在Unity裡對Sprite Atlas做一些改變讓它看起來正確。        1. 在Project視圖裡選擇level.png,把 Filter Mode 改為 Point       2. 點擊Override for Web,將
Format 設定為 Truecolor然後點擊 Apply 應用。
      製作關卡精靈        現在是時候使用Orthello,然後把Atlas轉變為精靈對象了。
        The Sprite Container       1. 在Unity3D的Project視圖中,展開Orthello檔案夾:Orthello ->  Objects -> Sprites - > SpriteAltas然後拖動SpriteAtlas-Cocos2D到Hierarchy中。        2. 在Hierarchy視圖中,展開OT object,你將會在Containersobject下面看到一個類似與"Container(id=-684)"的東西。這個Container將會收容我們所有的關卡精靈。我們可以將它改名為level。      3. 將level.png從SpriteAtlases檔案夾拖動到"OTSprite Atlas Cocos 2D"指令碼中的Texture屬性中。        4. 將level.xml從SpriteAtlases檔案夾拖動到 Atlas Data File 屬性中。現在當你把 Atlas Data 屬性展開,你可以看見我們用TexturePacker打包的圖片裡的所有的圖塊了。
        如所示:          
         這一章有點長,由於現在時間也不早了,我決定把它分為上下兩節,明天晚上繼續翻譯。其實各位朋友感興趣的話,也可以等我全翻譯完了再看。 
           這節所用的貼圖資源:點擊  。
        轉載請註明出處:http://blog.csdn.net/ml3947
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.