博文地址: 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 游戲引擎本身;建議不要去掉,其余組件如Android Build Support 和IOS Build Support可以選擇性支持。
創建項目
安裝完成后,就來到了下面這個界面:
輸入用戶名和密碼,沒有的話,點create one注冊一個。
選擇個人版本,企業版本是收費的。
然后就是調查界面,根據實際情況隨便選選就進下一個界面了。
接下來就可以創建工程了。
在上面輸入項目名稱,下面修改路徑,路徑最好不要包括中文或空格。
點擊create project 就進入了項目界面。
菜單界面
要想開發,首先玩轉頂部菜單界面。
- File(文件菜單)下主要是負責Unity3D工程文件的打開和發布設置等菜單按鈕。
- Edit(編輯菜單)下主要是負責Unity3D中常見的工程設置,比如設置默認的編輯器或渲染的質量設置等。
- GameObject(游戲對象菜單)下主要是負責讓開發者可以手動創建的一些物體對象的功能,例如:燈光,基礎的Cube,plane,以及相機等物體。
- Component(組件菜單)Unity3D中最常用的菜單,主要是負責一些特效,物理碰撞和動畫等組件的添加。
- Window(窗口菜單)主要是負責顯示和調控Unity3D界面中出現的各種可視化窗口。
- Help(幫助菜單)主要是Unity3D的一些版本信息以及用戶手冊、API以及開發者論壇的鏈接等。
視圖窗口
Unity3D中最常見的窗口有五個,分別是:Scene、Game、Hierarchy、Project、Inspector。
- Scene窗口:是放置模型文件的地方,所有在游戲中使用的模型都可以在這里被編輯和操作。
Scene窗口 - Game窗口:所有在Scene窗口中擺放的模型文件都會通過攝像機直接渲染到Game窗口,幾乎是同步的所見即所得。
Game窗口 - Hierarchy窗口:主要負責管理在游戲中使用的模型、相機、燈光、以及相關組件。注意:在這里出現的組件或模型對象時一定在游戲中使用的。
Hierarchy窗口 - Project窗口:工程文件窗口,所有的工程文件資源都在這里,包括模型、貼圖、材質、腳本、以及插件等。在project窗口中出現的文件不一定在游戲中都會使用的到。
Project窗口 - Inspector窗口:當在Hierarchy面板上選中一個對象,就可以在Inspector面板上看到所有該對象的組件信息,並且可以再這里進行編輯,效果會立馬顯示在Game窗口中,非常方便。
Inspector窗口
四種坐標系
學習Unity3D,首先要理解Unity3D中簡單地三維空間概念,Unity3D有四種坐標系,包括世界坐標,屏幕坐標,視口坐標和繪制GUI界面的坐標系。
- World Space(世界坐標):我們在場景中添加物體(如:Cube),他們都是以世界坐標顯示在場景中的。transform.position可以獲得該位置坐標。
- Screen Space(屏幕坐標):以像素來定義的,以屏幕的左下角為(0,0)點,右上角為(Screen.width,Screen.height),Z的位置是以相機的世界單位來衡量的。注:鼠標位置坐標屬於屏幕坐標,Input.mousePosition可以獲得該位置坐標,手指觸摸屏幕也為屏幕坐標,Input.GetTouch(0).position可以獲得單個手指觸摸屏幕坐標。
- ViewPort Space(視口坐標):視口坐標是標准的和相對於相機的。相機的左下角為(0,0)點,右上角為(1,1)點,Z的位置是以相機的世界單位來衡量的。
- 繪制GUI界面的坐標系:這個坐標系與屏幕坐標系相似,不同的是該坐標系以屏幕的左上角為(0,0)點,右下角為(Screen.width,Screen.height)。
四種坐標系的轉換
- 世界坐標→屏幕坐標:camera.WorldToScreenPoint(transform.position);這樣可以將世界坐標轉換為屏幕坐標。其中camera為場景中的camera對象。
- 屏幕坐標→視口坐標:camera.ScreenToViewportPoint(Input.GetTouch(0).position);這樣可以將屏幕坐標轉換為視口坐標。其中camera為場景中的camera對象。
- 視口坐標→屏幕坐標:camera.ViewportToScreenPoint();
- 視口坐標→世界坐標:camera.ViewportToWorldPoint();
后記
感覺Unity3D的未來是光明的,我也是這兩天剛剛開始學習Unity3D,歡迎大神點評,指出不足。
