原创 網格合併,減少DrawCall

文章出處:http://jxwgame.blog.51cto.com 參考代碼: using UnityEngine; using System.Collections; public class Combine : MonoBehav

原创 c# 泛型T類型參數T的約束where

在定義泛型類時,可以對客戶端代碼能夠在實例化類時用於類型參數的類型種類施加限制。如果客戶端代碼嘗試使用某個約束所不允許的類型來實例化類,則會產生編譯時錯誤。這些限制稱爲約束。約束是使用 where 上下文關鍵字指定的。下表列出了六種類型的

原创 動畫系統 關於動畫系統的根運動RootMotion

【原文參考】http://blog.csdn.net/neil3d/article/details/41724705   動畫將控制RootBone對象的座標、旋轉、比例等,不合適的稱爲根運動吧   此腳本,就是將RootBone對象的座

原创 適配器模式

一、引言 在實際的開發過程中,由於應用環境的變化(例如使用語言的變化),我們需要的實現在新的環境中沒有現存對象可以滿足,但是其他環境卻存在這樣現存的對象。那麼如果將“將現存的對象”在新的環境中進行調用呢?解決這個問題的辦法就是我們本文要介

原创 粒子系統

【參考】http://game.ceeger.com/Manual/ParticleSystemModules40.html 粒子系統模塊Particle System Modules  This page is dedica

原创 建造者模式

【參考】http://www.cnblogs.com/zhili/p/BuilderPattern.html 一、引言 在軟件系統中,有時需要創建一個複雜對象,並且這個複雜對象由其各部分子對象通過一定的步驟組合而成。例如一個採購系統中,如

原创 抽象工廠模式

【參考】http://blog.jobbole.com/78067/ 一、抽象工廠的具體實現 下面就以生活中“絕味” 連鎖店的例子來實現一個抽象工廠模式。例如,絕味鴨脖想在江西南昌和上海開分店,但是由於當地人的口味不一樣,在南昌的所有絕味

原创 命令模式

一、命令模式的定義和類圖 命令模式屬於對象的行爲型模式。命令模式是把一個操作或者行爲抽象爲一個對象中,通過對命令的抽象化來使得發出命令的責任和執行命令的責任分隔開。命令模式的實現可以提供命令的撤銷和恢復功能。 二、命令模式的結構 既然,命

原创 RenderingPath 渲染路徑

【參考】:http://game.ceeger.com/Manual/RenderingPaths.html RenderingPath 渲染路徑 Deferred Lighting 延時光照 延時光照是有着最高保真度的光照和陰影的渲染

原创 原型模式

一、引言 在軟件系統中,當創建一個類的實例的過程很昂貴或很複雜,並且我們需要創建多個這樣類的實例時,如果我們用new操作符去創建這樣的類實例,這未免會增加創建類的複雜度和耗費更多的內存空間,因爲這樣在內存中分配了多個一樣的類實例對象,然後

原创 橋接模式

一、引言 這裏以電視遙控器的一個例子來引出橋接模式解決的問題,首先,我們每個牌子的電視機都有一個遙控器,此時我們能想到的一個設計是——把遙控器做爲一個抽象類,抽象類中提供遙控器的所有實現,其他具體電視品牌的遙控器都繼承這個抽象類,具體設計

原创 面片自適應屏幕

1、面片自適應屏幕 參加程序: using UnityEngine; using System.Collections; public class SelfAdaption : MonoBehaviour { private Ca

原创 代理模式

一、引言 在軟件開發過程中,有些對象有時候會由於網絡或其他的障礙,以至於不能夠或者不能直接訪問到這些對象,如果直接訪問對象給系統帶來不必要的複雜性,這時候可以在客戶端和目標對象之間增加一層中間層,讓代理對象代替目標對象,然後客戶端只需要訪

原创 中介者模式

一、引言 從生活中的例子可以看出,不論是QQ遊戲還是QQ羣,它們都是充當一箇中間平臺,QQ用戶可以登錄這個中間平臺與其他QQ用戶進行交流,如果沒有這些中間平臺,我們如果想與朋友進行聊天的話,可能就需要當面纔可以了。電話、短信也同樣是一箇中

原创 迭代器模式

一、迭代器模式的介紹 迭代器是針對集合對象而生的,對於集合對象而言,必然涉及到集合元素的添加刪除操作,同時也肯定支持遍歷集合元素的操作,我們此時可以把遍歷操作也放在集合對象中,但這樣的話,集合對象就承擔太多的責任了,面向對象設計原則中有一