青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

l

成都手游碼農(nóng)一枚
隨筆 - 32, 文章 - 0, 評(píng)論 - 117, 引用 - 0
數(shù)據(jù)加載中……

[Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)

從2月份到現(xiàn)在第一個(gè)U3D項(xiàng)目也基本收工,雖然項(xiàng)目結(jié)局不是太好,但總算也是成功賣(mài)掉并上線(xiàn),總結(jié)將近10個(gè)月的時(shí)間大家從端游轉(zhuǎn)到手游或從COCOS2轉(zhuǎn)到U3D的整個(gè)開(kāi)發(fā)過(guò)程。

1.資源
無(wú)疑這是整個(gè)項(xiàng)目我覺(jué)得做的最差的地方,也是前期最為忽略的地方,猶豫U3D組件式架構(gòu)的原因和本身資源打包加載的一個(gè)限制,導(dǎo)致后期項(xiàng)目資源異步加載以及動(dòng)態(tài)更新很難實(shí)現(xiàn)。
起初猶豫是項(xiàng)目玩法參考《印第安大冒險(xiǎn)》,在導(dǎo)出它的包查看了它的結(jié)構(gòu)以及部分實(shí)現(xiàn)的代碼后,發(fā)現(xiàn)基本也未作任何資源管理,資源基本上一個(gè)關(guān)卡一個(gè)場(chǎng)景的方式組織,所以也就按他的方式,只是簡(jiǎn)單的按場(chǎng)景、特效、UI等進(jìn)行了簡(jiǎn)單的劃分。
但是隨著關(guān)卡的復(fù)雜性的增加,游戲復(fù)雜性的增加,問(wèn)題也隨之而來(lái)。

項(xiàng)目問(wèn)題以及方案:
(1) 場(chǎng)景加載慢,無(wú)法異步加載
因?yàn)闆](méi)用AB管理資源,所以很難實(shí)現(xiàn)異步加載,但是場(chǎng)景已經(jīng)完成到了某種程度,也很難重新設(shè)計(jì)資源加載方式,所以臨時(shí)找了另一種方案。、
a.先將原始資源移動(dòng)到Resources目錄先,這樣的原因是為了在加載場(chǎng)景是預(yù)加載紋理、模型等資源,隨之而來(lái)的問(wèn)題便是Resources下的目錄中不能保留不需要的資源,否則會(huì)一起導(dǎo)入安裝包,導(dǎo)致安裝包龐大,最后寫(xiě)了一個(gè)編輯器擴(kuò)展腳本在打包時(shí)候清理掉所有游戲未引用的資源。方法是找到所有場(chǎng)景以及與之的依賴(lài)資源并記錄,找到所有資源在一處記錄的資源,剩余資源統(tǒng)一刪除。
b.擴(kuò)展一個(gè)編輯器腳本生成當(dāng)前場(chǎng)景所有依賴(lài)資源列表,生成預(yù)加載文件,在加載文件時(shí)讀取并通過(guò)Resource.Load加載并保存,切換時(shí)候在釋放。為了實(shí)現(xiàn)模擬異步加載的效果,加載時(shí)在一個(gè)新的協(xié)程中加載,加載兩個(gè)返回一幀。
(2) 運(yùn)行時(shí)怪物創(chuàng)建卡頓
同樣這個(gè)也是由于這個(gè)原因造成的,解決方案相對(duì)取巧,由于怪物是有觸發(fā)器創(chuàng)建,所有在加載場(chǎng)景時(shí)候會(huì)預(yù)先創(chuàng)建所有怪物并隱藏,知道觸發(fā)后在顯示出來(lái)。
(3) 特效、技能等預(yù)制資源卡頓
同樣這個(gè)也是由于這個(gè)原因造成的,解決方案,這個(gè)比較傳統(tǒng),增加了一個(gè)預(yù)制緩存池,創(chuàng)建場(chǎng)景時(shí)候會(huì)對(duì)指定配置的特效做緩存,創(chuàng)建時(shí)候從緩存中取出,用完還回去就可以了。
(4) 資源更新
這個(gè)暫時(shí)只能妥協(xié),只做了配置文件的更新

