亂七八糟大雜燴 Unity 遊戲開發

2021-09-05 11:09:58 字數 2313 閱讀 7433

material的get方法裡面,會判斷_material跟_sharedmaterial是否相同,如果相同,返回_material,如果不同,會新建乙個_sharedmaterial的拷貝,並賦值給_material和_sharedmaterial。

material的set方法裡面會把傳入的值賦給_sharedmaterial,並且會再新建乙個_sharedmaterial的拷貝,並賦值給_material。(因為值不同,所以get的時候又會新建乙個material。)

_sharedmaterial = _material;

get的時候保證以share為準 所以如果兩者不相等 new乙份share出來 賦值給mat和share  保證兩者相同

set的時候保證share為準,優先設定share,然後new乙份出來設定給mat,保證兩者不想同

1、支援更多緩衝區物件。在opengl es 2.0時中,緩衝區物件的規範有模糊之處。名字一樣緩衝區物件,在實際渲染中對表現卻有細微的差別。針對這個問題opengl es 3.0制定了更詳細對格式規範。新版opengl es還增加對uniform buffer object的支援。

2、新版 glsl es 3.0 著色語言,支援 32 位整數和浮點資料型別以及操作。之前版本的著色語言只支援精度更低的,這樣雖然能夠加快計算的速度,所需的資源也更少,但當著色器的複雜度增加,出錯也隨之增加。同時,新版著色語言的語法更貼近 glsl。

3、支援遮擋查詢(occlusion query)以及幾何體例項化(geometry instancing)。通過遮擋查詢,能夠讓 gpu 知道 3d 場景中,哪些物體被其它物體完全遮擋,這些完全被遮擋的物體 gpu 不會去渲染。幾何體例項化是通過對具有相同頂點資料的幾何體,賦予不同的空間位置、顏色或紋理等特徵,從而創造出不同例項物件的技術。這兩個特性都能夠節省硬體資源,提高 3d 圖形渲染的效能。

4、增加多個紋理的支援。包括浮點紋理、深度紋理、頂點紋理等等。

5、多重渲染目標(multiple render targets),讓gpu 一次性渲染多個紋理。

6、多重取樣抗鋸齒(msaa render to texture),讓 3d 物體對邊緣不出現毛刺,可提公升影象效果。

7、使用統一的紋理壓縮格式 etc:多年來阻礙 opengl 發展的一大頑疾,就是沒有統一的紋理壓縮格式,包括 s3tc、gpus、pvprtc、etc 等等。因為沒有乙個統一標準,開發者不得不因為不同的硬體環境而將紋理重複壓縮多次——尤其對於 android 開發者而言,這個過程苦不堪言(對使用者來說也有大量的煩惱,比如安裝遊戲資料報時需要自己來識別需要哪種材質的資料報)。顯然,統一紋理壓縮格式,能夠提高開發者對開發效率。但現實中,統一標準這類事情的進展從來沒有快過。這視乎之後開發者與廠商會做出怎樣的反應。android 4.3 公升級到 open gl es 無疑是乙個好的開始,opengl es 3.0 大量的新特性完全加持,將大幅提高移動平台圖形特性,提高遊戲圖形效果。

ngui的dynamicmat 是drawcall繪製時使用的材質例項,但是會在重建drawcall的時候被重新賦值,所以如果你希望動態設定uitexture的材質以及引數,那將會很不穩定。

解決方案 是uitexture單獨放在乙個panel下,避免dc重建將材質引數重新賦值

資料夾的ab名,決定路徑下邊所有資源都被打進去麼 ? 資料夾的ab名字保證資料夾下沒有設定ab名的資源被打進乙個ab包。

非resource下的檔案,沒有引用但設定了ab名字,會被自動打包進去? 是的

ab規則。 resource下強制打包-> 依賴關係->ab名字 是的

unity極少情況下,匯入資源未觸發資源reimport,ab名字未重新整理,導致打包後按照錯誤的ab名字載入資源,造成閃退

buildassetbundleoptions.none  預設lama壓縮格式,是一種預設的壓縮形式,這種標準壓縮格式是乙個單一lzma流序列化資料檔案,並且在使用前需要解壓縮整個包體。lzma壓縮是比較流行的壓縮格式,能使壓縮後檔案達到最小,但是解壓相對緩慢,導致載入時需要較長的解壓時間

buildassetbundleoptions.uncompressedassetbundle

buildassetbundleoptions.chunkbasedcompression

lz4壓縮格式,unity支援lz4壓縮,能使得壓縮量更大,而且在使用資源包前不需要解壓整個包體。lz4壓縮是一種「chunk-based」演算法,因此當物件從lz4壓縮包中載入時,只有這個物件的對應模組被解壓即可,這速度更快,意味著不需要等待解壓整個包體。lz4壓縮格式是在unity5.3版本中開始引入的,之前的版本不可用

c 亂七八糟

大綱 變數和基本型別 常量 表示式,各種操作符等 控制語句 強制型別轉換 異常處理 函式 標準輸入輸出類 類,封裝性,繼承性,多型性 標準類 泛型程式設計,類模板,函式模板 標準容器類,泛型演算法 類是什麼,類是對具有相同特性以及行為的一類物件的高度歸納,類是一種抽象資料型別 快慢指標 多個指標,前...

亂七八糟的tf

my state tf.variable 0,name counter 建立乙個op變數my state,並初始化為0 one tf.constant 1 建立乙個op常量賦值為1 new value tf.add my state,one update tf.assign my state,new...

亂七八糟的命令

man ls col b ls.txt whatis du cd 前一目錄 cd 直接回家 tree makir p home dir1 dir2 dir3 head 5 etc passwd tail sudo etc init.d apache2 stop 檔案預設不能授予x許可權,預設644 ...