日韩av高清在线影院,欧美日韩国产综合色视频在线,日韩精品人妻在线视频,内射极品高挑少妇人妻,久久久国产成人免费,97久久视频在线观看,人妻中文字幕日韩有码人妻熟女,亚洲国产成人精品福利,99精品国产福利在线观看

FBX導(dǎo)入及轉(zhuǎn)化 3dmax導(dǎo)入ue4 fbx插件

模型導(dǎo)入是所有3D程序最基本的功能,但常常也是讓很多新手最頭疼的問題之一。DirectX雖然提供了直接加載.x文件的功能,不幸的是多年以來,很少有主流建模軟件提供了對它的直接支持,各種各樣的格式轉(zhuǎn)換程序之間又多多少有些小bug存在,加上近年來ms也逐漸不再使用.x文件,因此,為了將來程序開發(fā)更加靈活方便,任何稍有規(guī)模的程序都必須重新發(fā)明輪子,自己實現(xiàn)模型導(dǎo)入。


當(dāng)選擇支持什么類型的模型文件時,最重要的因素就是交換性----即這種格式是否能被大多數(shù)三維軟件支持,是否能方便的和其他格式轉(zhuǎn)換;有良好定義以及可擴展性。在各種模型文件中,目前最能滿足這三個條件的就是fbx和Collada,本文主要討論前者。需要說明的是,無論選擇什么格式,這些格式都不應(yīng)該是圖形引擎直接讀取的格式。雖然我們也可以這么做,但無論fbx,collada或者其他很多格式都是以數(shù)據(jù)交換為目的而設(shè)計的,比如collada本質(zhì)就是xml文件,因此不適合游戲引擎這類對性能有較高要求的程序。理想的解決方案是把這些格式作為數(shù)據(jù)來源,通過預(yù)處理轉(zhuǎn)換為為特定引擎設(shè)計的格式,最后引擎直接讀取特有的自定義格式。如果熟悉XNA的話,XNA中的contentpipeline就是完成了這樣的工作,把模型,紋理轉(zhuǎn)換為特殊設(shè)計的xnb格式,加速運行時的讀取速度。引擎只需要有讀取一種文件的能力即可,而另外有一些列的importer/converter可以把其他格式的文件在預(yù)處理階段,轉(zhuǎn)換為引擎可識別的格式。

如何設(shè)計適合自己引擎的文件格式超了本文討論范圍,不過這里舉一個小小的例子,說明自定義格式的必要性。以fbx文件為例,假設(shè)用記事本打開一個只包含一個mesh模型文件,可以看到數(shù)據(jù)大概是按以下方式組織的:

vertex { positiondata…..}

normal {normaldata……}

UV {UV data……}

引擎如果直接讀取這樣的文件,需要在運行時把數(shù)據(jù)重新解析組織為硬件可以直接使用的格式:從不同位置抽出position,normal,uv數(shù)據(jù)合成頂點,再把頂點組織為數(shù)組,最后放入vertexbuffer中。而如果自定義文件話,可以直接就把數(shù)據(jù)以vertex array的格式保存,比如:

vertexData{(pos,nol,uv),(pos,nol,uv),……}

這樣在讀取文件之后,可以直接把數(shù)據(jù)放入vertexbuffer,效率自然是前者不可比的。當(dāng)然,實際的文件不僅包含頂點數(shù)據(jù),還會有很多其他內(nèi)容。

說了那么多,現(xiàn)在回到正題。本文不會,也不可能詳細(xì)討論解析fbx的所有數(shù)據(jù),只重點討論如果解析出游戲引擎最常用到的信息:如何訪問mesh,讀取相應(yīng)的頂點,材質(zhì)以及模型結(jié)構(gòu)(Hierarchy)信息。

先介紹一點關(guān)于fbx的基本知識,fbx是Autodesk開發(fā)的文件格式,其開發(fā)目的就是為了實現(xiàn)Autodesk旗下軟件之間的數(shù)據(jù)交換。鑒于Autodesk已經(jīng)把主流建模軟件公司買的差不多了(maya,3dsmax,softimage,motionbuilder…..),幾乎所有主流三維建模軟件都能導(dǎo)出導(dǎo)入fbx文件,Autodesk也提供了的專門的軟件fbxconvert可以把其他流行格式(包括collada)轉(zhuǎn)換為fbx文件。Fbx文件格式本身是不公開的,而是通過FBXSDK實現(xiàn)對fbx文件的讀取以及寫入,這也是我選擇fbx的一個重要原因,作為開發(fā)者可以不必關(guān)心實際的數(shù)據(jù)儲存細(xì)節(jié)(用記事本打開ascii碼的fbx文件,還是能大概了解實際的數(shù)據(jù)格式),把文件看做一個數(shù)據(jù)源對象,通過特定函數(shù)就能訪問數(shù)據(jù)源中的特定數(shù)據(jù)。而稍后我們就會看到,fbxsdk設(shè)計的也非常易用。

我們要做的第一步就是從autodesk網(wǎng)站下載FBXSDK(需要先填寫一個簡單的表格才能下載,嗯嗯,可以亂填),最新版本是2011.3,windows下的安裝包大約有450m。安裝之后,需要在工程里進(jìn)行一些簡單的設(shè)置才能使用。對于visualStudio來說,請**仔細(xì)**按照文檔Downloading andinstalling部分的介紹進(jìn)行配置,除17以外,其他都是必須的,特別注意在16步時,選擇正確的lib文件。特別提醒,雖然2011.3包含了的vs2010下的lib,但是有重大bug,會在導(dǎo)入某些fbx文件時,出現(xiàn)”debug assertion failed”錯誤(坑爹啊,浪費了我兩天),推薦在vs2005/2008下開發(fā)。

接下來,就可以動手寫代碼了。使用fbxsdk時,最先遇到的兩個對象就是KFbxSdkManage和KFbxScene。Fbxsdk中大部分類的命名都以KFbx開頭(為什么是k呢….?)。KFbxSdkManage是sdk中的中心類,負(fù)責(zé)了整個sdk內(nèi)部狀態(tài)的管理,很多其他對象創(chuàng)建也依賴于KFbxSdkManage,程序中只需要有一個KFbxSdkManage類的實例即可。KFbxScene如其名所示,代表了一個場景,而這里的場景就是fbx文件中包含的所有信息,fbx文件導(dǎo)入以后,在程序中就是一個KFbxScene對象??梢杂靡韵麓a完成這兩個對象的創(chuàng)建。

Initinitsdk
KFbxScene *scene;
KFbxSdkManager *sdkManager;

voidFbxImporter::Init()
{
sdkManager =KFbxSdkManager::Create();
KFbxIOSettings*ios = KFbxIOSettings::Create(sdkManager,IOSROOT);
sdkManager->SetIOSettings(ios);
scene = KFbxScene::Create(sdkManager,"");
}

注意,示例代碼省略了必要的錯誤檢查。上面代碼中出現(xiàn)了KFbxIOSettings類,這是一個用來配置KFbxSdkManage的對象,可以通過這個對象設(shè)置一些導(dǎo)入導(dǎo)出時的行為,比如可以選擇不導(dǎo)入材質(zhì),動畫等等。有了這兩個對象之后,下一步就可以導(dǎo)入fbx文件了,這需要用到KFbxImporter對象,他會自動解析fbx文件中的數(shù)據(jù),并保存到KFbxScene對象中。實際上除fbx以外KFbxImporter還能導(dǎo)入一些其他格式的文件。實例代碼如下:

LoadfilevoidFbxImporter::LoadScene(const char* fileName)
{
KFbxImporter*sceneImporter = KFbxImporter::Create(this->sdkManager,"");
sceneImporter->Initialize(fileName,-1,this->sdkManager->GetIOSettings());
sceneImporter->Import(scene);
sceneImporter->Destroy();
}

文件加載之后,接下來就是用相應(yīng)的方法,找出我們需要的數(shù)據(jù)。這里要稍微補充一點fbx組織數(shù)據(jù)的方式。前面說過,當(dāng)用sdk來處理fbx文件時,它更像是一個數(shù)據(jù)源或者說一個對象,所以你應(yīng)該以對象的方式來看待fbx,而不是文件的角度。如果你對scenegraph/tree有所了解的話,fbx其實就是一個scenegraph/tree!KFbxScene是根節(jié)點,包含了一系列子節(jié)點KFbxNode,每個KFbxNode又有其自己的子節(jié)點。KFbxNode包含了坐標(biāo)變換信息,可以通過一系列g(shù)et函數(shù)取得,其他數(shù)據(jù)作為KFbxNodeAttribute對象,包含在KFbxNode內(nèi)部,這里的其他數(shù)據(jù)是指mesh,Nurbs,skeletion,camara,light等定義在KFbxNodeAttribute::EAttributeType中的類型。一個KFbxNode可以有多個子KFbxNode,但只能有一個KFbxNodeAttribute對象,可以通過KFbxNodeAttribute的GetAttributeType()方法,確定當(dāng)前node的所包含的實際數(shù)據(jù)類型:

更正:又仔細(xì)看了文檔,KFbxNode可以有多個KFbxNodeAttribute對象,GetNodeAttribute()返回默認(rèn)的attribute對象。

visitnodevoidFbxImporter::WalkHierarchy()
{
KFbxNode*root = scene->GetRootNode();
for (int i=0;i<</SPAN>root->GetChildCount();i++)
{
WalkHierarchy(root->GetChild(i),0,&(this->root));
}
}

voidFbxImporter::WalkHierarchy(KFbxNode*fbxNode, int depth)
{
KFbxNodeAttribute*nodeAtt = fbxNode->GetNodeAttribute();
if(nodeAtt == NULL)
{
ss<<"Name:"<<fbxNode->GetName()<<"NodeType:"<<"None";
}
else
{
switch(nodeAtt->GetAttributeType())
{
caseKFbxNodeAttribute::eMARKER:break;
case KFbxNodeAttribute::eSKELETON:break;
case KFbxNodeAttribute::eMESH:ProcessMesh(nodeAtt) break;
case KFbxNodeAttribute::eCAMERA: break;
case KFbxNodeAttribute::eLIGHT: break;
case KFbxNodeAttribute::eBOUNDARY:break;
case KFbxNodeAttribute::eOPTICAL_MARKER:break;
case KFbxNodeAttribute::eOPTICAL_REFERENCE:break;
case KFbxNodeAttribute::eCAMERA_SWITCHER:break;
case KFbxNodeAttribute::eNULL: break;
case KFbxNodeAttribute::ePATCH: break;
FBX導(dǎo)入及轉(zhuǎn)化 3dmax導(dǎo)入ue4 fbx插件
case KFbxNodeAttribute::eNURB: break;
case KFbxNodeAttribute::eNURBS_SURFACE:break;
case KFbxNodeAttribute::eNURBS_CURVE:break;
case KFbxNodeAttribute::eTRIM_NURBS_SURFACE:break;
case KFbxNodeAttribute::eUNIDENTIFIED:
}

}

//processchildren
for (int i=0;i<</SPAN>fbxNode->GetChildCount();i++)
{
WalkHierarchy(fbxNode->GetChild(i),depth+1);
}
}