理想解決方案:
(a) 以Prefab為基本打包力度,為特效、UI節(jié)點(diǎn)、角色等等保存為Prefab。
(b) 將所有代碼、Shader、等等公用基礎(chǔ)資源打包到Common.ab。
(c) Push:Common.ab的基礎(chǔ)上打包UI/Audio/Effect/Actor...等分支下的Common_*.ab。
(d) Push:Common_*.ab的基礎(chǔ)上打包UI/Audio/Effect/Actor...下的預(yù)制到 *.ab。
(e) 加載加載Common.ab,在加載分支支援時(shí)候先加載相應(yīng)的Common_*.ab后在加載特定的ab。
(f) 加載可以采用異步加載形式,場(chǎng)景創(chuàng)建時(shí)候可以先創(chuàng)建空節(jié)點(diǎn),等異步加載完成后在創(chuàng)建并掛接到該節(jié)點(diǎn)上。
(g) 關(guān)于Level,打包時(shí)候打包基本場(chǎng)景以及關(guān)照貼圖,加載后在動(dòng)態(tài)加載響應(yīng)節(jié)點(diǎn)數(shù)據(jù)并掛接上去

2.特效
首先這邊的特效基本是有端游轉(zhuǎn)過(guò)來(lái)的,而前期對(duì)特效沒(méi)有做一些規(guī)范性的限制,導(dǎo)致一些特效復(fù)雜度相當(dāng)高,以及里面包含大量Animator(這個(gè)損耗相當(dāng)大)。
其次特效未作統(tǒng)一的管理,而僅僅是簡(jiǎn)單的做成一個(gè)Prefab。造成后期特效不是太好優(yōu)化。

理想解決方案:
(a) 提供一個(gè)特效編輯器,組織特效,發(fā)布的時(shí)候檢查并提示出一些必要的警告方便特效人員修改,同時(shí)未特效預(yù)制加入自動(dòng)管理腳本。
(b) 或采用一些比較好的插件 FX Maker 等。

3.場(chǎng)景
場(chǎng)景最大的問(wèn)題同樣是沒(méi)有好的規(guī)范,導(dǎo)致前期場(chǎng)景模型用了大量的多維材質(zhì),比如一個(gè)石頭可能有 表面/中部/底部/邊緣 等四個(gè)材質(zhì)等等。

理想解決方案:
(a) 盡量只使用一中材質(zhì),當(dāng)然有些工具比如Mesh Banker 可以拿來(lái)優(yōu)化。
(b) 地表裝飾無(wú)盡量將貼圖合并到一張Atlas公用,減少批次,比較特殊的情況比如 Repeat Mode的貼圖可不處理。
(c) Static Batch 雖然能夠做一定的優(yōu)化,但是會(huì)大大的增加Level暫用的硬盤(pán)空間,所以可以根據(jù)實(shí)際場(chǎng)景視角等來(lái)確定是否開(kāi)啟以便減少生成包的大小。

4.動(dòng)作
操控相對(duì)簡(jiǎn)單,雖然Animator很強(qiáng)大,單可控性卻不是很高,所以選擇使用Animation,通過(guò)Layer進(jìn)行狀態(tài)融合處理。AddMixTransform 可以進(jìn)行上下半身或者特殊部分動(dòng)作混合。
附帶:關(guān)于Animator性能,場(chǎng)景中Animator過(guò)多會(huì)造成CPU消耗過(guò)高,而Aniamtion有可見(jiàn)在更新的狀態(tài)選項(xiàng)可以進(jìn)行控制,Animator卻不行,因?yàn)槭墙y(tǒng)一管理,所以需要注意。

