Unity3D簡介


博文地址:       http://blog.csdn.net/huangyongf/article/details/52523460

Unity3D簡介

現在的 Unity 已經發展到了 Unity 5,使用 Unity 可以創建 2D 或 3D 游戲、建築格式化、實時三維動畫等互動內容的多平台的游戲開發工具,是一個全面綜合的,跨平台的游戲引擎。還可以使用 Unity Web Player 這一插件開發網頁游戲。

詳情參考Unity3D_百度百科

如果你還認為Unity3D不值得學習,你可以先去了解什么是VR,什么是AR,可以了解他們有多么強大,而這些都可以通過Unity3D開發。
AR技術應用 の 照片透視效果
我也是看了上面的文章決心畫點時間研究下Unity3D,可能你還擔心學會這個無用武之地,再來看看這個
http://m.iqiyi.com/w_19rtchv0w9.html

如果你錯過了2000年的互聯網潮流,09年的移動互聯網潮流,而現在VR,AR潮流還想錯過嗎?

學習資料整理(待完善)

首先你得學習一門在Unity中可以使用的語言,官方推薦的由JS和C#兩種。現在主流的插件大都是C#編寫。
《C#編程指南》
新人可以只看前面的關鍵字和基礎部分,后面到委托事件可以先不看。

Unity官方API
Unity聖典
Unity3d之Shader學習資料整理

下載安裝

Unity 中文官網
Unity 英文官網
個人版下載地址


點擊下一步

介紹用戶協議

勾選安裝的組件


Unity 默認勾選的,是 Unity 游戲引擎本身;建議不要去掉,其余組件如Android Build Support 和IOS Build Support可以選擇性支持。


漫長的下載

創建項目

安裝完成后,就來到了下面這個界面:
輸入用戶名和密碼,沒有的話,點create one注冊一個。


登錄賬號

Paste_Image.png

選擇個人版本,企業版本是收費的。


選擇個人版本

然后就是調查界面,根據實際情況隨便選選就進下一個界面了。
接下來就可以創建工程了。
在上面輸入項目名稱,下面修改路徑,路徑最好不要包括中文或空格。


創建工程

點擊create project 就進入了項目界面。


項目界面

菜單界面

要想開發,首先玩轉頂部菜單界面。


菜單
  1. File(文件菜單)下主要是負責Unity3D工程文件的打開和發布設置等菜單按鈕。
  2. Edit(編輯菜單)下主要是負責Unity3D中常見的工程設置,比如設置默認的編輯器或渲染的質量設置等。
  3. GameObject(游戲對象菜單)下主要是負責讓開發者可以手動創建的一些物體對象的功能,例如:燈光,基礎的Cube,plane,以及相機等物體。
  4. Component(組件菜單)Unity3D中最常用的菜單,主要是負責一些特效,物理碰撞和動畫等組件的添加。
  5. Window(窗口菜單)主要是負責顯示和調控Unity3D界面中出現的各種可視化窗口。
  6. Help(幫助菜單)主要是Unity3D的一些版本信息以及用戶手冊、API以及開發者論壇的鏈接等。

視圖窗口

Unity3D中最常見的窗口有五個,分別是:Scene、Game、Hierarchy、Project、Inspector。

  1. Scene窗口:是放置模型文件的地方,所有在游戲中使用的模型都可以在這里被編輯和操作。

    Scene窗口
  2. Game窗口:所有在Scene窗口中擺放的模型文件都會通過攝像機直接渲染到Game窗口,幾乎是同步的所見即所得。

    Game窗口
  3. Hierarchy窗口:主要負責管理在游戲中使用的模型、相機、燈光、以及相關組件。注意:在這里出現的組件或模型對象時一定在游戲中使用的。

    Hierarchy窗口
  4. Project窗口:工程文件窗口,所有的工程文件資源都在這里,包括模型、貼圖、材質、腳本、以及插件等。在project窗口中出現的文件不一定在游戲中都會使用的到。

    Project窗口
  5. Inspector窗口:當在Hierarchy面板上選中一個對象,就可以在Inspector面板上看到所有該對象的組件信息,並且可以再這里進行編輯,效果會立馬顯示在Game窗口中,非常方便。

    Inspector窗口

四種坐標系

學習Unity3D,首先要理解Unity3D中簡單地三維空間概念,Unity3D有四種坐標系,包括世界坐標,屏幕坐標,視口坐標和繪制GUI界面的坐標系。

  1. World Space(世界坐標):我們在場景中添加物體(如:Cube),他們都是以世界坐標顯示在場景中的。transform.position可以獲得該位置坐標。
  2. Screen Space(屏幕坐標):以像素來定義的,以屏幕的左下角為(0,0)點,右上角為(Screen.width,Screen.height),Z的位置是以相機的世界單位來衡量的。注:鼠標位置坐標屬於屏幕坐標,Input.mousePosition可以獲得該位置坐標,手指觸摸屏幕也為屏幕坐標,Input.GetTouch(0).position可以獲得單個手指觸摸屏幕坐標。
  3. ViewPort Space(視口坐標):視口坐標是標准的和相對於相機的。相機的左下角為(0,0)點,右上角為(1,1)點,Z的位置是以相機的世界單位來衡量的。
  4. 繪制GUI界面的坐標系:這個坐標系與屏幕坐標系相似,不同的是該坐標系以屏幕的左上角為(0,0)點,右下角為(Screen.width,Screen.height)

四種坐標系的轉換

  1. 世界坐標→屏幕坐標:camera.WorldToScreenPoint(transform.position);這樣可以將世界坐標轉換為屏幕坐標。其中camera為場景中的camera對象。
  2. 屏幕坐標→視口坐標:camera.ScreenToViewportPoint(Input.GetTouch(0).position);這樣可以將屏幕坐標轉換為視口坐標。其中camera為場景中的camera對象。
  3. 視口坐標→屏幕坐標:camera.ViewportToScreenPoint();
  4. 視口坐標→世界坐標:camera.ViewportToWorldPoint();

后記

感覺Unity3D的未來是光明的,我也是這兩天剛剛開始學習Unity3D,歡迎大神點評,指出不足。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM