現(xiàn)在的 Unity 已經(jīng)發(fā)展到了 Unity 5,使用 Unity 可以創(chuàng)建 2D 或 3D 游戲、建筑格式化、實時三維動畫等互動內容的多平臺的游戲開發(fā)工具炊昆,是一個全面綜合的,跨平臺的游戲引擎。還可以使用 Unity Web Player 這一插件開發(fā)網(wǎng)頁游戲窑眯。
詳情參考Unity3D_百度百科
如果你還認為Unity3D不值得學習屏积,你可以先去了解什么是VR,什么是AR磅甩,可以了解他們有多么強大,而這些都可以通過Unity3D開發(fā)姥卢。
AR技術應用 の 照片透視效果
我也是看了上面的文章決心畫點時間研究下Unity3D卷要,可能你還擔心學會這個無用武之地,再來看看這個
http://m.iqiyi.com/w_19rtchv0w9.html
如果你錯過了2000年的互聯(lián)網(wǎng)潮流独榴,09年的移動互聯(lián)網(wǎng)潮流僧叉,而現(xiàn)在VR,AR潮流還想錯過嗎棺榔?
學習資料整理(待完善)
首先你得學習一門在Unity中可以使用的語言瓶堕,官方推薦的由JS和C#兩種。現(xiàn)在主流的插件大都是C#編寫症歇。
《C#編程指南》
新人可以只看前面的關鍵字和基礎部分郎笆,后面到委托事件可以先不看。
Unity官方API忘晤。
Unity圣典
Unity3d之Shader學習資料整理
下載安裝
Unity 中文官網(wǎng)
Unity 英文官網(wǎng)
個人版下載地址
Unity 默認勾選的宛蚓,是 Unity 游戲引擎本身;建議不要去掉设塔,其余組件如Android Build Support 和IOS Build Support可以選擇性支持凄吏。
創(chuàng)建項目
安裝完成后,就來到了下面這個界面:
輸入用戶名和密碼,沒有的話闰蛔,點create one注冊一個痕钢。
選擇個人版本,企業(yè)版本是收費的序六。
然后就是調查界面任连,根據(jù)實際情況隨便選選就進下一個界面了。
接下來就可以創(chuàng)建工程了难咕。
在上面輸入項目名稱课梳,下面修改路徑,路徑最好不要包括中文或空格余佃。
點擊create project 就進入了項目界面暮刃。
菜單界面
要想開發(fā),首先玩轉頂部菜單界面爆土。
- File(文件菜單)下主要是負責Unity3D工程文件的打開和發(fā)布設置等菜單按鈕椭懊。
- Edit(編輯菜單)下主要是負責Unity3D中常見的工程設置,比如設置默認的編輯器或渲染的質量設置等。
- GameObject(游戲對象菜單)下主要是負責讓開發(fā)者可以手動創(chuàng)建的一些物體對象的功能氧猬,例如:燈光背犯,基礎的Cube,plane盅抚,以及相機等物體漠魏。
- Component(組件菜單)Unity3D中最常用的菜單,主要是負責一些特效妄均,物理碰撞和動畫等組件的添加柱锹。
- Window(窗口菜單)主要是負責顯示和調控Unity3D界面中出現(xiàn)的各種可視化窗口。
- Help(幫助菜單)主要是Unity3D的一些版本信息以及用戶手冊丰包、API以及開發(fā)者論壇的鏈接等禁熏。
視圖窗口
Unity3D中最常見的窗口有五個,分別是:Scene邑彪、Game瞧毙、Hierarchy、Project寄症、Inspector宙彪。
-
Scene窗口:是放置模型文件的地方,所有在游戲中使用的模型都可以在這里被編輯和操作瘸爽。
Scene窗口 -
Game窗口:所有在Scene窗口中擺放的模型文件都會通過攝像機直接渲染到Game窗口您访,幾乎是同步的所見即所得。
Game窗口 -
Hierarchy窗口:主要負責管理在游戲中使用的模型剪决、相機灵汪、燈光、以及相關組件柑潦。注意:在這里出現(xiàn)的組件或模型對象時一定在游戲中使用的享言。
Hierarchy窗口 -
Project窗口:工程文件窗口,所有的工程文件資源都在這里渗鬼,包括模型览露、貼圖、材質譬胎、腳本差牛、以及插件等。在project窗口中出現(xiàn)的文件不一定在游戲中都會使用的到堰乔。
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,歡迎大神點評停忿,指出不足驾讲。