5.NGUI
NGUI確實(shí)很強(qiáng)大,有自己的批渲染,這類(lèi)也不需要多說(shuō),其中有兩個(gè)可以分享的地方
(a) 特效與NGUI層級(jí),實(shí)際上NGUI/Panel/DrawCall會(huì)有一個(gè)RenderQuene,為了層級(jí)正確我們應(yīng)帶改變特效material.renderququne = DrawCall.RenderQuene + 1,這樣特效就可以在正確的面板上顯示與遮擋。
(b) DrawCall優(yōu)化,可以利用 Panel:ShowDrawCall工具手動(dòng)調(diào)整Panel中空間的order來(lái)減少DrawCall。

6.代碼加密
代碼加密相對(duì)麻煩,因?yàn)槠鋵?shí)整個(gè)過(guò)程中也通過(guò)ISpy查看過(guò)不少游戲的代碼,基本很少做加密的,少量做了混淆。

理想解決方案:
(a) GitHub 上下載 Unity 官方 Mono庫(kù)
(b) 找到 image.c : mono_image_open_from_data_with_name 函數(shù):
增加代碼:(簡(jiǎn)單的混淆DLL)
if  (NULL != strstr(name, "Assembly-CSharp.dll"))
{
    for (; i < data_len;)
   {
        data[i] = ~data[i];
        i += k;
        k += 1;
   }
}
后編譯生成 libmono.dll/so 到相應(yīng)平臺(tái)
(c)將Assembly-CSharp.dll反向混淆

7. 紋理壓縮
用disunity導(dǎo)出U3D打包后的資源法線(xiàn)android下紋理實(shí)際上是經(jīng)歷過(guò)一次轉(zhuǎn)換的:
  帶Alpha通道貼圖-> TGA 未壓縮格式 / 除非設(shè)置 通常都帶Mipmap
  不帶Alpha通道貼圖-> KTX (ETC1 android) 不帶Mipmap
顯然為了減少紋理對(duì)GPU芯片帶寬的浪費(fèi)以及對(duì)內(nèi)存的浪費(fèi)android下應(yīng)當(dāng)使用ETC1,而且ETC壓縮失真不算嚴(yán)重,驗(yàn)證可接受。
那么對(duì)于帶Alpha通道的貼圖應(yīng)該如何處理?解決方案1.提取Alpha為單獨(dú)的Alpha通道貼圖 2.提取Alpha為灰度圖在保存為ETC1(默認(rèn)會(huì)轉(zhuǎn)換)。
這樣有效提高程序性能同時(shí)也相應(yīng)的會(huì)減少壓縮后包的大小。因?yàn)門(mén)AG不然縮與ETC壓縮后在ZIP壓縮還是有一定的空間大小差距。

8.其他一些特效
shadow_gun 中有很多不錯(cuò)的 shader 可以用用 比如EnvCube可以支持帶lingthingmap的Cube反射材質(zhì),做冰柱等效果非常好。
water 等可以簡(jiǎn)單的用一張nosiy貼圖加Cube反射模擬,效果也可以接受。
unity / image effect/ MothionBlur 可以做Boss死亡特效 配合 Time.timeScale K幀。

等等 暫時(shí)只回想起這么多,希望對(duì)大家有幫助,有問(wèn)題可以探討。

今天項(xiàng)目組換老大了,希望換人后上線(xiàn)能順利,畢竟也花費(fèi)了不少精力,周五也得離開(kāi)了,想想也挺傷感的,游戲行業(yè)真不好混。



posted on 2014-12-04 00:05 l1989 閱讀(15046) 評(píng)論(24)  編輯 收藏 引用 所屬分類(lèi): 游戲

評(píng)論

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

游戲行業(yè)分分合合,聚聚散散是常事,的確容易傷感。但不要傷感太久,還有很多志同道合的人跟你在一起奮斗呢。
2014-12-04 10:19 | 陳冠希

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