說到這里,我們已經(jīng)解決了第一個問題:獲得場景結(jié)構(gòu)信息。所有KFbxNode構(gòu)成的樹就是場景結(jié)構(gòu)。而其中KFbxNodeAttribute為skeletion的節(jié)點組成的樹,可能就是某個模型的骨骼。下圖是解析兩個不同文件得到的節(jié)點關(guān)系:

根據(jù)模型師建模習(xí)慣的不同,導(dǎo)出節(jié)點順序是不一樣的,比如上面的文件把骨骼單獨作為一個樹,下面的文件則用了一種混排的方式,一個node下同時有子骨骼節(jié)點和mesh節(jié)點。接下來,看如何讀出頂點信息,注意下面僅以mesh為例,介紹一些常見操作。首先,用以下代碼獲得一個node中所包含的mesh數(shù)據(jù):

meshinfovoidProcessMesh(KFbxNodeAttribute*nodeAtt)
{
if(nodeAtt->GetAttributeType() == KFbxNodeAttribute::eMESH)
{
KFbxMesh *mesh= dynamic_cast<</SPAN>KFbxMesh*>(nodeAtt);
if(!mesh->IsTriangleMesh())
{
KFbxGeometryConverterconverter(sdkManager);
// #1
converter.TriangulateInPlace(fbxNode);
mesh = dynamic_cast<</SPAN>KFbxMesh*>(fbxNode->GetNodeAttribute());
// #2
//mesh =converter.TriangulateMesh(mesh);
}

std::cout<<“TriangleCount:" <<mesh->GetPolygonCount()
<<" VertexCount:"<<mesh->GetControlPointsCount()
<<"IndexCount:"<<mesh->GetPolygonVertexCount()
<<"Layer:"<<mesh->GetLayerCount()
<<" DeformerCount:"<<mesh->GetDeformerCount(KFbxDeformer::eSKIN)
<<"MaterialCount:"<< fbxNode->GetMaterialCount();
}
}

Fbx文件中包含的mesh不一定是由三角形組成,還可能是四邊形,五邊形等等,因此,要做的第一步,就是三角化mesh,可以用以上兩種方法實現(xiàn)。TriangulateMesh和TriangulateInPlace區(qū)別在于前者返回一個三角化之后的新mesh,后者則是對當(dāng)前數(shù)據(jù)進(jìn)行三角化。注意TriangulateInPlace之后需要重新獲取mesh指針,否則代碼會出錯。Mesh類的大部分成員函數(shù)用途都一目了然,只是有一些概念需要注意:

1. GetPolygonCount()返回三角形數(shù)量;

2. GetControlPointsCount()返回控點數(shù)量,這里控點的概念和DirectX中常說的頂點非常類似,但不完全一樣,更像是只包含了position的頂點。也就是說如果這個頂點被n個多邊形共享(比如立方體八個角的點),而在每個多邊形上又有不同的紋理坐標(biāo)或者法線,那么稍后將分裂或者說生成n個包含position,normal,uvs等信息的頂點;

3. GetControlPoints ()返回控點數(shù)組指針;

4. GetPolygonVertexCount()這是個迷惑人的名字,這個函數(shù)返回的其實是大家熟悉的vertex index count,對triangelist來說,其實就是GetPolygonCount() * 3;

5. GetPolygonVertices()返回索引數(shù)組指針;

下面的代碼演示了如何把從fbx文件中讀取的頂點,索引數(shù)據(jù)保存到一個非常簡單的文件中:

savedatasavedata
save model
vertex = mesh->GetControlPoints();
vertexCount =mesh-> GetControlPointsCount();
..........

voidSaveData(const char *fileName,KFbxVector4* vertex,int vertexCount,int *indices,int indicesCount)
{
//convert kfbxvector4[] to float[],notice weonly use the first 3 element(x,y,z) of akfbxvector4
float *verts = new float[vertexCount*3];
float *pV = verts;
for (int i=0;i<</SPAN>vertexCount;i++)
{
*pV = static_cast<</SPAN>float>(vertex[i][0]);
pV++;
*pV = static_cast<</SPAN>float>(vertex[i][1]);
pV++;
*pV = static_cast<</SPAN>float>(vertex[i][2]);
pV++;
}

//createfile
std::ofstreamfs(fileName,std::ios_base::out|std::ios_base::binary);

//writegeometryInfo: vertex and index count;
int geometryInfo[2] = {vertexCount,indicesCount};
fs.write(reinterpret_cast<</SPAN>const char*>(geometryInfo),sizeof(int)*2);

//writevertex data
fs.write(reinterpret_cast<</SPAN>const char*>(verts),sizeof(float)*vertexCount*3);

short*sIndices = NULL;
//convert to 16 bit index if possible to savememory
if(vertexCount <</SPAN> 65535)
{
sIndices =new short[indicesCount];
short *currentIndex = sIndices;
for (int i=0;i<</SPAN>indicesCount;i++,currentIndex++)
{
*currentIndex = indices[i];
}
//write index data to file
fs.write(reinterpret_cast<</SPAN>const char*>(sIndices),sizeof(short)*indicesCount);
}
else
{
fs.write(reinterpret_cast<</SPAN>const char*>(indices),sizeof(int)*indicesCount);
}

fs.close();
delete[] verts;
if(*sIndices != NULL)
{
delete[] sIndices;
}
}

下面的XNA代碼演示了從剛才保存的文件中讀出數(shù)據(jù)并渲染:

rendermodelreadmodel
classModelReader
{
intvertexCount;
int indexCount;

VertexBuffer mVertexBuffer;
IndexBuffer mIndexBuffer;

publicvoid LoadFile(GraphicsDevicegraphics,stringfileName)
{
//open file
FileStream fs = new FileStream(fileName, FileMode.Open);
BinaryReader br =new BinaryReader(fs);

vertexCount =br.ReadInt32();
indexCount =br.ReadInt32();

//readvertex data
VertexPositionOnly[] verts = new VertexPositionOnly[vertexCount];
for(int i = 0;i <</SPAN>vertexCount; i++)
{
verts[i] =new VertexPositionOnly(new Vector3(
br.ReadSingle(), br.ReadSingle(), br.ReadSingle()));
}
//create vertex buffer
VertexDeclaration vd = new VertexDeclaration(new VertexElement(0,VertexElementFormat.Vector3,VertexElementUsage.Position,0));
mVertexBuffer =new VertexBuffer(graphics, vd, vertexCount,BufferUsage.None);
mVertexBuffer.SetData(verts);

//readindex data
short[] indices = new short[indexCount];
for (int i = 0;i <</SPAN>indexCount; i++)
{
indices[i] =br.ReadInt16();
}
//create index buffer
mIndexBuffer = new IndexBuffer(graphics,IndexElementSize.SixteenBits, indexCount, BufferUsage.None);
mIndexBuffer.SetData(indices);

HashSet<</SPAN>short> hash = new HashSet<</SPAN>short>();
br.Close();
fs.Close();
}

publicvoid Draw(GraphicsDevice graphics)
{
graphics.SetVertexBuffer(mVertexBuffer);
graphics.Indices =mIndexBuffer;
graphics.DrawIndexedPrimitives(PrimitiveType.TriangleList,0, 0,vertexCount, 0,indexCount /3);
}
}

接下來我們繼續(xù)討論如何取得normal,tangent,binormal和uv信息。先介紹一些關(guān)于KFbxLayer對象的概念。KFbxLayer對象是一個容器,對mesh來說,它包含了除控點,多邊形信息以外大部分?jǐn)?shù)據(jù),比如normal,tangent,vertexcolor,uv等等。一個mesh可以包含多個KFbxLayer對象,不同layer之間的元素類型,個數(shù)通常都不相同。下面是一個簡單的mesh結(jié)構(gòu)關(guān)系:

mesh ---- layer 0 { KFbxLayerElementNormal,KFbxLayerElementTangent, KFbxLayerElementUV…..}

|

|------layer 1 {KFbxLayerElementUV………}

|

|-- ………………..

|

|-- layer n

雖然FBX允許有多層layer,但很多軟件包括maya和max都只處理包含在第一個layer中的normal等數(shù)據(jù)!每種保存在KFbxLayer的元素都繼承于KFbxLayerElement,比如KFbxLayerElementNormal對應(yīng)normal數(shù)據(jù),KFbxLayerElementTangent對應(yīng)tangent的數(shù)據(jù)??梢酝ㄟ^KFbxLayer中定義的各種Get函數(shù),返回需要的KFbxLayerElement,如果為空,則說明當(dāng)前l(fā)ayer中沒有這種元素。KFbxLayerElement還中包含了兩個非常重要的屬性KFbxLayerElement::EMappingMode和KFbxLayerElement::EReferenceMode。


MappingMode定義了當(dāng)前類型的元素如何映射到mesh上。舉例來說,對于KFbxLayerElementNormal,eBY_POLYGON_VERTEX表示如果一個頂點被n個多邊形共享,那么這個頂點就有n條法線與之相對應(yīng);eBY_CONTROL_POINT則表示每個頂點無論被幾個多邊形共享,都只有一條normal;eBY_POLYGON則表示構(gòu)成多邊形的n個頂點只對應(yīng)著一條normal。某些MappingMode只對特定的KFbxLayerElement有效,請詳細(xì)參考文檔。通常對于有hardedge的模型來說,MappingMode只能是eBY_POLYGON_VERTEX,而平滑模型則可以是eBY_CONTROL_POINT。

ReferenceMode定義了如何訪問相關(guān)的數(shù)據(jù)。同樣舉例來說,每個KFbxLayerElement內(nèi)部通??赡馨瑑蓚€數(shù)組,分別稱為DirectArray和IndexArray。如果referencemode為eDIRECT,則第i個控點相對的element元素就在DirectArray的第i位置(第i個控點的normal在KFbxLayerElementNormal.DirectArray[i]中),此時IndexArray為空。eINDEX_TO_DIRECT通常和eBY_POLYGON_VERTEX一起使用,因為一個控點可能對應(yīng)多個值,所以這時必須用多邊形頂點索引(也就是GetPolygonVertexCount()返回的值)來獲得某個多邊形頂點所對應(yīng)的值:KfbxLayerElement.DirectArray[IndexArray[vertexIndex]]。下面代碼演示了如何遍歷所有l(wèi)ayer,獲得每個頂點/控點對應(yīng)的法線:

