原创 說說unity項目的優化

最近由於公司一個項目的需要(馬上就上微信了呦),我被臨時抓過來搞了一個月的unity。 主要是幫着搞一下性能的優化以及解決一些兼容性問題。因爲我之前對Unity和移動開發都不是很瞭解,所以簡單總結一下,積累點經驗。 首先是選定基準平臺

原创 近來用到的幾個技術點

mono的JIT在運行時會造成輕微的卡頓。爲了避免這個卡頓對手感的影響,我們在進入遊戲時就對局內的功能類做預編譯。預編譯很簡單,調用一下函數指針即可。找到應該預編譯哪些累則稍麻煩一些,要給mono加些日誌,輸出局內JIT編譯的函數列表局

原创 對stlport容器進行排序的一個bug

這兩天客戶端遇到一個bug比較坑爹,記錄一下。 有一段代碼是將一些座標的z值放到一個stlport的vector中用sort函數排序。 結果sort函數中迭代器越界了,導致棧上的數據被篡改。 迭代器越界的原因是用於排序的浮點數中有QNAN

原创 技術在遊戲研發中的重要性

作爲一個有追求的技術開發人員,總是希望能夠做出好的技術。 那麼對於遊戲研發領域,什麼樣的技術纔是好的技術呢,技術對於遊戲研發的重要性如何呢。在從業若干年之後,我個人的總結是:好的技術創造好的遊戲體驗,提高開發效率。   首先,好的技術可以

原创 移動硬盤復活記

前幾天把移動硬盤接到機箱上的usb時電壓不太夠,順手就找了個直流變壓器接上了。過了一小會,感覺不對勁,usb線怎麼這麼熱。立即把電源拔下來一看,壞了,15V的。果然,移動硬盤再怎麼插也沒反應了。當時第一反應是可能電壓過載會把硬盤盒的保護電

原创 利用手機傳感器測量高度

最近簡單瞭解了一下android系統的傳感器。其中較常用的是加速計Accelerometer,可以用來實現“搖一搖”。 一開始,從加速計這個名字本身來理解,以爲是測量加速度的,也就是手機如果靜止,則加速計應該返回0. 後來發現其實是表示手

原创 罪惡裝備Xrd卡通渲染

隨着前兩年《陰陽師》《崩壞學院3》的大成,行業內掀起了一股二次元小高潮。很多公司都在上馬二次元風格的產品。話說我們幾年前就有團隊想做二次元風格的產品,然而當時鵝廠的市場根據用戶數據分析給出的意見是,二次元屬於小衆市場,在當時手遊市場飛速增

原创 doom3技術分析

前言 2011年11月doom3代碼發佈 2012年11月doom3 BFG代碼發佈 兩個遊戲內容雖然相差不多,但doom3 BFG版本在技術上有很大進化(多線程框架,SWF,立體渲染)。本文技術分析主要基於doom3BFG版本 架構

原创 關閉mono的GC,防止其帶來的卡頓

我們的遊戲品類特殊,對遊戲對局內的畫面流暢性要求極高。不允許出現可以明顯察覺的卡頓。當我們解決了所有對象創建,JIT編譯等帶來的卡頓之後。還有一個較爲棘手的卡頓來源就是GC。我們想了各種辦法儘可能的減少對局內的內存分配。包括對UI的特殊處

原创 doom3的UI系統

doom3的UI系統是純數據驅動的,例如 windowDef TextTitle2 { rect 20,341,600,55 visible 1 text "#str_00073"

原创 unity 5.3.5鏤空shader的一個bug

現象 在某些android手機上,比如OPPO r7s(adreno 405 GPU),鏤空效果錯誤。該透的地方沒透。主要用於草和樹的渲染。 定位 弄了一個簡單的sample(不用unity),discard指令是可以正確執行的,懷疑可能

原创 新攢了臺機器

自從多了一個叫Unreal4的東西,5年前攢的機器明顯跑着有點力不從心。於是琢磨着新攢一臺機器。挑了一個禮拜配件,週末裝出來。機器定位在中端遊戲機(雖然現在基本沒時間玩遊戲),配置單如下 機械硬盤有一塊之前的西數2T綠盤,暫時夠用了

原创 gnu flex document

網上好像並沒有很方便的查看flex的鏈接,github上只有texi格式的文檔,我將其轉成html希望能方便到需要的朋友 GNU Flex document 另外發現一個flex/bison的windows port,直接在windows

原创 在android平臺hook OpenGL es的API

在android平臺上(其他平臺也差不多),OpenGL es API的調用是通過一個一個跳轉表實現的。這個跳轉表的首地址被保存到當前線程的TLS ( Thread Local Storage)中。 我們來看一下Android系統中相關的

原创 fbx sdk c# wrapper

FbxWrapper是fbx sdk的c#封裝。目的是爲了方便fbx工具的開發,同時也可以方便的與Unity集成。代碼使用SWIG生成。目前使用fbx 2016 vs2013版本。想要升級到最新的fbx sdk版本應該不會很難。 實現