(a) GitHub 上下載 Unity 官方 Mono庫(kù)
。。。
代碼加密這一塊是寫(xiě)的思路還是真的這么做了?
我下載了,并且修改編譯,啟動(dòng)后總是報(bào)錯(cuò)JNILoad錯(cuò)誤。
不知道是不是版本未匹配。
你們成功使用了這個(gè)方案?
2015-02-04 19:50 | 陌上清

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

@陌上清
正式項(xiàng)目沒(méi)用,只是自己測(cè)試過(guò),Mono庫(kù)版本要和U3D版本一致,分支中有各個(gè)版本。
2015-02-05 16:07 | shly

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

您好,關(guān)于代碼加密這塊,我們現(xiàn)在有個(gè)方案就是文中提到的修改mono。從官方github上下載了Mono2.12.x-Unity4.x及對(duì)應(yīng)的編譯工具包monobuildtools-Mono2.12.x-Unity4.x。但是編譯不過(guò)出了問(wèn)題,在centos7跟Ubuntu12.04上面配置環(huán)境后編譯都出問(wèn)題。。樓主有詳細(xì)的步驟提供下么?感激不盡。
2015-03-09 16:04 | ljs

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

伙計(jì),關(guān)注你好久啦,沒(méi)想到你也從cocos轉(zhuǎn)到U3D了,咱們經(jīng)歷很像啊,我當(dāng)時(shí)是找尋cocos的富文本看到你的博客,哈哈,你寫(xiě)的好簡(jiǎn)單,后來(lái)在github上down了一個(gè)html解決方案,應(yīng)該和你是同一份源碼吧,改了源碼,走了不少坑,最后還是順利解決了,目前我也在搞U3D項(xiàng)目呢,正在刨坑和tian'keng,不多說(shuō)啦,有機(jī)會(huì)再聯(lián)系!
2015-03-16 11:59 | laukey

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)[未登錄](méi)  回復(fù)  更多評(píng)論   

樓主有編譯過(guò)unity-mono 4.3版本以上的么 4.3后的版本去掉了編譯腳本 不懂咋編譯了
2015-03-30 17:29 | lg

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

@ljs
你編譯過(guò)了沒(méi)有,我也遇見(jiàn)這種問(wèn)題,qq:737871854
2015-06-26 10:50 | meij

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

@ljs
我嘗試的Github上面 Unity4.6的mono版本

在Window 和Mac下均編譯不過(guò)_(:з」∠)_ 目前卡著3天了 。。
請(qǐng)問(wèn)你可有編譯通過(guò)?
2015-07-02 15:48 | 喵喵丸

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)[未登錄](méi)  回復(fù)  更多評(píng)論   

@喵喵丸
不好意思 后面的版本沒(méi)有嘗試過(guò)
2015-07-03 13:58 | azl

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

@azl
好吧。。還是謝謝你了~
2015-07-06 17:38 | 喵喵丸

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

@azl
我是用的mono-unity4.3版本,在ubuntu上源碼編譯通過(guò),加密部分加入你說(shuō)的簡(jiǎn)單混淆的代碼,也編譯通過(guò),打包apk后,吧Assembly-CSharp.dll文件拿出來(lái),使用ISpy工具,還是輕輕松松的吧代碼給顯示出來(lái),沒(méi)任何加密效果。。。。。
使用minizip加密算法,加入了unzip.h頭文件,以及在mono_image_open_from_data_with_name函數(shù)中加入相關(guān)算法,因?yàn)榧尤肓诵碌念^文件,并引用相關(guān)函數(shù),不知道如何編譯了。。。。

如何破破破破破破破破破破破破。。。。。
2015-07-07 17:36 | meij

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)[未登錄](méi)  回復(fù)  更多評(píng)論   

@meij
1.提取出APK中的Assembly-CSharp.dll混淆后放回去
2.再修改mono在加載的時(shí)候還原dll
2015-07-07 18:43 | azl

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

@azl
你提到的“1.提取出APK中的Assembly-CSharp.dll混淆后放回去
2.再修改mono在加載的時(shí)候還原dll ”