Get normalKFbxLayerElementNormal*leNormal=pMesh->GetLayer(0)->GetNormals();
if(leNormal)
{
switch(leNormal->GetMappingMode())
{
caseKFbxLayerElement::eBY_CONTROL_POINT:
switch(leNormal->GetReferenceMode())
{
caseKFbxLayerElement::eDIRECT:
KFbxVector4normal=leNormal->GetDirectArray().GetAt(lControlPointIndex));
break;
caseKFbxLayerElement::eINDEX_TO_DIRECT:
{
intid=leNormal->GetIndexArray().GetAt(lControlPointIndex);
KFbxVector4normal=leNormal->GetDirectArray().GetAt(id));
}
break;
default:
break;//otherreferencemodesnotshownhere!
}
break;

caseKFbxLayerElement::eBY_POLYGON_VERTEX:
{
//polygonID=triange1,2,3.....n
//positionId=1,2,3fortriange//vertex!!!!
intvertexIndex=pMesh->GetPolygonVertex(polygonID,positionId);
switch(leNormal->GetReferenceMode())
{
caseKFbxLayerElement::eDIRECT:
caseKFbxLayerElement::eINDEX_TO_DIRECT:
{
Display2DVector(header,leUV->GetDirectArray().GetAt(vertexIndex))
}
break;
default:
break;//otherreferencemodesnotshownhere!
}
}
break;
}
}

為了避免混淆,再強調(diào)一下控點和頂點的區(qū)別。首先,控點只包含位置信息,頂點則包含了位置,法線,紋理坐標(biāo)等信息。如果mesh中所有l(wèi)ayer中的所有元素MappingMode都是eBY_CONTROL_POINT,則控點數(shù)量和頂點一一對應(yīng)。如果是eBY_POLYGON_VERTEX,則有可能需要分裂控點。比如一個控點被n個多邊形共享,則對應(yīng)著n條法線,需要分裂成n個頂點,但是,控點所對應(yīng)的n條法線中有些可能是相同的(nonehard edge)------所以eBY_POLYGON_VERTEX通常和eINDEX_TO_DIRECT配合使用-----因此最終分裂出來的頂點數(shù)有可能小于n。Tangent,bionormal,vertexcolor的訪問與此類似,而且一般來說,只需要讀出第一個layer中的數(shù)據(jù)即可。如何根據(jù)不同的normal等信息分裂控點,組合頂點,需要我們自己來實現(xiàn),這里不詳細(xì)討論。

UV的訪問方式和上面提到的方法類似,但稍稍有些區(qū)別。前面說過,雖然每個mesh都允許多個layer,但通常只會有一組normal,tangent等數(shù)據(jù),uv則可能有多組(比如一組uv用于普通貼圖,另外一組用于lightmap),并且有可能保存在同一layer中,也有可能分別保存在多個layer中。但是fbx文件中有一個奇怪的問題,很多模型雖然只有一組UV,但會被識別出多組UV出現(xiàn)在不同layer中,并且不是每個layer中存在的數(shù)據(jù)都相同或者有效??!

上圖中,第一個文件是正確的,2組UV分別在兩個layer中;下面的文件則多出了2層只含UV的layer,注意多余的uv名稱都是map1.FBX論壇上好像有人也遇到了同樣的問題,不過都沒有官方的解釋,文檔中也沒有討論。解決方法是我們可以通過檢查每組UV的名稱來確定某組UV是否是重復(fù):

代碼foreachlayer
{
intuvSetCount=layer->GetUVSetCount();
if(uvSetCount>0)
{
//iteratealluvchannelindexedbyelement_texture_type
for(inttextureIndex=KFbxLayerElement::eDIFFUSE_TEXTURES;textureIndex<</SPAN>KFbxLayerElement::eLAST_ELEMENT_TYPE;textureIndex++)
{
KFbxLayerElement*uvElement=layer->GetUVs(KFbxLayerElement::ELayerElementType(textureIndex));
if(!uvElement)
continue;
uvSetsName=uvElement->GetName();
if(!CheckUVSetsNameExists(uvSetsName))
{
//processuvdata
}}
}}

GetUVs (KFbxLayerElement::ELayerElementType type)返回對應(yīng)type類型的UV,不存在則返回NULL。這里的type是KFbxLayerElement::ELayerElementType枚舉中eDIFFUSE_TEXTURES到eDISPLACEMENT_TEXTURES之間的值。可以把這個枚舉理解為UV的通道標(biāo)識符,比如GetUVs(eDIFFUSE_TEXTURES)返回diffusetexture通道的紋理,注意,這里eDIFFUSE_TEXTURES并不指這組UV只能用于diffusemap,而只是一個標(biāo)識符!對于只有一組uv的模型來說,紋理數(shù)據(jù)通常都在這個通道中。

我們已經(jīng)基本解析出模型中的幾何信息。接下來看如何獲得材質(zhì),特別是紋理信息。與前面的元素不同,material不保存在layer中,而是保存在node里,一個node可以包含多個材質(zhì)。SDK文檔中關(guān)于材質(zhì),紋理之間關(guān)系的介紹非常讓人迷惑,有些接口也很常奇怪。雖然Layer中有一個名為GetMaterials()的方法,但其返回的KFbxLayerElementMaterial對象中GetDirectArray()只會返回空值,也就是說無法通過它獲得真正表示材質(zhì)的KFbxSurfaceMaterial對象。下面的代碼展示了如何取得材質(zhì),以及相應(yīng)的數(shù)值類參數(shù)。

代碼for(intlIndex=0;lIndex<</SPAN>lNode->GetMaterialCount()lIndex++)
{
KFbxSurfaceMaterial*lMaterial=lNode->GetMaterial(lIndex)
//converttopropersubtype
if(lMaterial->GetClassId().Is(KFbxSurfaceLambert::ClassId))
{
((KFbxSurfaceLambert*)lMaterial)->GetAmbientColor()
((KFbxSurfaceLambert*)lMaterial)->GetDiffuseColor()
...
}
elseif(lMaterial->GetClassId().Is(KFbxSurfacePhong::ClassId))
{
((KFbxSurfacePhong*)lMaterial)->GetAmbientColor()
((KFbxSurfacePhong*)lMaterial)->GetDiffuseColor()
...
}
}

邏輯上來說,KFbxSurfaceMaterial其實是個抽象類,需要把它轉(zhuǎn)換為合適的兩個子類,才能得到實際材質(zhì)參數(shù)。紋理則要更特別一些(注意,雖然layer中也有GetTextures(),但我測試的時候總返回空值)。一個材質(zhì)會包含多個紋理通道,每個通道同樣以KFbxLayerElement::ELayerElementType中關(guān)于紋理的枚舉作為標(biāo)識符,每個通道可以包含多個KFbxTexture或者KFbxLayeredTexture,其中,KFbxTexture就對應(yīng)著一張紋理,而KFbxLayeredTexture則又包含了多個KFbxTexture對象,類似如下結(jié)構(gòu):

KFbxSurfaceMaterial : contains one or moretextureProperty, identified byKFbxLayerElement::ELayerElementType

textureProperty : contains one or moretexture/layerTexture;

layerTexture: contains more than onetexture

下面的代碼展示了如何獲得紋理信息。

Get TexturevoidFbxImporter::ParseMaterial(KFbxNode*fbxNode,HamsterEngine::Node*node)
{
//iterateallmaterial
for(inti=0;i<</SPAN>fbxNode->GetMaterialCount();i++)
{
KFbxSurfaceMaterial*mat=fbxNode->GetMaterial(i);
if(mat)
{
//iteratealltexturechannel
for(inttextureIndex=0;textureIndex<</SPAN>KFbxLayerElement::LAYERELEMENT_TYPE_TEXTURE_COUNT;textureIndex++)
{
//getcurrenttexturechannel
KFbxPropertyproperty=mat->FindProperty(KFbxLayerElement::TEXTURE_CHANNEL_NAMES[textureIndex]);
//haschannel?
if(property.IsValid())
{
//layeredtexture?
if(layerCount>property.GetSrcObjectCount(KFbxLayeredTexture::ClassId);)
{
//iteratealllayeredtexture
for(intlayerId=0;layerId<</SPAN>layerCount;layerId++)
{
KFbxLayeredTexture*layeredTex=KFbxCast<</SPAN>KFbxLayeredTexture>(property.GetSrcObject(KFbxLayeredTexture::ClassId,layerId));
intnumTex=layeredTex->GetSrcObjectCount(KFbxTexture::ClassId);
//iteratealltextureinthislayer
for(inttexId=0;texId<</SPAN>numTex;texId++)
{
KFbxTexture*tex=KFbxCast<</SPAN>KFbxTexture>(layeredTex->GetSrcObject(KFbxTexture::ClassId,texId));
if(tex)
{
std::cout<<"Texturename:"<<tex->GetName()
<<"fileName:"<<tex->GetFileName()
<<"uvSet: "<<tex->UVSet.Get();
}
}
}
}
else
{
intnumTextures=property.GetSrcObjectCount(KFbxTexture::ClassId);
////iterateallsimpletexture
for(inttexId=0;texId<</SPAN>numTextures;texId++)
{
KFbxTexture*tex=KFbxCast<</SPAN>KFbxTexture>(property.GetSrcObject(KFbxTexture::ClassId,texId));
if(tex)
{
std::cout<<"Texturename:"<<tex->GetName()
<<"fileName:"<<tex->GetFileName()
<<"uvSet:"<<tex->UVSet.Get();
}
}
}
}
}
}
}
}

KFbxTexture.UVSet.Get()返回當(dāng)前紋理所綁定的UVSet名稱,可以由此獲得紋理和UV的綁定關(guān)系。

之前所說的KFbxLayerElementMaterial并不是完全沒用,還必須用它獲得mappingmode,對材質(zhì)來說,最常見的兩個值是:eALL_SAME和eBY_POLYGON,前者表示整個mesh的材質(zhì)都相同,沒太多可說的;后者表示材質(zhì)只應(yīng)用到mesh中的部分多邊形,這就比較麻煩了,上圖中第二個文件就是這種情況。不同材質(zhì)意味著紋理或者shader改變,我們必須把eBY_POLYGON的mesh根據(jù)材質(zhì)劃分為不同子mesh才能導(dǎo)入到DirectX程序中。幸運的是sdk提供了這樣的函數(shù),讓我們不用自己計算:

KFbxGeometryConverterlConverter(pSdkManager)
lConverter.SplitMeshPerMaterial(lMesh)

注意:

before and after the call to SplitMeshPerMaterial, you should see adifference in the number: there will be the old mesh, plus one newmesh (node attribute) for each material.

