當時公司在開發乙個fps吃雞專案,我接到了這個需求任務。
需求:支援聲音迴避功能(不同種類音效,能夠相互影響音量等效果)
支援多種音效過濾器功能(支援高通濾波,低通濾波,回音效果等各種濾波器效果)
支援音效快照功能(支援室內外區分,環境區分,天氣區分等效果)
簡單的說,就是編寫乙個在unity 目前的音效功能上,編寫乙個類似wwise,fmod等音效引擎的系統。
重點:封裝後的整個系統,可以做到,增加音效,刪除音效,增加音軌,刪除音軌,以及各種引數配置,都不需要程式參與,一切皆可以由策劃自行配置,
做到開箱即用的效果。
audio mixer是unity自帶的乙個音軌系統,熟悉了解裡面的音軌增刪改等,了解快照功能。
最終我們專案的音軌系統大概有100多條音軌。
採用乙個預製體,對應乙個音軌,不同音軌對應不同的預製體,從而做到重複利用,管理所有音軌。
並且所有音軌的配置可以自由配置,配置內容都可以抽離到配置表中,從而達到,解放程式設計師。
採用表控制的形式,抽離出兩張**,音效配置表,音軌配置表,可能不同音效,使用的是同乙個音軌。
通過不同預製體,對應控制到不同的音軌,達到不同音軌,不同配置效果,在音效管理層中,管理好音軌預製體,進行復用。
通過audio mixer,對不同音軌之間的效果進行配置。
通過兩張表,音效配置表,配置不同音效的各種配置,然後音效配置表對應到具體的音軌配置表,音軌配置表配置不同的音軌配置。
簡化介面。
最後實現,使得策劃可以通過編輯器擴充套件工具,對音效進行配置,對音軌進行配置,對各種效果器進行配置。
(有部分內容暫時不方便放出,畢竟是公司目前正準備上線的專案)
AspectJ基於xml和基於註解
一 基於xml 執行的切入點中具體方法有返回值,則方法結束會立即執行後置通知,然後再執行環繞通知的放行之後的 2 連線點即所有可能的方法,切入點是正真被切的方法,連線點方法名 其中,只有環繞通知的切入點引數不一樣,是可以放行的切入點 3 異常通知是處理異常 切面類中的異常通知的方法引數列表中異常引數...
拓撲排序(基於dfs 基於佇列)
dfs函式的返回值表示是否成環,若存在有向環,則不存在拓撲排序。不包含有向環的有向圖稱為有向無環圖 dag 可以借助dfs完成拓撲排序,在訪問完乙個結點時把他加入當前拓撲序的首部。舉個栗子 比如乙個 1,2 1,3 2,3 的有向無環圖,就先搜尋1,再遞迴搜尋2,再搜尋3,3沒有出度了,於是放進拓撲...
基於insert update delete的注入
inset注入原理 所謂inset注入就是指我們前端註冊的資訊會被後台通過insert操作插入到資料庫裡邊去,若此時後台沒有做出相應的處理就會構成insert注入。insert注入方法 insert用法例如 insert into member username,pw,phonenum,email,...