是先把unity項(xiàng)目打包apk,提取Assembly-CSharp.dll,使用混淆算法混淆候(加密),然后把加密后的Assembly-CSharp.dll放到apk包中,最后在mono的image.c代碼中,進(jìn)行反混淆(解密),把生成的libmono.so文件放入對(duì)應(yīng)版本的unity中。是這樣理解嗎?

如此就是說(shuō),加密(混淆)部分代碼是要另外寫(xiě)的,編譯mono生成的libmono.so只是解密。
這樣理解對(duì)不?

2015-07-07 19:28 | meij

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)[未登錄](méi)  回復(fù)  更多評(píng)論   

@meij
是的 可以自己琢磨下 我也沒(méi)在項(xiàng)目中用過(guò) 只是無(wú)聊玩了下
2015-07-07 20:20 | azl

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

@azl
編譯mono生成libmono.so,對(duì)應(yīng)版本的unity3d里面有好幾個(gè)包含libmono的文件,其中androidplayer和androiddevelopmentplayer文件夾下均有armv7a包含libmono.so。
請(qǐng)問(wèn)用生成的libmono.so文件覆蓋那幾個(gè)文件夾下的libmono.so,因?yàn)槲以嚵藥状危虬黙pk安裝后,無(wú)任何圖像顯示。。。
2015-07-08 14:40 | meij

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

有解密算法,就有加密算法,能否貼一下簡(jiǎn)易的加密算法代碼看一下嗎?參考下,謝謝!對(duì)您可能很簡(jiǎn)單,對(duì)我這種菜鳥(niǎo)卻幫助很大,麻煩貼主,發(fā)我qq郵箱也行737871854@qq.com
2015-07-08 20:09 | MKK

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)[未登錄](méi)  回復(fù)  更多評(píng)論   

@meij
無(wú)圖像顯示有可能是dll解出來(lái)是錯(cuò)誤的 可以檢查下
2015-07-09 09:34 | azl

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)[未登錄](méi)  回復(fù)  更多評(píng)論   

@MKK
把文件的每個(gè)字節(jié)去翻就可以了 或者移位等等
2015-07-09 09:35 | azl

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

@azl
網(wǎng)上資料好少,收集了一周的資料,下面是自己整理后感覺(jué)的流程:
1、修改image.c文件,注入解密代碼

if (NULL != strstr(name, "Assembly-CSharp.dll"))
{
for (i=0; i < data_len;i++)
{
data[i] = ~data[i];
}
}
2、運(yùn)行build_runtime_android.sh編譯出libmono.so(builds/../armv7a/),將該.so文件覆蓋unity3d中Data/..下的兩個(gè)arm文件中的.so文件;
3、打包apk項(xiàng)目;
4、取出apk中的.dll文件,使用vs寫(xiě)的加密算法進(jìn)行加密
int _tmain(int argc, _TCHAR* argv[])
{
FILE * fp;
FILE* pSaveFile;
char * filename_O = "Assembly-CSharp.dll";
char * filename_S = "Assembly-CSharp_QQ.dll";
long i;
long last;

if (fopen_s(&fp, filename_O, "rb") != 0)
{
printf("Can not open %s!\n", filename_O);
exit(0);
}
fopen_s(&pSaveFile, filename_S, "wb"); // 打開(kāi)文件
fseek(fp, 0L, SEEK_END);
last = ftell(fp);
fseek(fp, 0L, SEEK_SET);

char *ret =(char *) malloc(last);
fread(ret, 1, last, fp);
for ( i = 0; i < last; i++)
{
ret[i] = ~ret[i];
fputc(ret[i], pSaveFile);
}
fclose(fp);
return 0;
}
加密后的dll文件為Assembly-CSharp_QQ.dll,將名字改回Assembly-CSharp.dll,再放入apk包中。
我一直是按照這個(gè)步驟做的,不知步驟有錯(cuò)沒(méi),或是加密或解密代碼有錯(cuò),導(dǎo)致總是成功不了,謝謝樓主。
2015-07-09 10:15 | MKK

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)[未登錄](méi)  回復(fù)  更多評(píng)論   