It will work only on mesh that have material mapped “per-face”(Mapping Mode is KFbxLayerElement::eBY_POLYGON). It does NOT workon meshes with material mapped per-vertex/per-edge/etc.It willcreate as many meshes on output that there are materials applied toit.If one mesh have some polygons with material A, some polygonswith material B,and some polygons with NO material, it shouldcreate 3 meshes after calling this function.The newly createdmeshes should be attached to the same KFbxNode that hold theoriginal KFbxMesh.The original KFbxMesh STAY UNCHANGED.Now, the newmesh will have Normals, UVs, vertex color, material andtextures.

以上介紹了模型導(dǎo)入時從fbx文件中提取,常見數(shù)據(jù)的方法,也還有很多方面沒有討論,比如skininfo和animation。對skin來說,相應(yīng)的權(quán)重等信息保存在KfbxDeformer對象中,可以通過KFbxNode獲得。至于動畫目前我暫時還沒有時間研究,如果有好心人實現(xiàn)了,不妨也寫篇教程順便告訴我一聲:)。另外最先說過,fbx是一種可擴展的格式,可以通過UserProperties屬性添加很多自定義屬性,這里介紹了如何在maya和max中添加自定義屬性,SDK中的UserPropertiessample則介紹了如何取得這些屬性。文章中所涉及的函數(shù)只介紹了基本用法,詳細(xì)信息請參考文檔。另外文檔中雖然沒有太多示例代碼,但sdk中附帶的ImportSceneSample是一個非常好的例子,展示了解析fbx文件的方方面面,值得仔細(xì)研究。

轉(zhuǎn)載于:http://www.cnblogs.com/clayman/archive/2010/12/11/1902782.html

  

愛華網(wǎng)本文地址 » http://www.klfzs.com/a/25101015/278086.html

更多閱讀

“小課題研究”——操作篇 小學(xué)語文課題研究題目

“小課題研究”——操作篇關(guān)于“小課題研究”的方案和開題、結(jié)題報告的撰寫要求目錄一、“小課題研究”方案的設(shè)計與撰寫二、案例——《初中數(shù)學(xué)學(xué)困生心理問題表現(xiàn)、成因及轉(zhuǎn)化教育的個案研究》課題實施方案三、課題研究開題

3dmax渲染教程 3dmax渲染技巧

3DMAX→VRAY渲染器正確出圖流程,以便大家提高渲圖效率及質(zhì)量!3DMAX→VRAY渲染器正確出圖流程,以便大家提高渲圖效率及質(zhì)量! ————為改善許多朋友做圖時在流程方面的概念不足導(dǎo)致效果不理想、效率不高等現(xiàn)象---------------------

中心小學(xué)教師備課規(guī)范要求 中小學(xué)教師備課要求

中心小學(xué)關(guān)于教師備課事宜的若干要求一、備課內(nèi)容:包括學(xué)期教學(xué)計劃和課時教案。1、學(xué)期教學(xué)計劃包括:①班級情況分析(兼教班級都要寫):班級基本情況,學(xué)習(xí)習(xí)慣,學(xué)困生情況及轉(zhuǎn)化措施等;②教材簡析:全冊教授的內(nèi)容,包含知識點地位和上下聯(lián)系;③

聲明:《FBX導(dǎo)入及轉(zhuǎn)化 3dmax導(dǎo)入ue4 fbx插件》為網(wǎng)友抬頭那曙光分享!如侵犯到您的合法權(quán)益請聯(lián)系我們刪除

