一、可定製的ide環境
u3d這種all in one的設計思路,我在乙個叫神咒的**中見到過。 集所有編輯器於一身。 雖然神咒的編輯器不能自由擴充套件,但由於是公司內部的引擎,所以,它的使用,也很方便。 比如,在場景中突然想要對乙個模型的材質進行編輯,則選中此模型,右鍵,彈出材質編輯器即可。 u3d的元件式思路,將這種關係變得更加緊密。 你都感覺不到自己在使用乙個材質編輯器。 你會覺得,你是在操作這個模型本身。 它的材質,它的碰撞器,它的物件結構等等。
回想一開始進入遊戲行業的時候,天天啃著**。 當時覺得**就是一切,各種認為很牛x的**,都忍不住讀上一番。 而隨著時間的推移,特別是經過專案的洗禮後。 突然發現編輯器是多麼的重要。 就我做的第乙個頁遊來說,起手前兩個星期,我們就做了動畫編輯器,場景編輯器。而最終證明,因為這兩個簡陋的編輯器,使我們後面的工作變得更加容易。
因此,乙個好的引擎,必定得先有乙個功能完備的編輯器。
二、基於mono的開發指令碼
c/c++無疑是圖形界的寵兒,也沒有人想過用另一種語言來替代它。即使是u3d,亦是如此。 但是,早期使用c/c++編寫的引擎,都理所當然地使用c/c++來作為上層邏輯的開發。 又有一些,採用了純指令碼的模式。比如python,lua。 指令碼的好處在於更低的編碼成本(經過仔細研究,我發現,這是由於寫指令碼語言的心態和寫c++的心態導致的。 寫c++的時候,總是想著**的復用度,而在指令碼的時候,很多時間會認為,這個指令碼,就是為這個物件服務的,那我就按照策劃需求來寫就可以了。 我想,這也是許多時候,指令碼語言存在的意義。特別是早期引擎中,使用指令碼來處理一些關鍵的事件響應)。 而大家熟知的虛幻引擎以及有乙個名不見經轉的torque,則自己整了一套開發語言。 我想,它們的目的,就是為了使大家能夠以一種更安全的方式來程式設計, c++一不小心,則會帶來記憶體和效率問題。 它的使用成本,人員成本其實是高於其它語言的。 mono c# js,boo的出現,再一次讓大家的眼睛一亮,原來,引擎可以這樣整。
mono的橋接,使得高效的c++圖形引擎與帶gc的記憶體安全語言進行結合。不僅減少了安全隱患,也使得大家編寫跨平台**時更佳容易。 同時,這類語言的反射機制,更適合做編輯器。而比起先前的一些diy語言和像lua這樣的小巧型語言,mono使指令碼程式設計可以進行debug,而不單純的靠print輸出。
這裡就順帶說一下三個語言的區別
c# 這是我見過的大型專案中使用得最多的語言,也是我比較喜歡的語言。 因為它和c++很像,同時嚴格的型別和語法檢查。
js 在幫一些朋友做小東西的時候,使用過這個語言,由於mono自帶的提示功能,寫起來還是挺順手。 但總給我一種摸不著頭腦的感覺。 並且u3d給的js,不是嚴格的js,有些語法不支援,而有些語法又很特別。
boo 完全沒有使用過,貌似也很少有人使用。
更多unity2018的功能介紹請到paws3d學習中心查詢。
Unity3d面試總結
面試中最難的問題是,你在專案中遇到什麼問題,是如何解決的。如果回答的太簡單,面試人會說,這顯示不出您的實力 一 專案的優化 1.如何控制包的大小,貌似修改貼圖的格式會好一點 2.如何優化 gpu 除了動態批處理和靜態批處理之外還有什麼手段,如何合併材質球 會帶來什麼問題 動態批處理需要什麼條件 比如...
Unity3D中使用KiiCloud總結一
kii cloud目前包含以下七大功能 使用者管理 不需要設定伺服器或編寫任何乙個api,即可管理您的使用者。資料分析 生成任何你能想象的會話 事件 度量和資料分析。賺取利潤 厭倦了低點選轉化率?獲取您應得的利潤吧。訊息推送 向使用者和應用程式推送操作手冊 資料和api產生的通知。地理定位 利用豐富...
Unity3D效能優化總結
一 程式方面 01 務必刪除指令碼中為空或不需要的預設方法 02 只在乙個指令碼中使用ongui方法 03 避免在ongui中對變數 方法進行更新 賦值,輸出變數建議在update內 04 同一指令碼中頻繁使用的變數建議宣告其為全域性變數,指令碼之間頻繁呼叫的變數或方法建議宣告為全域性靜態變數或方法...