@MKK
1.替換dll可以縣城成eclipse工程文件,在替換dll,再打包,省的替換apk簽名出問(wèn)題
2.加解密可以先自己用解密的代碼在本地測(cè)試一下能否還原,驗(yàn)證一下是不是加密有錯(cuò)誤
2015-07-09 10:19 | azl

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

@azl
樓主回復(fù)的真快,好有愛(ài)!
加密后,在解密,我用ILSpy試過(guò),可以正常解密,謝謝樓主給的意見(jiàn),我使用eclipse替換dll試試,再次感謝!
2015-07-09 10:28 | MKK

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)[未登錄](méi)  回復(fù)  更多評(píng)論   

感謝LZ 已經(jīng)搞定 主要卡在編譯上面了
2015-08-04 07:02 | LEE

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)[未登錄](méi)  回復(fù)  更多評(píng)論   

感謝LZ 已經(jīng)搞定 主要卡在編譯上面了 Q32044538 期待交流
2015-08-04 07:03 | LEE

# re: [Unity3D]U3D開(kāi)發(fā)項(xiàng)目總結(jié)  回復(fù)  更多評(píng)論   

樓主挖個(gè)墳 請(qǐng)問(wèn)有沒(méi)方法改變讀入的dll的文件位置?例如sd卡 望賜教!感謝~
2016-06-28 20:35 | sping
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久亚洲图片| 欧美日韩在线播放一区| 美女黄网久久| 久久青草久久| 久久这里有精品视频| 久久久99国产精品免费| 久久久久久一区二区三区| 亚洲高清色综合| 亚洲午夜视频在线| 亚洲国产清纯| 日韩视频在线观看国产| 亚洲视频在线看| 欧美一区二区精品久久911| 久久久久久久久伊人| 久久蜜桃资源一区二区老牛| 亚洲第一精品夜夜躁人人躁| 99在线观看免费视频精品观看| 亚洲视频在线观看视频| 欧美一区综合| 欧美成人性网| 国产精品视频九色porn| 在线播放日韩欧美| 亚洲一区二区四区| 欧美va亚洲va日韩∨a综合色| 日韩视频永久免费| 久久成人综合视频| 欧美精品日韩一本| 国产真实久久| 亚洲深夜福利| 欧美成年视频| 欧美在线高清| 欧美午夜精品久久久久免费视| 激情成人中文字幕| 午夜精品一区二区三区在线播放| 久久亚洲综合| 亚洲天堂免费观看| 欧美高清视频在线观看| 国产一区二区三区在线观看网站 | 99精品欧美一区二区蜜桃免费| 亚洲一区三区视频在线观看| 欧美黄色精品| 欧美一区二区精品| 欧美四级在线观看| 日韩五码在线| 亚洲电影av在线| 久久一区二区精品| 狠狠久久亚洲欧美| 久久精品99久久香蕉国产色戒| 亚洲免费电影在线| 欧美好吊妞视频| 亚洲国产中文字幕在线观看| 久久久久久免费| 欧美有码在线观看视频| 国产精品制服诱惑| 午夜精品成人在线视频| 99亚洲一区二区| 欧美色中文字幕| 中文有码久久| 日韩视频免费观看| 欧美婷婷久久| 欧美日本高清视频| 久久久91精品国产一区二区精品| 欧美午夜精品久久久久久超碰| 日韩亚洲精品在线| 亚洲韩国日本中文字幕| 男人的天堂成人在线| 亚洲国产经典视频| 亚洲成色777777在线观看影院| 久久中文在线| 亚洲理论在线| 99综合在线| 国产伦精品一区二区三区高清| 久久久国产成人精品| 久久狠狠久久综合桃花| 在线播放精品| 亚洲日本va午夜在线电影| 欧美日韩a区| 亚洲欧美日韩国产综合在线| 亚洲一区激情| 樱桃成人精品视频在线播放| 欧美电影免费观看网站| 欧美激情综合在线| 亚洲一级黄色av| 亚洲一区欧美一区| 国产一区av在线| 欧美激情在线免费观看| 欧美另类在线播放| 欧美一区二区高清| 久久久久一区二区三区四区| 9人人澡人人爽人人精品| 亚洲欧美中文另类| 亚洲毛片在线免费观看| 国自产拍偷拍福利精品免费一| 亚洲韩国青草视频| 最新国产乱人伦偷精品免费网站| 欧美日韩午夜| 久久久国产亚洲精品| 欧美国产一区在线| 欧美在线999| 欧美另类专区| 久久精品五月婷婷| 欧美日韩999| 欧美成人精品高清在线播放| 国产精品久久久久天堂| 欧美不卡视频一区| 国产日韩欧美在线播放不卡| 日韩视频三区| 亚洲人成欧美中文字幕| 欧美一区二区三区的| 亚洲午夜久久久| 欧美成人精品在线观看| 久久久久久久欧美精品| 欧美香蕉大胸在线视频观看| 欧美激情综合| 狠狠色丁香婷综合久久| 亚洲视频你懂的| 亚洲精品一二三区| 久久久久高清| 欧美一区二区三区四区夜夜大片 | 亚洲精品欧美日韩专区| 亚洲视频网在线直播| 在线亚洲一区| 亚洲日本欧美日韩高观看| 亚洲欧美日韩国产一区| 一区二区三区精品久久久| 久久夜色精品一区| 久久裸体视频| 国产亚洲福利社区一区| 亚洲综合国产| 香蕉成人啪国产精品视频综合网| 欧美美女日韩| 91久久久亚洲精品| 亚洲日韩成人| 欧美va亚洲va国产综合| 欧美+日本+国产+在线a∨观看| 国内在线观看一区二区三区| 午夜综合激情| 久久久精品久久久久| 国产一级一区二区| 久久精品视频免费观看| 久久免费视频在线| 国内一区二区在线视频观看| 欧美在线网址| 美女网站久久| 亚洲国产精品电影在线观看| 免费视频一区| 亚洲欧洲另类| 亚洲无线一线二线三线区别av| 国产精品jizz在线观看美国| 亚洲一区视频| 另类图片国产| 夜夜嗨av一区二区三区网站四季av| 欧美高清hd18日本| 夜夜嗨av一区二区三区四季av| 亚洲少妇自拍| 国产一区二区日韩精品欧美精品| 久久精品国产成人| 亚洲风情在线资源站| 亚洲色图综合久久| 国产女人18毛片水18精品| 久久久久久久综合狠狠综合| 欧美国产在线电影| 亚洲免费综合| 亚洲第一视频| 国产精品盗摄久久久| 欧美一区二区三区视频| 欧美成人自拍| 亚洲欧美日韩精品久久久| 一区二区三区中文在线观看 | 欧美在线一级va免费观看| 激情一区二区三区| 欧美日韩国产精品专区| 欧美一级在线亚洲天堂| 91久久线看在观草草青青| 亚洲欧美激情视频| 亚洲国产天堂久久国产91| 国产精品国产| 欧美高清视频www夜色资源网| 亚洲女性喷水在线观看一区| 男女精品视频| 欧美一区影院| 中文精品在线| 亚洲欧洲视频| 国内一区二区在线视频观看| 欧美精品免费观看二区| 久久久久91| 亚洲欧美日韩爽爽影院| 亚洲乱码国产乱码精品精| 男人的天堂成人在线| 欧美一级在线播放| 在线播放日韩欧美| 国产精品女主播一区二区三区| 久久国产精彩视频| 一个色综合导航| 欧美激情网友自拍| 久久久久久久激情视频| 亚洲一本视频| a91a精品视频在线观看| 亚洲国产精品视频一区| 国产一区二区在线观看免费播放|