成人熟女人妻在线电影| 久久综合九色综合欧洲98| 久久久999国产视频| 中老熟妇一区二区| 999人妻熟妇一区二区三区精品 | 久久大伊人精品视频| 自拍偷拍 国产精品| 看片网免费你懂的视频| 天天精彩久久中文字幕| 99久久精品国内盗摄| 国内精品 一区二区三区| 一区二区三区日韩在线观看| 熟妇女人妻97p人妻少妇| 天天插天天透天天婷婷| 色狠久久av北条麻纪| 人妻熟女中文字幕在线观看| 91香蕉久久久久久| 久久的精品一区二区三区| 伊人99久久婷婷国产视频| 人妻av瑟瑟在线| 久久国产劲爆^v内射| 波多野结衣乳喷高潮视频| 97视频人人做人人爱| 中文字幕人妻熟女av| 亚洲91久久久久久久久久久| 久久久91人妻精品一区二区三区| 一区二区三区欧美日韩欧美| 国产一二三区不在卡| 亚洲欧美日韩wwwc0m666| 精品少妇久久一区二区三区| 欧美在线视频一区二区三区| 伊人 久久 中文字幕| 黄色8黄色片片大全| 亚洲少妇人妻系列| 婷婷在线免费视频观看| 丝袜美腿aⅴ一区二区三区| 乱码午夜久久久99| 一区二区三区精品少妇人妻| 婷婷六月天综合久久| 精品国产日韩高清毛片| 久久的精品一区二区三区| 国产精品午夜久久久久| 久久精品视频免费视频| 人妻在线视频福利| 日本熟妇久久久久久| 国产成人精品久久久久欧美| 天堂久久天堂色综合色| 精品成人一区二区三区在线不卡| 日韩一区二区中文字幕| 久久亚洲在线精品视频| 蜜臀av性久久一区二区| 日本女人视频网站| 日韩国产中文字幕人妻| 午夜影院在线精品| av成人影院在线播放| 国产又粗又硬又黄又爽的视频| 视频一区二区三区入口| 久久久久久有国产精品| 欧美日韩人妻最新入口| 国产日产在线观看系列av| 2023av在线视频| 亚洲av在线观看播放| 久久综合网站亚洲av| 国产又粗又猛又爽又大的视频| 亚洲天堂最新版www| 国产av一区二区三区免费观看 | 久久精品国产亚洲精品166m| 欧美成人四级中文字幕| 亚洲激情国产专区| 亚洲小说综合另类| 久久久久99精品三人毛片| 日韩男女一进一出| 丁香婷婷色五月激情综合深爱| 日本韩国国产一级片| 国产美女一区二区三区四区免费 | 全部免费特黄特色大片看片| 国产精品久久久久久7777| 在线观看免费日本不卡一二区| 国产精品 国内视频| 色综合变态另类777| 国产一二三区不在卡| 3d动漫精品啪一区二区免费| 国产麻豆精品传媒av国产网址| 最新 国产 精品 精品 视频| 在线国产偷拍自拍| 亚洲午夜久久久久影院| 日韩黄色影视大全| 在线视频人妻中文字幕| 看吊视频一区二区三| 亚洲情色天堂在线观看| 国产一区二区三区高清视频| 久久精品国产字幕高潮37| 午夜欧美久久久久久久久| 国产99福利小视频在线播放| 中文字幕日韩一区二区不卡| 五月婷婷之综合激情在线 | 成人精品电影一区二区三区| 99精品福利一区二区| 91精品一区二区三区| 成人精品视频99在线观看免费| 日韩精品有码自拍| 国产精品99久久久久久久vr| 精品久久一区av中文字幕| 国产美女www免费| 国产日韩欧美中文在线播放| 91精品一区二区三区| 亚洲精品高清视频在线观看| 在线播放日韩av不卡| 成人蜜桃美臀九一一区二区三区| 伊人 久久 中文字幕| 精品乱子伦一区二区| 欧美日韩久久久久久久久| 五月婷婷亚洲综合色| 性欧美精品久久久久久久樱花| 99亚洲国产成人精品| 欧美色综合天天久久| 久久中文字幕视频字幕| 日本熟妇高清在线观看| 国产av一二区三区| 亚洲天堂网av大全| 精品人伦一区二区三区四区蜜桃牛| 91人妻人人妻人人妻| 93久久精品日日躁夜夜躁欧美 | 国产中文字幕不卡在线| 亚洲久久av97一区| 日本韩国三级电影片| 国产又粗又猛又爽又大的视频| 日韩在线观看视频在线观看| 日韩一区二区综合视频| 91免费国产青青碰| 亚洲欧美精品色多多| 亚洲热青春视频在线| 息子嫁中文字幕一区二区三区| 中文字幕人妻一区二区在线av| 亚洲成人三级黄色片| 午夜精品男人天堂av| 国产男男gay激情| 欧美激情综合色综合啪啪| 福利视频一区二区 三区| 九九热精品免费视频观看| 欧美一区二区三区在线精品观看| 亚洲中文字幕久久久av| 国产成人精品推荐视频| 久久精品人妻一区二区三区一| 日本午夜高清在线| 人妻激情麻豆综合| 国产亚洲精品久久久久久妇女| 久久久久久伊人婷婷| 国产福利视频一区在线| www一区二区三区视频com| 99在线精品免费视频| 亚洲图库另类图片日韩| 精品视频一区二区三区蜜桃| 麻豆人妻少妇精红桃视频| 91激情视频在线视频| 午夜婷婷综合在线| 国产综合精品久久东京热| 色婷婷狠狠十八禁久久yy| 丁香花激情五月资源| 精品久久久久久久久久久换人妻 | 中文字幕日韩一区二区三区本高 | 欧美日韩国产综合色| 亚洲成人免费av在线播放| 欧美成人激情视频一区二区 | 亚洲欧美日韩精品制服| 国产精品99久久黑人免费| 精品成人一区二区三区在线不卡| 日韩午夜宅男福利| 国产97色在线免费看| 丝袜美腿aⅴ一区二区三区 | 一区二区三区欧美日韩欧美| 国产婷婷色av一区二区| 99 re热久久免费视频| 自拍偷拍 国产精品| 婷婷激情激情五月天| 黄色8黄色片片大全| 麻豆xxx乱女少妇精品潘甜甜| 亚洲中文字幕久久久av| 蜜臀久久精品99国产| 人妻少妇精品一二三区| 首页av在线观看| 麻豆资源在线不卡观看| 五月婷婷丰满少妇激情六月| 中文字幕日韩一区二区三区本高| 亚洲黄色av观看| 在线观看国产一区亚洲| 狠狠做深爱婷婷综合激情 | 中文字幕一区二区人妻5566| 午夜精品男人天堂av| 18久久久久久久久久久久久| 蜜臀av国内精品久久久夜夜嗨| 免费公开国产五十路视频| 婷婷六月天狠狠爱| 人妻精品区三免费视频| 亚洲情色电影网站| 日韩av电影在线播放| 日韩丝袜一区av| 一区二区三区四区高清av| 丁香花激情五月资源| 日韩欧美一级二级三级| 一本色道久久88综合亚洲精品是| 激情五月天俺也去淫淫| 成人福利在线播放免费| 99re日本免费视频| 岛国福利视频在线观看| 亚洲欧美日韩精品在线播放| 亚洲av日韩在线免费观看| www操操操操操操| 欧美口爆亚洲口爆在线| 精品国产18久久久久久依依影院| 欧美国产精品久久久久久免费| 国产午夜精品在线免费观看| 激情久久综合精品久久人妻| 人妻熟女中文字幕在线观看| 激情五月天图片小说在线观看| 亚洲午夜伦理aaa| 国产成人自拍视频网| 全部免费特黄特色大片看片| 国产成人精品推荐视频| 99这里有精品在线观看视频| 久久国产精品99国产精2021| 中文字幕欧美精品日韩有码| 蜜臀av性久久一区二区| 日韩av电影在线播放| 91色区在线观看国产免费| 亚洲 制服 人妻 久久| 视频二区 中文字幕 人妻中文| 国产一区二区青青精品久久| 日韩在线中文字幕免费| 久久久91人妻精品一区二区三区| 天天干天天玩天天操| 国产av天堂亚洲国产av在线| 熟妇人妻一区二区三区四区久久久| 天天干天天操天天射天天| 日韩熟妇人妻中文字幕一区| 成人caopao自拍视频| 不卡的高清国产av| 不卡的高清国产av| 俺去啦俺色也最新久久| 伊人网免费看黄片| 日韩人妻精品免费| 老熟女老91妇女老熟女| 激情五月天图片小说在线观看| 91九色蝌蚪蜜桃臀| 亚洲日本精品久久久久中文| 熟妇人妻久久中文字幕番号| 亚洲精品久久乱码中文字幕| 国产人妻aⅴ一区二区三区| 亚洲一区二区尻逼| 亚洲男人天堂网在线看| 97精品久久久久中文字幕| 93成人在线播放视频| 亚洲激情四射五月| 91精品国产久久久久久| 国产成人久久婷婷精品流白浆| 午夜精品男人天堂av| 日本萝莉三级电影| 把人妻干哭中文字幕在线观看| 色五五月五月开亚洲婷婷| 亚洲激情国产专区| 人人澡人人澡人人妻| 99热这里只有精品色| 国产又粗又硬又黄又爽的视频 | 欧美色综合天天久久| 日本少妇趟水视频| 丝袜人妻丝袜美腿呻吟| 日韩精品巨乳中文字幕在线| 成人亚洲一区二区三区在线观看| 高清不卡毛片免费观看| avtt天堂网久久精品| 日韩av有码在线观看| 美女精品视频一区二区三区| 高清不卡毛片免费观看| 亚洲精品久久乱码中文字幕| 99热这里只有精品16| 日韩 欧美 一区二区三区| 国产精品美女丝袜一区二区| 久久久久久熟妇吹潮av观看| 九九热在线免费视频观看| 精品久久99在线观看| 久久久激情伦理在线视频| 国产精品久久久久jk制服| 国产亚洲成人av在线播放| 产熟妇一区二区三区aⅴ网站| 中文字幕av一区二区人妻 | 日本漂亮人妻熟妇| 国产精品美女丝袜一区二区| 在线视频 一区 日| 一本久道久久综合综合| 婷婷六月天综合久久| 亚洲自拍偷拍动图| jizzjizz在线观看亚洲| 久久亚洲在线精品视频| 日韩亚洲在线成人| www中文字幕日本| 人人精品,人人妻| 国产女人久久久久久| 人妻人人干青青草| 日韩一区二区免费av| 欧美性色aⅴ欧美综合色| 成人精品漫画h动漫日本| 国产一区二区美女视频| av资源中文字幕在线| 操穴电影中文字幕人妻中文字幕| 成人小视频在线播放| 国产精品 国内视频| 亚洲精选在线视频| 国产精品三级久久久久精品大全| 日本熟妇视频中文字幕有码| 亚洲国产精品久久久久蜜桃噜噜| 日韩一区二区免费av| 12av一区二区三区| 亚洲激情av电影| 亚洲丰满性熟妇ⅹxxoo| 成人日韩视频中文字幕| 91婷婷国产精品久久久久| 日韩最新p片中文字幕av| 熟妇人妻久久中文字幕番号| 国产99福利小视频在线播放 | 91精品国产久久久久久| 黄色亚洲电影网站在线观看| 国产精品美女丝袜一区二区| 人妻丰满精品熟女| 精品少妇视频一区二区三区| 久久久999久久国产| 久久久久久久久久久一级片| 日本女人性开放视频| 日本熟妇免费一区二区三区| 伊人 久久 中文字幕| 国产成人综合精品久久| 玩弄少妇人妻500系列| 久久99热久久99这里有精品| 天天色综合天天aⅴ| 九九九九九九久久久久久久久久| 色婷婷 激情五月| 日韩精品久久日日躁夜夜| 人妻夜夜爽天天爽欧美色院| 欧美精品日韩精品亚洲| 日韩熟妇中文字幕| 老熟女av老熟女xx| 欧美一区激情大胆在线播放| 日韩三级精品视频| 久久999精品久久久久久| 麻豆碰精品麻豆自拍| 91超碰在线一区二区三区| 欧美日韩一区二区三区黑人| 亚洲av综合有码| 特级做a爱片久久久久久69| 日本午夜高清在线| 91行情视频在线看高清| 国产又粗又猛又爽又视频| 日本不卡三区四区| 亚洲国产一区二区三区久久久 | 久久中文字幕视频字幕| 九九九九九九久久久久久久久久| 精品人伦一区二区三区四区蜜桃牛| 日韩亚洲成人aα在线| 成人精品电影一区二区三区| 色狠久久av北条麻纪| 中文字幕亚洲一区嗯嗯| 精品一区二区三区国产馆| 国产91一区二区三区在线| 女人18毛片一区二区三区| 韩日av电影在线观看| 91超碰精品日日躁夜夜躁欧美 | av一区二区在线观看完| 中文字幕欧美精品日韩有码 | 人妻精品人妻一区二区三区四五| 久久中文字幕视频字幕| 久久综合精品伊人色欲17| 国产精选一区二区三区91| 久久精品影院在线观看视频| 丝袜美腿aⅴ一区二区三区| 免费人妻人人干视频| 日韩视频高清在线观看精品| 97成人在线视频免费播放| 午夜精品一区二区三区91| 国产又粗又猛又黄又爽又无遮挡| 超级碰碰碰91免费看| 欧美亚日韩一区二区三区| 人人妻人人澡人人爽人人sex网| 男人的天堂精品久久| 国产精品中文字幕免费| 久久久久久有国产精品| 人妻熟女中文字幕在线观看| 热新久久99免费视频视频| 久久精品国产99久久久蜜桃| 五月天丁香婷久久爱| 亚洲成人精品国产av| 麻豆成人免费视频一区二区| 中中文字幕五月婷婷| 12av一区二区三区| 51vv精品视频在线观看| 久久99国产日韩精品久久99| 伊人免费视频12| 国产99福利小视频在线播放 | 精品久久www人人爽人人| 日韩欧美亚洲成人网| 免费视频亚洲中文字幕在线| 精品成人一区二区三区在线看片| 自拍偷拍图片专区| 亚洲熟妇熟女久久精品综合| 91激情视频在线视频| 99这里有精品在线观看视频| 欧美精品在线小视频| 中文字幕人妻丝袜二区在线69| 午夜欧美久久久久久久久| 亚洲国产中文二区二区| 成人在线观看视频精品| jizzjizz在线观看亚洲| 五月婷婷大香蕉日韩| 99久久热这里只有精品 | 欧美日韩精品在线色图| AV无码国产精品色午夜| 国产又粗又猛又爽又视频| 91精选一区二区三区久久久| 国产 欧美日韩在线视频| 亚洲高清精品人妻自拍| 国产 日韩 精品 欧美| 中文字幕人妻熟女一区二区| 99精品人妻一区二区三区| 福利视频一区二区 三区| 中文字幕人妻乱码在线| 久久99热在线观看| 熟女一区二区三区在线观看视频| 日韩女优av网站在线| 亚洲情色天堂在线观看| 一区二区三区亚洲人妻| 国产日韩av在线免费观看| 麻豆高清视频在线免费观看| 国产五月天在线视频| 日韩专区第17页| 91亚洲精品在线免费观看| 国产巨作av在线播放| 久久成人熟女热视频| www.中文字幕丝袜| 91精品一区二区三区| 看吊视频一区二区三| 人妻丰满精品熟女| 日韩网站在线免费观看| 欧美日韩精品视频第一页| 国产日产在线观看系列av| 色狠久久av北条麻纪| 国产精品久久久久久66| 日韩av高清无打码在线观看| 久久99在线观看视频| 欧美性色aⅴ欧美综合色| av网站福利导航在线| 欧美一区二区三四区操逼| 欧美日韩免费网站观看| 亚洲av日日日日| 久久久久久伊人婷婷| 日韩精品巨乳中文字幕在线| 五月天天天操天天干| 深田咏美亚洲一区二区| 中文字幕av一区二区人妻 | 久久99在线视频观看| 国产麻豆精品久久久久久久久| 香蕉av蜜臀av一区二区| 综合久久 中文字幕| 91精品一区二区三区| 国产精品中文字幕观看| 中国巨乳美女的性与色| 玩弄放荡人妻少妇精品| 亚久久久久久久久久久久久久| 欧美日韩国产专区一区| 天堂影院在线免费观看| 亚洲三级天堂在线| 亚洲av香蕉高清在线播放| 日本少妇好色视频| 久久亚洲在线精品视频| 亚洲国产182tv精品天堂| 日本熟妇久久久久久| 色哟哟精品免费专区| 久久久久亚洲成高清少妇| 国内精品国产三级国产a久久| 九九热视频精彩在线| 93久久精品日日躁夜夜躁欧美| 久久久91人妻精品一区二区三区| 日韩精品在线免费观看自拍视频| 久久精品动漫一区二区三区| 久久精品国产日韩欧美孕妇| 老熟妇一区二区三区| 中中文字幕五月婷婷| 国产午夜精品在线线| 黑人性高潮免费视频| 色秘乱码一区二区三区在线| 熟女阿高潮合集91| 日韩av高清在线影院| 精品国产av色哟哟| 99久在线视频观看| 日韩欧美中文字幕综合网| 操一操网站在线观看| 欧美成人精品女人久久久| 久久天天躁夜夜躁狠狠综合网| 国产成人精品推荐视频| 色秘乱码一区二区三区在线| 在线视频 一区 日| 漂亮人妻被强中文字幕在线| 日韩免费视频精品| 日韩精品久久日日躁夜夜| 午夜爱看福利视频| 少妇人妻中文字幕一二三区| 日韩色图在线影院| 日日日夜夜夜精品| 93成人在线播放视频| 一本色道久久综合亚洲av| 人妻视频一区二区三区免费| 亚洲天堂亚洲天堂中文字幕| 国产一区二区三区欧美精品| 中文字幕人妻丝袜二区在线69| 色婷婷狠狠十八禁久久yy| 唐人av亚洲av| 污视频18在线观看| 亚洲视频频道在线| 日韩色图在线影院| 日本女人自摸视频| 99久草精品视频在线| 中文字幕精品人妻97| 久久久久久久人妻av| 99热这里只有精品16| 日韩不卡av电影网| 久久久999视频视频| 日韩在线一二区不卡| 国产99福利小视频在线播放| 国精产品一区一区三区漫画| 中文字幕亚洲一区嗯嗯| 91行情视频在线看高清| aaa精品视频免费在线| 两个97年失恋疗伤在线观看| 国产麻豆精品成人免费观看| 婷婷在线免费视频观看| 2023av在线视频| 亚洲成人另类综合| 亚洲国产成人女人久久久| 一区二区三区精品少妇人妻| 最新在线不卡av| 日韩欧美成年一级| 日韩精品视频网站免费看| 日韩熟妇人妻中文字幕一区| 123av中文字幕| 一本久道久久综合狠狠| 日日橹狠狠爱欧美| 精品乱子伦一区二区| 日韩熟妇中文字幕| 风流老熟女一区二区三区av| 国产精品久久久久久人妻免费| 久久久中文字幕视频| 久久精品国产免费观看频道| 色婷婷狠狠禁久久| 久久久久久亚洲av在线播放| 大香蕉久久精品99| 日本一区二区三区久久| 精品成人一区二区三区在线不卡| 久久久久久有国产精品| 蜜臀久久精品99国产| 亚洲91久久久久久久久久久| 色哟哟精品免费专区| 欧美一区二区三四区操逼| 中文字幕91大神| 日韩国产另类欧美在线观看| 国产精品美女久久av爽| 日韩精品有码自拍| 国产精品久久久久久久久密臀| av网站福利导航在线| 日韩美av一区二区| 免费视频亚洲中文字幕在线| 欧美日韩一级在线视频| 中文字幕日韩一区二区不卡| 9999久久久久久久久| 中文字幕日本激情| 欧美v日韩v亚洲v最新| av福利免费在线看| 秋霞福利视频在线观看| 人妻中文字幕一区二三区| 婷婷激情激情五月天| 91精品国产久久久久久| 精品国产日韩高清毛片| 国产精品久久久久内射| 久久精品国产99久久久蜜桃| 亚洲精选国产视频| 人妻少妇蜜桃视频欧美一区| a阿v视频在线观看| 久久日本成人精品视频| 国产午夜精品久久精| 日韩欧美色视频在线| 国产五月天在线视频| 色视频免费在线观看高清| 中文字幕一区二区不卡高清| 日本东京热最新中文字幕| 久久久久久亚洲综合影院| 一区二区三区四区高清av| 日韩不卡一区二区在线观看| brazzerss色欧美| 九九视频精品在线免费观看| 午夜影院成人福利| 人妻人人干青青草| 久久婷婷色综合日韩一区一区| 可以直接看的黄色av网站| 国产成人综合精品久久| 欧美oldman色老头| av影院永久免费在线看| 日韩草草草草草草草草草| 日本中文字幕在线观看视频免费| 激情视频久久免费观看| 韩日av电影在线观看| 漂亮人妻被强中文字幕在线| 亚洲久久久999| av的天堂男人的天堂| 日韩三级电影大全中文字幕| 麻豆高清视频在线免费观看| 亚洲欧美精品色多多| 久久国产劲爆^v内射| 日本在线中文字幕一区二区| 中日亚洲欧美激情在线| 东京热日韩电影一区二区| 日韩av高清无打码在线观看| 亚洲欧美日韩一区一区| 少妇高潮久久久久久一代女皇| 制服丝袜 欧美日韩| 91国产人成在线观看| 少妇人妻88久久中文字幕| 亚洲少妇插b色图| 日本av电影av| 国产乱子伦视频观看| 久久久久69成人精品视频| 亚洲欧美国产精品成人| 久久久久999久久久久| 国产av自拍亚洲区| 国产一区二区三区四区99| 久久综合精品乱码中文| 少妇人妻一级视频观看| 山东熟女高潮嗷嗷叫| 亚洲激情诱惑美女| 日本熟妇免费一区二区三区| 亚洲三级天堂在线| 中日韩精品无码一区二区三区 | 海角91成人一区二区三区| 91入口在线观看天天| 日韩欧美国产一卡一区| 国产又粗又猛又爽又视频| 岛国福利视频在线观看| 久久资源站中文字幕| 日本韩国三级电影片| 亚洲91久久久久久久久久久| 亚洲制服人妻另类小说| 婷婷激情激情五月天| 亚洲av中字在线| 欧美亚洲一区二区三区视频| 人妻一区二区三区久久夜夜嗨| 中文字幕婷婷在线观看| 国产麻豆精品成人免费观看| 日韩美女高潮视频网站| 丰满少妇高潮久久久久久| 人妻av瑟瑟在线| 性色av蜜臀av夜夜嗨av| 日韩午夜小视频合集| 激情五月天图片小说在线观看| 久久综合久久综合亚洲| 久久中文字幕视频字幕| 丰满的少妇2一区二区| 国产一区二区三区四区99| 亚洲午夜久久久久影院| 日韩av电影在线播放| 欧美日韩一级在线视频 | 加勒比东京热综合久久| 日韩亚洲欧美中文高清在线| 熟女人妻中文字幕欧美日韩| 波多野结衣初尝黑人巨大| 日韩不卡av电影网| 99精品人妻一区二区三区| 熟女人妻中文字幕欧美日韩| 91久久人澡人人添人人爽网站| 久久人妻少妇av嫩草| 成人黄色免费在线播放| 久久大伊人精品视频| 国产天堂mv在线2020| 九九久久精品免费网站| 最新中文字幕日韩av| 99久久99久久久精品| 人人妻人人爽狠狠干| 亚洲国产一区二区三区久久久| 日本大香蕉永久网| 中文字幕欧美精品日韩有码| 美日韩av一区二区| 久草在在线免视频在线观看 | 亚洲熟妇欲色一区一区三区| 亚洲黄色天堂网站| 免费公开国产五十路视频| 人妻在线视频福利| 久久99在线视频观看| 中文人妻视频免费在线99| 丁香婷婷激情啪啪综合五月天| 欧美精品久久久999| 五月婷婷中文字幕综合网| 成人精品电影一区二区三区 | 中文字幕久久黑人| 亚洲人午夜精品射精日韩| 婷婷影院久久激情五月天| av资源中文字幕在线| 中文字幕麻豆韩日在线| 91在线视频在线视频在线播放| 久久色综合久久88| 一本久道久久综合综合| 国产又粗又猛又爽又视频| 国产精品视频你懂的91| 视频一视频二视频三| 久久久久久亚洲综合影院| 日韩色图在线影院| 日韩欧美国产另类在线观看| 欧美大香蕉大香蕉大香蕉| 日韩 欧美 一区二区三区| 久久久久久伊人婷婷| 亚洲熟妇熟女久久精品综合| 中文日韩欧美第一页| 五月婷婷激情在线视频播放| 国产精品久久久人妻午夜| 亚洲av另类色图在线| 日韩国产另类欧美在线观看| 人妻还是视频在线播放| 欧美性色aⅴ欧美综合色| 国产日韩av网站在线观看| 亚洲中文字幕久久久av| 欧美熟妇大bbwsex| 韩国三级伦理在线视频| 深田咏美亚洲一区二区| 中文字幕中文有码在线精品| 日韩4级视频在线播放| 日韩成人在线观看视频| 97成人在线视频免费播放| 国产二区中文字幕91| 中文字幕+乱码av| 免费人成黄页网站大全在线观看 | 亚洲国产三级网站| 国产精品国产成人生活片| 精品国产一区二区三区av天堂| 欧美精品久久久999久久久| 日本熟妇免费一区二区三区| 九九九九九九久久久久久久久久| 国产精品女主播av| 日韩不卡av电影网| 亚洲午夜青青草久久久久| 国产亚洲成人av在线播放| 色综合变态另类777| 天天躁日日躁狠狠躁av中文| 精品国产一区二区三区av天堂| 91在线视频在线视频在线播放| 欧美一区二区三区四区大片| 国产日韩av网站在线观看| 中文字幕日韩国产av| 亚洲av大全久久| 日韩av一级大片| 最新国产精品av| 亚洲av另类色图在线| 国产丝袜美腿一二三四五区| 国产美女精品传媒在线观看| 精品国产日韩高清毛片| 91久久精品国产91久| 操日本熟女春宵视频| 一区二区三区亚洲人妻| 波婷五月激情五月天| 天天射天天干天天爱| 日韩欧美国产一卡一区| 日本大香蕉永久网| 日韩欧美中文亚洲一区| 国产精品成人久久久久久| 中文字幕欧美精品日韩有码| 成人精品电影一区二区三区| 九九视频精品在线免费观看| 国产麻豆精品成人免费观看| 少妇精品久久久久久av蜜桃| 成人caopao自拍视频| 91大神 在线播放| 中文字幕+乱码av| 黄片小视频中文字幕| 一区二区三区精品少妇人妻| 最新99热这里只有精品| 91精品国产综合久久久蜜臀| 999久久久视频黄色| 国产二区中文字幕91| 国产不卡最新在线视频| 国产精品久久久久久久久密臀| 51vv精品视频在线观看| 国产美女啪啪18禁| 国产综合精品久久东京热| chinese中国av| 国产成人综合精品久久| 91精品国产高清自在线| 超碰国产在线观看91| 亚洲精品国品乱码久久久久| 国产av自拍亚洲区| 五月婷婷中文字幕免费视频| 久久亚洲在线精品视频| 亚洲成人另类综合| 一级av黄色大片| 日韩久久久久久久久久久久久| 美女国产精品美女在线观看| 韩国三级伦理在线视频| 精品人妻巨乳一区二区三区| 国产精品 国内视频| 日韩激情视频在线高清| 精品高清在线观看免费观看| 色999日韩精品| 最新日韩av手机在线观看| 蜜臀av性久久一区二区| 亚洲绿色成人在线| 淫秽网站在线播放| 久久人妻少妇av嫩草| 99热在线只有精品6| 激情久久综合精品久久人妻 | 久久国产三级黄色片| 国产精品一区二区精品视频| 五月婷婷丰满少妇激情六月 | 欧美日韩一级在线视频| 日韩欧美色视频在线| 久久天天躁夜夜躁狠狠综合网| 免费黄色av线上观看| 免费一区二区三区视频| 亚洲综合激情av| 亚洲国产182tv精品天堂| 国产极品嫩模在线观看91| 久久久亚洲熟妇一区二区三区| 狠狠干狠狠操天天日| 精品久久www人人爽人人| 国产日韩av一区二区三区四区| 日韩中文字幕一二| 一本久久综合亚洲| 色狠久久av北条麻纪| 最近的最好看的中文字幕| 国语自产精品视频在线播放| 91av一区二区三区在线观看| 欧美日韩国产专区一区 | 熟女阿高潮合集91| 91国产手机在线观看| 亚洲天堂 亚洲第一| 蜜臀av精一区二区三区| 日韩欧美国产一卡一区| 五月婷婷丰满少妇激情六月| 五月天中文字幕在线婷婷| 蜜桃臀久久久蜜桃臀| 日本熟妇久久久久久| 国产成人久久婷婷精品流白浆| 久久综合九色综合欧洲98| se五月天天久久亚洲| 人妻少妇精品一二三区| 日韩欧美亚洲精品综合| 熟妇人妻久久中文字幕番号| 亚洲激情中文字幕网| 99在线观看视频在线播放| 成人伦理片免费在线观看免费观看| 熟妇人妻无乱码中文字幕蜜桃 | 欧美成人精品一区二区视频| 久久久久999久久久久| 欧美日韩图区一区二区三区| 欧美熟妇大bbwsex| 五月天,色中文字幕| 天天操一操天天操天天操| 福利视频一区二区 三区| 中文字幕乱码一区二区av| 国产亚洲欧美色视频| 91在线视频在线视频在线播放| 欧美日韩国产综合色| 日韩免费视频精品| 一区二区三区欧美日韩欧美| 亚洲av在线观看播放| 日韩成人在线观看视频| 国产精品99久久黑人免费| 免费人成黄页网站大全在线观看| 五月激情综合网五月激情| 91是什么意思网络污词| 中文字幕人妻熟女| 秋霞福利视频在线观看| 熟女少妇内色日韩亚洲| 97超碰精品在线观看| 息子嫁中文字幕一区二区三区| 激情五月天丁香综合| 女人18毛片一区二区三区| 久久精品免费看网站| 国产99福利小视频在线播放| 最新日韩av手机在线观看| 久久综合精品乱码中文| 亚洲激情中文字幕网| 2020精品极品色视频| 久久99国产精品二区不卡| 免费看av中文字幕| 成人精品一区久久久久| 日本熟妇久久久久久| 国产又粗又猛又黄又爽又无遮挡| 欧美成人四级中文字幕| 亚洲国产av不卡婷婷| 成人亚洲一区二区三区在线观看| 五月婷婷亚洲综合色| 欧美激情一区二区三区在线播放| 超碰成人手机免费在线观看| 亚洲激情中文字幕网| 中中文字幕五月婷婷| 亚洲天堂亚洲天堂中文字幕| 人妻中文字幕在线三区| 天堂网免费在线电影| 午夜精品一区二区三区四区 | 国产又粗又猛又黄又爽又无遮挡| 久久99久久99精品欧美激情| 伊人免费视频12| 久久国产三级黄色片| 亚洲国产中文二区二区| 中文字幕91大神| 蜜臀久久精品99国产| 久久久激情伦理在线视频| 亚洲天堂网av大全| 丁香花激情五月资源| 中文字幕在线人妻| 精品乱码久久久久久| 日韩毛片在线视频播放| 在线视频中文字幕 日韩| 欧美日韩大片在线观看视频网站 | 免费公开国产五十路视频| 欧美一区二区三区在线精品观看 | 日本精品久久久久中文字幕2| 中文字幕成人乱码视频| 五月婷婷丰满少妇激情六月| 老鸭窝在线视频免费看| 97超碰在线观看日韩| 亚洲五月婷婷丁香综合| 亚洲欧美日韩精品在线播放| 一级av黄色大片| 日韩一区视频播放| 国产日韩欧美中文在线播放| 人妻夜夜爽天天爽欧美色院| 日韩不卡一区二区在线观看| 青青青青青青青青草视频在线观看| 人妻中文字幕在线三区| 国产 日韩 精品 欧美| 亚洲中文字幕在线的| 五月婷婷激情久久久| 国产又粗又猛又爽又黄又大| 国产99福利小视频在线播放 | 国产一区二区三区精品公司| 日本女人自摸视频| 国产精品久久久久久66| 精品国产一区二区三区av天堂| 日韩一级精品一区二区| 在线观看免费日本不卡一二区| 日韩精品巨乳中文字幕在线| 成人亚洲视频在线观看第一页| 国产av色噜噜一区二区三区| 亚洲91久久久久久久久久久| 激情综合激情五月俺也去淫淫| 爸爸和女儿的黄色片| 国产美女一区二区三区四区免费| 国产熟妇精品一区二区三区 | 亚洲热青春视频在线| 亚洲天堂网av大全| 乱码久久久久久久电影| 国产91一区二区三区在线| a阿v视频在线观看| 亚洲 制服 人妻 久久| 日韩一区二区免费av| 最新国产精品av| 中文字幕人妻丝袜成熟久久 | 午夜国产成人在线免费观看 | 国产成+人+综合+欧美 亚洲| 日韩av成人一区二区三区在线看| 欧美综合激情另类专区| 国产乱子伦精品福利| 熟女少妇水多一区二区三区| 7788人妻精品免费| 青青青青青青在线播放视频| 欧美一区二区三四区操逼| 精品蜜桃一区二区三久久| 国产成人久久婷婷精品流白浆| 18久久久久久久久久久久久| 91超碰在线一区二区三区| 精品人妻巨乳一区二区三区| 最近的最好看的中文字幕| 亚洲av大全久久| 91精品一区二区三区| 欧美激情一区二区三区在线播放| 中文字幕一区三区二区国产| 亚洲一区二区三区中文久久| 91激情视频在线视频| 日韩欧美中文字幕综合网| 久久99国产精品二区不卡| 国产69堂一区二区三区在线观看| 人人妻人人澡人人爽人人sex网| 成人精品电影一区二区三区| 久久中文字幕视频字幕| 不卡无在一区二区三区四区| 日韩欧美国产另类在线观看| 久久久久久久久蜜桃| 日韩av电影在线播放| 桃色网站香蕉大香蕉| 精品蜜桃一区二区三久久| 国产美女啪啪18禁| 国产日韩欧美中文在线播放| 狠狠干狠狠操天天日| 久久久麻豆一区二区三区| 精品少妇久久一区二区三区| 国产成人精品久久久久欧美| 国产丝袜美腿一二三四五区| 色哟哟精品免费专区| 久久久夜色精品亚洲av图| 九九热在线免费视频观看| 99 re热久久免费视频| 白石茉莉奈一区二区av| 亚洲午夜久久久久影院| 日韩视频高清在线观看精品| 日本在线中文字幕一区二区 | 天天碰天天摸天天干天天操| 亚洲午夜久久久国产精品| 久久资源站中文字幕| 精品人伦一区二区三区四区蜜桃牛| 亚洲av日韩av专区国产| 国产精品99久久久久www| 欧美日韩激情亚洲综合| 久久久久久久久久色| 日韩美av一区二区| 中老熟妇一区二区| 国产女同互慰一区二区三区| chinese中国av| 国产麻豆精品传媒av国产网址| 亚洲激情四射五月| 黄色av成人在线观看| 亚洲免费在线久久92| 亚洲自拍偷拍动图| 天天干天天操天天射网| 人人妻人人爽久久久精品软件| 久草在在线免视频在线观看| 国产91一区二区三区在线| 国产成人午夜一区二区三区| 亚洲精品国产呦系列| 91精品国产久久久久久| 天堂网免费在线电影| 国内精品 一区二区三区| 日韩人妻精品免费| av天堂网在线播放| 91 porny九色| 国内精品 一区二区三区| 日本韩国三级电影片| 久久久久精品国产亚洲av水蜜| 麻豆91免费视频网站| 人妻熟女av一区| 日韩男女一进一出| 日本熟妇视频中文字幕有码| 东北熟女天天日天天添| 黄色大片黄色一级大片| 麻豆xxx乱女少妇精品潘甜甜| 国产亚洲精品久久久久久妇女| 日韩av电影在线播放| 国产av一区二区三区四区| 熟妇女人妻97p人妻少妇| 日本不卡三区四区| 97久久久久久精品人妻一区 | 亚洲一区二区三区四区五区福利| 全亚洲最大资源网| 色综合久久久久久久久中文| 五月婷婷大香蕉日韩| 伊人久久首页精品| 人妻中文字幕在线三区| 俺去啦俺色也最新久久| 国产一区二区三区美女在线观看| 自拍偷拍另类色图| 国产一区二区三区在线呻吟视频| 国产男人天堂久久精品| 国产免费av在线网站| 亚洲国产欧美在线人成aaaa| 日韩精品免费二区三区三区| 激情五月天图片小说在线观看| 91精品久久久久久99视频| 瑟瑟韩漫在线观看| 国产精品久久久人妻午夜| 亚洲中文字幕在线的| 唐人av亚洲av| 久久久久久综合国语对白| 91精品一区二区三区| 国产九色91中文在线视频| 久久人妻少妇av嫩草| 国产成人亚洲综合a∨| 伊人成色综合视频| 中日亚洲欧美激情在线| 国产精品久久久久久网站| 国产精品久久久精品三级| 中文av在线dvd| 日韩精品久久日日躁夜夜| 999国产精品成人| 久久re视频在线免费观看| 成人国内精品视频在线观看日韩| 中文字幕第一页婷婷| 成人国产偷拍自拍视频| 97超碰在线观看日韩| 熟女义母乱码中文字幕| 国产精品亚洲av资源| 深夜激情五月天久久视频| 精品人妻少妇系列女友系列| 日韩黄色影视大全| 丰满的少妇2一区二区| 天天干,天天日,天天色| 国产农村妇女精品极品视频| 国产女人久久久久久| 日本熟妇高清在线观看| 日韩草草草草草草草草草| www操操操操操操| 丁香婷婷色五月激情综合深爱| 精品久久久久久一区二| 国产精品91久久久| 久久天天躁夜夜躁狠狠综合网| 日本大香蕉永久网| 日韩av电影在线播放| 熟女人妻中文字幕欧美日韩| 国产精品视频你懂的91| 日本第一中文字幕官网| 熟女阿高潮合集91| 最新中文字幕 av| 777精品午夜一区二区毛片| 日韩精品巨乳中文字幕在线 | 日本av电影av| 日韩精品在线免费观看自拍视频| 91精品国产高清自在线| 天天色综合天天aⅴ| 日本最新的中文字幕| 国产精品久久久久久7777| 成人日韩视频中文字幕| 欧美成人四级中文字幕| 91行情视频在线看高清| 亚洲图库另类图片日韩| 新久久久久久久久久久免费| 麻豆资源在线不卡观看| 精品人伦一区二区三区四区蜜桃牛| 看片网免费你懂的视频| 国产又粗又猛又爽又视频| 视频一区二区三区入口| 中文字幕人妻熟女| 日韩一卡二卡三不卡| 丰满的少妇2一区二区| 亚洲一级黄免费视频| 伊人网免费看黄片| 久久亚洲午夜一区二区| 亚洲成人精品国产av| 国产视频日韩欧美一卡二卡| 绝色少妇高潮3在线观看| 激情五月天福利婷婷| 精品尤物女神在线观看| 又硬又粗又黄又猛又爽又持久| 99热在线只有精品6| 日韩av高清电影手机在线观看| 日韩 欧美 一区二区三区| 欧美激情综合色综合啪啪| 91超碰精品日日躁夜夜躁欧美| 91国产手机在线观看| 免费黄色av线上观看| 亚洲综合激情av| 婷婷六月天综合久久| 夏天香蕉如何保存能放更久| 中文字幕一区二区人妻5566| 久久夜夜一区二区三区日韩| 欧美精品在线小视频| 91在线精品小视频| 91色porny在线| 日韩中文字幕三级电影| 凹凸国产av熟女白浆| 肥臀大腚沟肥臀大屁股一区二区| 夏天香蕉如何保存能放更久| 18久久久久久久久久久久久| 国产一区二区三区精品公司| 97久久久久久精品人妻一区 | 最近的最好看的中文字幕| 国产免费av在线网站| 欧美国产精品久久久久久免费| 产熟妇一区二区三区aⅴ网站| 色婷婷综合久久久久精品中文| 欧美丰满熟妇乱xxxx| 欧美丰满熟妇aaaa片视频| 成人精品漫画h动漫日本| 特级做a爱片久久久久久69| 亚洲欧美精品色多多| 息子嫁中文字幕一区二区三区| 亚洲激情在线电影观看| 国产美女啪啪18禁| 午夜国产成人在线免费观看| 日本萝莉三级电影| 久久精品国产亚洲精品166m| 午夜中文字幕a区b| 色哟哟 日韩精品| 亚洲熟妇熟女久久精品综合| 亚洲情爱视频网站| 亚洲欧美日韩精品制服| 日本在线中文字幕一区二区| 最新欧美日韩一区二区| 99精品国产999| 97日韩在线免费视频网站| 2023av在线视频| 日韩中文少妇字幕| 大陆精品一区二区三区久久| 久久精品免费看网站| 97久久碰国产精品夜| 五月激情四射综合| 97成人在线视频免费播放 | 大香蕉久久久久在线伊人| 麻豆资源在线不卡观看| 欧美日韩一级在线视频| 女同精品人妻一区二区三区| 婷婷六月天综合久久| 久久精品国产日韩欧美孕妇| 97超碰在线免费在线观看| 亚洲欧美在线色视频| 国产综合精品久久99之一| 日本最新的中文字幕| 在线播放日韩av不卡| 日韩精品视频三级| 伊人 久久 中文字幕| 日韩一区二区免费av| 日本av电影av| 亚洲天堂国产免费| jul909中文字幕在线| 亚洲高清精品人妻自拍| 国产精品久久久久久久久密臀| 久久999精品久久久久久| 国产一区二区美女视频| 国产 日韩 精品 欧美| 人妻中文字幕视频| 国产91久久久久久久免费| 亚洲高清电影一区| 成人自拍视频手机免费在线观看| 91在线视频在线视频在线播放| 亚洲国产欧美在线人成aaaa| 天天干天天操天天射天天| 超碰国产在线观看91| 亚洲欧洲成熟熟女妇专区乱| 日韩美av一区二区| 日本久久免费在线观看| 亚洲精品黄av人在线观看| 色八戒一区二区三区四区| 少妇精品久久久久久av蜜桃| 国产精品久久久久久久久777| 成人中文字幕在线免费看| 日韩人妻视频一区二区三区| 国产又粗又猛又爽又大的视频| 亚洲成人精品国产av| 精品少妇久久一区二区三区| 久久在草免费观看亚洲国产| 岛国福利视频在线观看| 国产午夜精品在线线| 中文字幕人妻一区二区在线av| 日韩黄色大片中文字幕| 日韩一区二区三区蜜桃av| 国产综合91天堂亚洲国产| 中文字幕在线人妻| 久久久亚洲视频播放| 一本色道久久亚洲精品av| 日韩三级极速一区| 国产精品入口麻豆a| 麻豆人妻少妇精红桃视频| 中文字幕一区三区二区国产 | 精品国产18久久久久久依依影院 | 日韩中文字幕三级电影| 56porm在线视频| 91老司机在线视频| 国产亚洲成人av在线播放| 国产麻豆精品传媒av国产网址| 国产成人av在线无限观看| jul909中文字幕在线| 丁香六月激情啪啪啪啪啪啪啪| 亚洲国产精品久久久久蜜桃噜噜 | 欧美日韩大片在线观看视频网站| 国产日韩av网站在线观看| 日韩中文亚洲字幕av| 亚洲男人的天堂av2017| 国产美女啪啪18禁| 丁香婷婷激情啪啪综合五月天| 99在线精品免费视频| 久久天天躁狠狠躁夜夜av| 天天精彩久久中文字幕| 91在线观看视频成人| 亚洲午夜久久久国产精品| 美女亚洲第一区二区| 亚洲人午夜精品射精日韩| 日本亚洲国产色图| 日韩三级视频大全| 国产乱子伦视频观看| 人妻丰满精品熟女| 日本大香蕉国产在线| 丁香婷婷激情啪啪综合五月天| 91在线观看视频成人| 中文字幕+乱码av| 亚洲国产精品国自产拍张津瑜| 黑夜中文字幕首页在线视频| 美女国产精品美女在线观看 | 日韩美女av一区| 五月婷婷激情久久久| 93成人在线播放视频| 性做久久久久久久久浪潮| 精品人妻午夜在线视频播放| 一区二区三区久久久无| 亚洲人午夜精品射精日韩| 欧美激情日韩激情亚洲最大| 久久精品免费看网站| 女人18毛片一区二区三区| 制服护士jk学生丝袜秘书套装| 欧美成人精品女人久久久| 偷拍 亚洲 熟女| 在线视频蜜桃视频| 93久久精品日日躁夜夜躁欧美| 又色又爽又黄久久98| 最新99热这里只有精品| 中文字幕av一区二区人妻| 日韩啪啪 中文字幕| 亚洲91久久久久久久久久久| 国产 日韩 精品 欧美| 中文字幕福利在线视频| 婷婷激情综合一区二区| 日韩av有码在线观看| 91大神 在线播放| 麻豆xxx乱女少妇精品潘甜甜| 国产偷拍自拍久久久| 亚洲av香蕉高清在线播放| 日韩不卡av电影网| 亚洲天堂最新版www| 中文字幕人妻熟女| 国产免费av在线网站| 日韩女优av网站在线| 欧美成人激情视频一区二区| 最新中文字幕日韩av| 99久久热这里只有精品| 久久久久久亚洲av在线播放| 2xpxp在线视频| avtt天堂网久久精品| 99久草精品视频在线| 婷婷激情激情五月天| 日韩熟妇中文字幕| 久久国产三级黄色片| 国产av熟女白浆精品视频| 丁香六月婷婷在线视频播放| 99视频精品99在线| 亚洲欧洲成熟熟女妇专区乱| 熟妇人妻一区二区三区四区久久久| 91成人一区二区三区| 天天射天天干天天爱| 国产亚洲欧美视频一区二区| 久久精品国产96精品| 国产婷婷色av一区二区| www.中文字幕丝袜| 久热视频在线观看精品| 在线观看日产av网站| 天堂在线男女av| 亚洲国产精品久久久久蜜桃噜噜| 松本一香亚洲av一区| 日韩男女一进一出| 中文字幕超碰在线播放| 麻豆vpswindows精品| 日本熟妇厨房xxxⅹ乱| 国产男男gay激情| 国产熟妇一区二区三区av| 妖精视频在线观看一区二区三区| 很黄很黄的在线上床| 国产麻豆精品成人免费观看| 日韩精品有码自拍| 日韩精品巨乳中文字幕在线| 色八戒一区二区三区四区| 最新中文字幕日韩av| 丝袜美腿aⅴ一区二区三区| 最新99热这里只有精品| 亚洲国产日韩精品视频| 综合久久 中文字幕| 亚洲欧美另类久久精品| 凹凸国产av熟女白浆| 大香蕉久久久久在线伊人| 91人妻无码成人精品一区二区| 国产乱子伦视频观看| 中文字幕av一区二区人妻| 国内女人精品一区二区三区| 日韩成人黄色av在线观看| 久久久久久熟妇吹潮av观看| 精品久久99在线观看| 精品综合久久久久久久91精品| 亚洲男人天堂网在线看| 国产五月天在线视频| 中文字幕+乱码av| 国产精品成人久久久久久| 久久99热在线观看| 99视频精品99在线| 午夜久久久久久禁播电影 | 色狠久久av北条麻纪| 免费公开国产五十路视频| 婷婷久免费电影在线视频| 国产精品久久久久久久久777| 超碰国产在线观看91| 日本久久免费在线观看| 亚洲男人天堂加勒比| 免费公开国产五十路视频| 国产91一区二区三区在线| 日本加勒比免费高清视频| 人妻在线视频福利| 色9933av精品一区| 天天看亚洲特黄大片| 国产精品兄妹在线观看麻豆| 久久精品国产字幕高潮37| 91在线国产精品免费观看| 精东果冻视频在线观看| 日日夜夜av资源| 国产亚洲自拍色老头| 波多野结衣乳喷高潮视频| 中文字幕人妻熟女| 精品视频一区二区三区蜜桃| 蜜臀久久精品99国产| 日韩欧美中文字幕综合网| 久久久久久久久久色| 国产熟妇一区二区三区av| 色综合久久久久久久综合| 最新国产精品av| 熟女阿高潮合集91| 国产又粗又硬又大又长又爽| 日本韩国国产一级片| 亚洲欧美日韩国产都市激情| 亚洲午夜久久久国产精品| 漂亮人妻被强中文字幕在线| 欧美综合激情另类专区| 久久久久久有国产精品| 亚洲五月天久久久噜噜噜噜| 国产精品99久久黑人免费| 国产69堂一区二区三区在线观看| 日本最新的中文字幕| 日韩欧美一级二级三级| 91精品久久久久久99视频| 亚洲a在线免费视频| 久久久激情伦理在线视频| 日韩4级视频在线播放| 成人福利在线播放免费| 国产91久久久久久久免费| 大吊视频一区二区三区四区| 成人caopao自拍视频| 美女精品视频一区二区三区| se五月天天久久亚洲| 久久久久久久久久久一级片| 美女精品视频一区二区三区|