免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

上位機開發(fā)必知:OBJ模型MTL材質(zhì)文件解析與渲染避坑指南

上位機開發(fā)必知:OBJ模型MTL材質(zhì)文件解析與渲染避坑指南 做上位機這些年見過太多把 OBJ 模型加載進來結(jié)果屏幕上只有灰白色金屬塊的情況。問題往往不在模型本身而在它旁邊那個不起眼的.mtl文件。MTL全稱 Material Template Library是 OBJ 三維模型格式的材質(zhì)描述文件用來記錄模型表面的顏色、貼圖、透明度、高光和反射這些視覺屬性。我們在做設(shè)備數(shù)字孿生、虛擬調(diào)試、三維監(jiān)控界面時經(jīng)常要把機械設(shè)計軟件導(dǎo)出的模型直接搬進自己的上位機程序里OBJMTL 這套純文本組合是最省事的一條路比起 STL 只有幾何沒有外觀比起 glTF 又要處理 JSON 和二進制緩沖它簡單到可以用記事本打開就能看懂全部內(nèi)容。這篇文章適合幾類人一是用 C#、Qt、LabVIEW 做上位機打算在界面里加三維預(yù)覽的二是接到設(shè)備廠商給的模型包打不開或者加載出來效果不對的三是純粹想搞清楚 OBJ 后面掛個.mtl到底什么意思的。我下面把 MTL 的語法結(jié)構(gòu)、與 OBJ 的配合關(guān)系、在真實上位機項目里的解析思路全部攤開講一遍最后附上我踩過的坑和排查記錄照著做基本能避開 90% 的格式坑。1. 為什么上位機開發(fā)要懂 MTL 文件1.1 從工業(yè)場景看 MTL 的真實用途很多上位機開發(fā)者第一次接觸三維模型是在做設(shè)備狀態(tài)監(jiān)控或者虛擬調(diào)試的時候?,F(xiàn)場的設(shè)備可能是 CNC 機床、機器人、輸送線廠家往往給一個 STEP 或者 STP 文件但這類格式在通用圖形庫里面基本沒法直接加載。大家最后都會轉(zhuǎn)到 OBJ 格式上因為它是純文本BLE 通信傳輸、局域網(wǎng)共享、嵌入式設(shè)備里存著都方便隨便一個解析器就能讀。但 OBJ 文件只記錄了頂點坐標(biāo)、法線、紋理坐標(biāo)和面的連接關(guān)系相當(dāng)于模型的白模骨架。一臺機床再怎么復(fù)雜在 OBJ 里也只是一堆坐標(biāo)點和三角面。真正讓它看起來像機床的是表面的顏色和紋理——哪塊鋼板是灰色的、哪塊警示燈是紅色的、哪塊面板上有絲印貼圖這些信息全部寫在 MTL 文件里。如果只管 OBJ 不管 MTL最后渲染出來的就是一片灰白色的幾何體你分不清是機床還是抽象雕塑。在我參與的設(shè)備虛擬調(diào)試項目里三維場景的作用是讓操作員在電腦前先看到產(chǎn)線布局確認(rèn)設(shè)備和治具是否干涉、機器人軌跡是否碰撞。這種場景下模型的外觀不單是好看的問題而是直接影響判斷安全門用紅色、正常工位用綠色這些語義信息全靠 MTL 里的漫反射顏色值區(qū)分。所以解析 MTL 不是可有可無的加分項而是三維可視化功能能否真正落地的基本前提。1.2 為什么不直接選 glTF而選 OBJMTL現(xiàn)在三維格式很多glTF 是 Khronos 推出的標(biāo)準(zhǔn)還支持 PBR 材質(zhì)、骨骼動畫聽起來比 OBJMTL 先進不少。但放到上位機場景里情況不一樣。glTF 雖然功能強但它的結(jié)構(gòu)分成了.gltfJSON 描述和.bin二進制緩沖兩部分紋理圖還要獨立存放解析起來要考慮 URI 解析、緩沖視圖、訪問器這些概念而且很多工業(yè)軟件導(dǎo)出的 glTF 帶有大量擴展字段版本兼容性問題在項目里非常煩人。OBJMTL 的出現(xiàn)比 glTF 早得多從 90 年代 Wavefront 公司用到現(xiàn)在工業(yè)領(lǐng)域積累的存量模型基本都能找到 OBJ 版本。更重要的是它的心智模型特別直白OBJ 管幾何MTL 管外觀兩者通過文件名和關(guān)鍵字互相引用拆開看任何一個文件都能立刻明白意思。還有一個落地層面的考慮上位機程序往往運行在工控機上性能不強顯卡可能還是集成顯卡。OBJMTL 的幾何復(fù)雜度可以通過減面控制材質(zhì)屬性就是幾個浮點數(shù)和幾張貼圖渲染開銷很低。glTF 的 PBR 材質(zhì)對光照計算的要求更高在集成顯卡上跑得卡頓的可能性更大。對我來說不是 glTF 不好而是 OBJMTL 在“代碼簡單、跨平臺、低性能要求”這三個維度上更契合上位機開發(fā)的現(xiàn)實約束。1.3 理解了 MTL 才能看懂渲染結(jié)果為什么不對很多人在論壇上問“OBJ 加載出來沒有顏色怎么辦”本質(zhì)就是沒讀 MTL。但還有些更隱蔽的問題模型有顏色但太亮像塑料、某些面全黑、透明零件不透明、貼圖錯位。這些現(xiàn)象背后的原因都在 MTL 的參數(shù)里。比如 Ns 高光指數(shù)設(shè)置過小物體看起來就發(fā)白illum 光照模型選錯光線計算方式完全不同d 和 Tr 混用會導(dǎo)致透明度解析出相反的結(jié)果。這些細(xì)節(jié)用眼睛看不出來只能在解析代碼里逐個對照排查。所以我就養(yǎng)成了一個習(xí)慣拿到任何三維模型包先用文本編輯器打開.mtl文件看一遍。里面每個關(guān)鍵字都代表一種渲染屬性掃一眼就知道這個模型是簡單著色還是復(fù)雜貼圖也大概能預(yù)料到在渲染管線里會遇到什么坑。接下來我把 MTL 的語法體系完整拆開逐個說清楚。2. MTL 文件語法的細(xì)致拆解2.1 一個標(biāo)準(zhǔn) MTL 文件到底長什么樣MTL 是純文本格式每行一條指令#開頭是注釋空行忽略。一個文件里可以定義多個材質(zhì)每個材質(zhì)以newmtl開始后面跟材質(zhì)名屬于該材質(zhì)的所有屬性行都跟在它下面直到下一個newmtl為止。我拿一個典型的機加工設(shè)備外殼材質(zhì)舉例# Material file created by CAD Exporter newmtl steel_plate Ka 0.20 0.20 0.20 Kd 0.55 0.55 0.55 Ks 0.80 0.80 0.80 Ns 120.0 d 1.0 illum 2 map_Kd textures/steel_brushed.jpg newmtl red_warning_light Ka 0.30 0.00 0.00 Kd 0.85 0.10 0.10 Ks 0.60 0.60 0.60 Ns 200.0 d 1.0 illum 2第一段定義了一個叫steel_plate的金屬材質(zhì)環(huán)境色Ka是偏暗的灰漫反射色Kd是中灰色高光色Ks是亮灰Ns是 120 的高光指數(shù)d是不透明度 1.0illum 2表示啟用高光光照模型最后map_Kd指定了一張刷紋貼圖。第二段定義紅色警示燈材質(zhì)沒有貼圖用純色渲染。這種文件結(jié)構(gòu)看起來簡單但它傳達(dá)了一個關(guān)鍵信息每個材質(zhì)是獨立的屬性集合OBJ 里模型的每個面通過材質(zhì)名來“認(rèn)領(lǐng)”自己該用哪一套外觀參數(shù)。文件里Ka、Kd、Ks后面的三個數(shù)字分別是紅、綠、藍(lán)通道取值范圍 0.0 到 1.0跟我當(dāng)初以為的 0 到 255 完全不同這是新手第一道坎。2.2 關(guān)鍵指令逐個說清楚顏色、透明度、高光與光照模型MTL 里最核心的指令就十幾個但每個都會直接影響渲染輸出。我按屬性類別拆開講。顏色三件套Ka、Kd、KsKa是環(huán)境光顏色模擬物體在無直接光源時被環(huán)境光照射的顏色。在實時渲染里它常被用來做環(huán)境貼圖采樣的強度因子。Kd是漫反射顏色是物體在擴散光照下的表面顏色也是絕大多數(shù)情況下人眼看到的“主色調(diào)”。解析時如果只取一個顏色取Kd準(zhǔn)沒錯。Ks是高光顏色表示鏡面反射的強度與顏色。白色高光1.0 1.0 1.0會讓物體呈現(xiàn)塑料或清漆質(zhì)感接近Kd的高光會讓物體更像金屬。高光參數(shù)NsNs控制高光區(qū)域的銳利程度取值范圍通常在 0 到 1000數(shù)值越大高光斑越小越銳利。金屬拉絲表面一般是 200 以上橡膠表面可能就是 10 到 50。解析時要注意Ns對渲染結(jié)果的影響不像Kd那么直觀但如果設(shè)置不對同一個模型在不同光照下會呈現(xiàn)完全不同的質(zhì)感。透明度d 與 Tr這是一個特別容易踩坑的點。d是 dissolve表示不透明度1.0 完全不透明0.0 完全透明。另外有些工具導(dǎo)出的是Tr表示透明度1.0 完全透明0.0 完全不透明。兩者是相反的語義很多模型文件里同時出現(xiàn)d 1.0和Tr 0.0意思其實一樣。解析時我的做法是如果存在d以d為準(zhǔn)如果只有Tr用1 - Tr換算成不透明度。否則透明零件就會變成實心或者反過來完全看不見。光照模型illumillum后面跟一個整數(shù)0 到 10聲明材質(zhì)的光照計算模型。工業(yè)模型里最常見的幾個值取值含義實際表現(xiàn)0顏色常亮不受光照影響適合自發(fā)光警示燈、屏幕1漫反射環(huán)境光無高光啞光塑料、噴砂鋁2漫反射高光最常見適合大多數(shù)金屬和塑料3反射高光光線追蹤鏡面金屬實時渲染通常降級處理4透明玻璃光線追蹤玻璃罩實時渲染用透明度近似6折射反射光線追蹤透鏡實時渲染處理起來復(fù)雜實時渲染管線和光線追蹤不同illum 0就應(yīng)該關(guān)閉光照直接輸出Kd顏色illum 1忽略Ks和Nsillum 2執(zhí)行標(biāo)準(zhǔn)的光照模型。很多透明件渲染發(fā)黑就是因為illum 4在實時渲染里需要單獨處理直接用漫反射光照當(dāng)然不對。折射率NiNi是光學(xué)折射率一般玻璃是 1.45水是 1.33。實時渲染里如果不開光線追蹤這個值基本用不上但保存起來沒有壞處。解析時保留為浮點字段即可不用做校驗。2.3 紋理貼圖指令與常見路徑陷阱MTL 的貼圖指令以map_開頭后面跟貼圖類型。最常見的幾個map_Kd漫反射貼圖替換或疊加Kd顏色是工業(yè)模型里最常用的貼圖類型。map_Ka環(huán)境光貼圖通常與map_Kd相同有的工具會省略。map_Ks高光貼圖控制高光的強度分布。map_Ns高光指數(shù)貼圖用像素值控制表面光滑度差異。map_d透明貼圖用貼圖灰度控制透明度。map_bump或bump凹凸貼圖制造表面凹凸感不改變幾何。refl反射貼圖球面環(huán)境映射老式模型里常見工業(yè)實時渲染用得少。路徑問題是這里的重頭戲。MTL 里的貼圖路徑可能有三種寫法map_Kd texture.jpg同目錄相對路徑、map_Kd textures/steel.jpg子目錄相對路徑、map_Kd C:\models\maps\steel.jpg絕對路徑。上位機程序里絕對路徑幾乎肯定出問題因為文件拷到工控機上路徑早就變了。子目錄相對路徑還算友好但解析時要注意基準(zhǔn)目錄是“MTL 文件所在目錄”而不是 OBJ 文件所在目錄。我見過不少模型把 MTL 放在models/materials/貼圖放在models/textures/OBJ 引用 MTL 時寫materials/model.mtlMTL 里引用貼圖寫../textures/tex.jpg這種跨級相對路徑在拼接時特別容易算出多余的空目錄加載失敗率極高。處理辦法是在解析函數(shù)里先做路徑歸一化把..抹掉再判斷文件是否存在并且做一個兜底邏輯在 MTL 文件目錄、OBJ 文件目錄、當(dāng)前工作目錄三個位置都找一遍貼圖找不到就打印警告不直接崩潰。3. 解析 MTL 之前先把 OBJ 的引用關(guān)系捋清楚3.1 坐標(biāo)與索引約定為什么老手也會翻車OBJ 和 MTL 是配套使用的OBJ 文件通過兩條指令引用材質(zhì)mtllib聲明外部材質(zhì)庫文件的文件名usemtl聲明后續(xù)的面使用哪個材質(zhì)。一個 OBJ 文件可以有多個mtllib聲明也可以有多個usemtl這就形成了“幾何分組—材質(zhì)”的映射關(guān)系。索引基數(shù)是 OBJ 最坑的細(xì)節(jié)之一。OBJ 里所有索引從 1 開始不是從 0 開始f 1/1/1 2/2/1 3/3/1的第一組數(shù)字對應(yīng)第一個頂點位置紋理坐標(biāo)和法線索引各自獨立計數(shù)。用 C# 的 List 或數(shù)組時記得讀取索引后減 1 再訪問元素否則三角形永遠(yuǎn)錯位一格。這個問題在解析 OBJ 時最常見跟 MTL 的關(guān)系在于材質(zhì)引用usemtl的位置是按面的順序生效的索引算錯了面就歸錯組材質(zhì)貼錯位置。另外 OBJ 里面的行可以寫f 1 2 3也可以寫f 1/1 2/2 3/3還可以寫f 1//1 2//2 3//3。三種格式分別代表“只有頂點”“頂點紋理”“頂點法線”。解析時用Split(/)之后數(shù)組長度可能為 1、2、3必須有對應(yīng)的分支處理不能默認(rèn)長度固定。3.2 材質(zhì)分組邏輯usemtl 與對象分區(qū)的映射OBJ 文件里模型的幾何體排列順序是有講究的。機械設(shè)計軟件導(dǎo)出 OBJ 時零件基本按創(chuàng)建順序輸出同一個零件下面的三角面在文件里連續(xù)排列并且在第一個面前面有一行usemtl 零件材質(zhì)名。所以解析時的流程應(yīng)該是遇到usemtl切換當(dāng)前材質(zhì)后續(xù)所有面全部記錄到該材質(zhì)的分組里直到下一個usemtl出現(xiàn)。有些模型在導(dǎo)出時會把多個零件合并成一個 OBJ 文件但材質(zhì)名保留各自獨立這樣加載進來之后雖然是一個 Mesh卻能通過材質(zhì)分組拆成多個子物體。對接上位機項目時這個特性可以用來做“按材質(zhì)高亮”“統(tǒng)計同材質(zhì)面積”之類的功能。我做過一個設(shè)備點檢界面點擊故障燈區(qū)域就要高亮整個 warning 燈外殼其實就是把 OBJ 里usemtl red_warning_light下面的所有面收集起來單獨渲染一遍。3.3 紋理坐標(biāo)與 OBJ vt 的銜接MTL 里的map_Kd貼圖要正確貼在模型表面OBJ 里必須有對應(yīng)的紋理坐標(biāo)vt。紋理坐標(biāo)是二維的范圍通常是 0.0 到 1.0映射規(guī)則是貼圖左下角(0,0)右上角(1,1)。很多工業(yè)導(dǎo)出的 OBJ 會用 UV 展開工具生成好vt但也有些模型完全沒有紋理坐標(biāo)這時即使 MTL 里寫了map_Kd貼圖也貼不上去只能退化為純色渲染。解析時需要檢查的是OBJ 里是否存在vt記錄面的索引里是否包含紋理坐標(biāo)分量如果存在但沒有加載map_Kd說明材質(zhì)和幾何沒有接上如果既有 MTL 的貼圖索引又存在vt還要注意坐標(biāo)系的 Y 軸方向。部分建模軟件使用左上角為原點的坐標(biāo)系輸出的vt需要做1 - v翻轉(zhuǎn)否則貼圖會上下顛倒。工業(yè)模型里這個問題常見于從 SolidWorks 和 Rhino 導(dǎo)出的文件我每次看到vt都會留意一下貼圖方向。4. 用 C# 解析 MTL 的完整實操4.1 先設(shè)計一個適合渲染用的 Material 數(shù)據(jù)結(jié)構(gòu)解析 MTL 之前先把內(nèi)存里的數(shù)據(jù)結(jié)構(gòu)定好解析器就只管往里面填數(shù)據(jù)渲染層直接讀取。我用 C# 定義了一個精簡但完整的材質(zhì)類public class MtlMaterial { public string Name { get; set; } // newmtl 后面的名字 public Vector3 Ka { get; set; } new Vector3(0.2f, 0.2f, 0.2f); public Vector3 Kd { get; set; } new Vector3(0.8f, 0.8f, 0.8f); public Vector3 Ks { get; set; } new Vector3(1f, 1f, 1f); public float Ns { get; set; } 100f; public float D { get; set; } 1f; // 不透明度 public float Ni { get; set; } 1f; public int Illum { get; set; } 2; public string MapKdPath { get; set; } // 漫反射貼圖路徑 public string MapKaPath { get; set; } public string MapBumpPath { get; set; } public string MapDPath { get; set; } public bool IsTransparent D 0.99f || !string.IsNullOrEmpty(MapDPath); }Vector3可以用自己寫的三維向量結(jié)構(gòu)體替代不一定要引入數(shù)學(xué)庫。這個類的關(guān)鍵點是給每個字段都設(shè)了默認(rèn)值這樣即使 MTL 里缺少某個屬性渲染也不會因為取到空值而報錯。工業(yè)模型千奇百怪有的材質(zhì)只寫了Kd其余全缺默認(rèn)值兜底很重要。4.2 逐行解析處理指令分發(fā)的核心代碼解析的核心邏輯是按行讀取切分指令和參數(shù)再分發(fā)到對應(yīng)的處理分支。下面這段代碼是我在項目里用過的簡化版本已經(jīng)處理了注釋、大小寫、d/Tr語義轉(zhuǎn)換這幾個關(guān)鍵點public static MtlMaterial[] ParseMtl(string mtlPath) { var materials new ListMtlMaterial(); MtlMaterial current null; foreach (var rawLine in File.ReadLines(mtlPath)) { // 去掉注釋部分 int commentIdx rawLine.IndexOf(#); string line commentIdx 0 ? rawLine.Substring(0, commentIdx) : rawLine; line line.Trim(); if (line.Length 0) continue; // 按空白字符拆分關(guān)鍵字和參數(shù)分離 var parts line.Split(new[] { , \t }, StringSplitOptions.RemoveEmptyEntries); var key parts[0].ToLowerInvariant(); switch (key) { case newmtl: if (parts.Length 1) { current new MtlMaterial { Name parts[1] }; materials.Add(current); } break; case ka: if (current ! null parts.Length 4) current.Ka new Vector3( float.Parse(parts[1], CultureInfo.InvariantCulture), float.Parse(parts[2], CultureInfo.InvariantCulture), float.Parse(parts[3], CultureInfo.InvariantCulture)); break; case kd: if (current ! null parts.Length 4) current.Kd new Vector3( float.Parse(parts[1], CultureInfo.InvariantCulture), float.Parse(parts[2], CultureInfo.InvariantCulture), float.Parse(parts[3], CultureInfo.InvariantCulture)); break; case ks: if (current ! null parts.Length 4) current.Ks new Vector3( float.Parse(parts[1], CultureInfo.InvariantCulture), float.Parse(parts[2], CultureInfo.InvariantCulture), float.Parse(parts[3], CultureInfo.InvariantCulture)); break; case ns: if (current ! null parts.Length 2) current.Ns float.Parse(parts[1], CultureInfo.InvariantCulture); break; case d: if (current ! null parts.Length 2) current.D float.Parse(parts[1], CultureInfo.InvariantCulture); break; case tr: // Tr 是透明度需要轉(zhuǎn)換為不透明度 if (current ! null parts.Length 2) current.D 1f - float.Parse(parts[1], CultureInfo.InvariantCulture); break; case illum: if (current ! null parts.Length 2) current.Illum int.Parse(parts[1]); break; case map_kd: if (current ! null parts.Length 2) current.MapKdPath string.Join( , parts.Skip(1)); break; case map_ka: if (current ! null parts.Length 2) current.MapKaPath string.Join( , parts.Skip(1)); break; case map_bump: case bump: if (current ! null parts.Length 2) current.MapBumpPath string.Join( , parts.Skip(1)); break; case map_d: if (current ! null parts.Length 2) current.MapDPath string.Join( , parts.Skip(1)); break; default: // 其他的關(guān)鍵字Ni、refl、Ke 等暫時忽略 break; } } return materials.ToArray(); }這段代碼里有幾個細(xì)節(jié)值得說一下。float.Parse必須傳CultureInfo.InvariantCulture因為有些 MTL 文件是國外軟件導(dǎo)出的小數(shù)點分隔符是.但工控機上運行程序時如果系統(tǒng)區(qū)域設(shè)置是德語、法語等地區(qū)默認(rèn)分隔符會變成,不指定不變文化就會解析異常。我曾經(jīng)在一臺區(qū)域設(shè)置為“波蘭語”的工控機上踩過這個坑程序在其他機器上跑得好好的偏偏那臺上線就崩潰查了半天才定位到是浮點解析的國際化問題。map_Kd后面的內(nèi)容不一定只是路徑。規(guī)范允許帶參數(shù)比如map_Kd -s 1 1 1 texture.jpg、map_Kd -o 0.5 0.5 0 texture.jpg。如果直接用parts[1]取路徑就會取到-s所以用string.Join( , parts.Skip(1))把剩余部分全部拼回來再在后面的路徑清理函數(shù)里剔除選項參數(shù)。真實項目的 MTL 文件里出現(xiàn)這類帶參數(shù)語句的概率不低寫解析器時一定要預(yù)留。4.3 紋理加載與路徑拼接的細(xì)節(jié)解析完 MTL 文本接下來要面對的是貼圖文件。貼圖路徑在實際項目里五花八門有些路徑里帶空格、有中文、有\(zhòng)和/混用還有大小寫不一致的問題。我的加載函數(shù)是這樣處理的private static string ResolveTexturePath(string rawPath, string mtlDir) { if (string.IsNullOrWhiteSpace(rawPath)) return null; // 去掉 MTL 里可能存在的選項參數(shù)如 -s、-o var cleaned rawPath.Trim(); cleaned cleaned.Replace(\\, /); // 如果包含空格且看起來像參數(shù)去掉第一個空格前的內(nèi)容 if (cleaned.StartsWith(-)) { int spaceIdx cleaned.IndexOf( ); if (spaceIdx 0) { var remainder cleaned.Substring(spaceIdx 1).Trim(); if (remainder.Length 0) cleaned remainder; } } // 候選路徑列表 var candidates new Liststring(); if (Path.IsPathRooted(cleaned)) { candidates.Add(cleaned); } else { candidates.Add(Path.Combine(mtlDir, cleaned)); // 兼容常見的上級目錄引用 candidates.Add(Path.Combine(mtlDir, .., cleaned)); } foreach (var path in candidates) { if (File.Exists(path)) return Path.GetFullPath(path); } return null; }這個函數(shù)不負(fù)責(zé)把貼圖解碼進顯存只負(fù)責(zé)找到準(zhǔn)確的磁盤路徑。真正的紋理加載還要考慮如果 MTL 里沒有map_Kd就用Kd純色填充避免出現(xiàn)“模型紫黑色”的默認(rèn)錯誤如果貼圖存在但解碼失敗也要回退到純色不能中斷加載流程。在.NET環(huán)境下System.Drawing和Image.FromFile對圖片格式的兼容性還行但要注意內(nèi)存釋放StbImageSharp是更好的選擇解碼速度快且不依賴系統(tǒng) GDI。加載完成后我一般統(tǒng)一轉(zhuǎn)為 BGRA32 像素格式方便交給 OpenGL 或 DirectX 紋理接口。4.4 渲染前你還需要做的小處理MTL 解析完成、貼圖加載完成離正確渲染還差幾步收尾工作。第一透明物體排序MTL 里的透明材質(zhì)需要放到渲染隊列的后面并且關(guān)閉深度寫入否則透明件后面的物體全都被遮擋看不見。第二紋理的 Y 軸方向很多引擎的紋理坐標(biāo)系和 OBJ 的vt不一致加載貼圖到紋理對象時需要做一個垂直翻轉(zhuǎn)或者在采樣時翻轉(zhuǎn)t坐標(biāo)。第三材質(zhì)緩存同一個 MTL 文件可能在多幀加載中被反復(fù)引用用字典按材質(zhì)名做緩存避免模型切換時重復(fù) IO。5. 常見問題與排查實錄5.1 排查記錄一樁“全白”事故去年做一個機器人上下料工站的上位機界面甲方給的 OBJ 模型加載進來全是白色的連形狀都看不清。我第一反應(yīng)是 MTL 沒讀進來打開日志發(fā)現(xiàn)mtllib后面寫的文件名是robot_v2.mtl但實際文件叫ROBOT_V2.MTLWindows 文件系統(tǒng)不區(qū)分大小寫所以 File.Exists 找到了文件但在項目里我們用的是 Linux 工控機文件名大小寫敏感直接找不到 MTL。這個案例讓我養(yǎng)成一個習(xí)慣所有路徑查找都不信任文件系統(tǒng)的大小寫規(guī)則先File.Exists探測不行就走目錄掃描匹配。又有一次白色問題出在Kd的值上。設(shè)備外殼材質(zhì)Kd 4.0 4.0 4.0數(shù)值遠(yuǎn)大于 1.0。這種超標(biāo)值在一些渲染器里會被當(dāng)作 HDR 顏色處理顏色會泛白在另一些渲染器里直接截斷成純白。工業(yè)設(shè)計軟件導(dǎo)出的 MTL 偶爾會寫出這種不規(guī)范的數(shù)值解析時我是用Math.Min(1.0f, value)做鉗制的實測渲染色感正常。5.2 問題速查表我把項目里遇到過的高頻問題匯總成了一張表方便排查時對照現(xiàn)象可能原因解決方法整個模型無顏色MTL 路徑錯誤或未解析檢查 OBJ 的mtllib引用和 MTL 文件是否存在部分面無顏色usemtl缺失或拼寫錯誤檢查材質(zhì)名是否大小寫完全一致貼圖顯示不出來貼圖路徑不存在或格式不支持用路徑解析函數(shù)搜索多個候選目錄檢查貼圖格式模型全黑illum 0或光照方向反向?qū)llum 0直接輸出Kd確認(rèn)法線方向透明件不透明d解析錯誤或渲染未排序檢查d/Tr語義打開深度寫入分離渲染貼圖上下顛倒紋理坐標(biāo)系 Y 軸不一致采樣時翻轉(zhuǎn)t軸高光過曝全白Ns過小或Ks過大調(diào)大Ns到 100Ks限制在 1.0 以內(nèi)中文路徑打不開工控機區(qū)域編碼不匹配統(tǒng)一用 UTF-8 讀文件路徑用 Unicode 字符集5.3 避坑技巧解析器之外的工程習(xí)慣除了技術(shù)細(xì)節(jié)還有幾個工程層面的習(xí)慣幫我少走了很多彎路。第一永遠(yuǎn)不要用記事本編輯 MTL 后另存為 UTF-8 with BOM。BOM 頭會插在文件最前面解析第一行newmtl時拼上三個亂碼字符材質(zhì)名徹底對不上。我自己的解決方案是解析前先判斷字節(jié)流前三個字節(jié)是不是EF BB BF有就去掉。第二從不同軟件導(dǎo)出的 MTL 格式差異很大。SolidWorks 導(dǎo)出是單材質(zhì)多貼圖Pro/E 導(dǎo)出經(jīng)常把顏色寫進 OBJ 的v頂點色而不是 MTL3ds Max 導(dǎo)出經(jīng)常帶map_Kd和大量的-o、-s選項。我寫了一個小的“MTL 預(yù)覽器”把解析結(jié)果以表格形式列出來文件名、貼圖是否存在、透明度值是多少一目了然排查問題時比直接翻渲染畫面高效得多。第三在生產(chǎn)環(huán)境里模型文件最好統(tǒng)一走一個“資源打包”流程把 OBJ、MTL、貼圖全部拷到一個固定目錄結(jié)構(gòu)下用腳本檢查一遍路徑引用最后生成一個帶校驗和的資源清單。這一步看起來繁瑣但能避免很多“在開發(fā)機上好端端的一部署到現(xiàn)場就找不到文件”的尷尬。5.4 給 Qt / LabVIEW 開發(fā)者的移植提示我用 C# 講的解析邏輯換到其他語言同樣成立。Qt 里可以用QTextStream按行讀QColor直接存顏色QOpenGLTexture加載貼圖路徑拼接用QDir::cleanPath處理..LabVIEW 里可以用“讀取電子表格”控件按行解析字符串拆分后轉(zhuǎn)數(shù)值只是異常捕獲不如文本語言方便更要在解析前做好數(shù)據(jù)校驗。核心思路是不變的分清楚哪些是幾何信息OBJ哪些是外觀信息MTL解析時先有完整的數(shù)據(jù)結(jié)構(gòu)再去逐行填值遇到未知關(guān)鍵字跳過而不是報錯紋理丟失時回退到純色而不是黑屏。最后再分享一個小技巧給 OBJ 加載器寫測試用例時不要只用 SolidWorks 導(dǎo)出的標(biāo)準(zhǔn)模型專門準(zhǔn)備幾個畸形 MTL 文件——缺Kd、d和Tr混用、貼圖路徑帶空格、illum寫了個 99。把這些文件喂給解析器能扛住不崩潰、不白屏的解析器到現(xiàn)場才穩(wěn)得住。三維模型加載這塊真正拉開差距的不是把正常文件解析對而是把不正常文件解析得不難看。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色色网91| 免费国产VA国产免费| 五月丁香成人视频| 激情99热| 黄网免费观看| 操操精品| 九九Y精品热播| 婷婷五月AV| 天天爽,天天操。| 91色色色视频| 熟女色色一区二区| 五月丁香啪啪啪| 色一区高清| 国产午夜成人免费看片无遮挡| 97热这里只有精品| 97五月天婷婷| 狠狠999| 婷婷丁香社区| 欧洲区自拍| 大香蕉久| 99热日本| www色五月| 丁香六月婷婷综合欧美| www.粉嫩av.com| 久久婷婷老| www.99在线| 婷婷五月丁香高清无码| 五月天激情综合在线| 婷婷五月丁香国产| 五六月婷婷久久| 拍真实国产伦偷精品| 久青操| 五月天五月婷五月激情网| AV在线免费播放| 就去色色五月丁香婷婷久久久| 五月天激情网站| 中文不卡一二三区| 五月激情另类| 26UUU精品一区二区Com| 天天夜夜六月丁香五月婷婷老师| 国产五月婷| 久久综合网免费视频| 色婷婷久久综合| 大香蕉操操| 婷婷久久天堂网| 97成人丁香| 亚洲A片成人无码久久精品青桔| 人妻久久久久久| 亚洲精品国产setv| 这里只有精品久久| 天天肏在线视频| 日韩青青| 91视频一起草| mmm1717.6dbm人人爱人人操| www夜夜操wwwcon| 婷婷丁香高潮了| 亚洲精99| 色色色色色色色色网站| 日本色天堂| 99毛片| 亚洲旡码| 99ER热精品视频| 99视频综合| 激情综合网激情五月丁香五月俺也去| 狠狠色九月| 五月天婷婷丁香人人操91| 色婷婷五月丁香色| 日韩成人免费电影| 天天爽综合| cc精品国产性传播| 91色五月| www免费在线视频| 国产九月婷婷| 久久黄A片| 五月亚洲激情| 成人电影AV在线观看| www色五月| 欧美日韩中文国产一区发布| 国产小网站| 五月天丁香成人社| 五月综合激情综合久| 五月婷婷六月婷| 亚洲色99| 亚洲熟妇AV乱码在线观看| 99丁香婷婷综合网| 久久激情五月| 亚洲精品国产精品乱码视99| 五月开心网| 97超碰婷婷五月天| 丁香五月自拍| 99综合| 99视频| 久操欧美在线观看97| 综合久久综合五月天婷婷| www狠狠爱com| 激情婷婷五六月天| 99综合免费视频| 国产精品久久久久久久久久免费| 久久东京热婷婷五月| www.狠狠操.com| 深爱激情五月网| 操骚货在线| 五月激情婷婷偷拍| 成人欧美一区二区三区在线观看| 精品成人在线观看| 天综合日日夜综合7799| Jh7Uf088VHafNm| 一起草Av| 久久婷网| 国产性爱一级| 97婷婷五月激情六月丁香伊人| av在线资源| 综合六月激情婷婷| 欧美日韩中文国产一区发布| 99在线观看亚洲| 国产欧美va| 99网| 日本五月丁香| 国产亚洲色婷婷久久99精品91| 99久久.www| 日本精品。999| 超碰99热精品| www久久艹| 天天日夜夜草进麻麻的子宫| 少妇高潮呻吟A片免费看软件| 狠狠色丁香久久婷婷综合五月| www.狠狠狠.com| 99re视频在线播放| 黄网网站在线播放| 99啪啪视频| 伊人大香久久| 五月天婷婷在线视频| 狠狠精品干练久久久无码中文字幕| 久久精品99久久| 亚洲最大五月六月丁香婷婷| 亚洲黄色操逼| 逼里香不卡| 五月婷婷激情综合| 丁香色啪综合| 大香蕉在线99热| 另类婷婷丁香| 99精品丁香五月| 婷婷涩涩网| 99热在线只有精品| 亚洲五月六丁香激情| 色婷婷97| 66精品国产成人| 9l视频自拍九色9l视频自拍九色9l社区| 东京热人妻一区二区三区在线| 中文字幕日韩无码制服诱或| 99riAV成人在线视频| 天天插天天草人人玩| 丁香五月色| 思思久久99热| 91紱請| 天天做天天爰天天爽天天无遮挡| 少妇水多A片太爽了| www.av视频xx999.com| 色综合色色| 久久之人妻| 丁香五月天电影| 日本久久精品| 日韩国产在线精品| 天天爽天天| 成人午夜无码视频| 国产九月婷婷| 色五月色五天色情网| 午夜天堂啪啪| 极品人妻VIDEOSSS人妻| 五月婷婷香| 婷婷 丁香 久久| 久久99综合网| 梁铮版《蜘蛛女侠》在线| 国产黄大片在线观看画质优化| 97深爱伊人综合| 精品99*| 五月天六月婷婷电影| 七七色综合| 亚洲热视频| 97亚洲婷婷| 丁香五月婷婷色情综合| 色综合五月婷婷狠狠干| 婷婷性爱视频在线| 99热在线观看| 九月婷婷激情| 天天干天天干天天干天天干天天干天天干天天| 碰人人操| 99人妻碰碰久久久禁片| 99久精品视频| 六月婷婷九月丁香亚洲综合| a网站免费观看| 丁香六月综合激情| www.91在线观看| 亚州激情网| 色色9 9| 人人人操| 九九精品视频在线6| 激情五月婷黄版| 色播五月网| 五月婷婷开心六月激情小说| 久久九九网| 三级片AAA久久久AAA久久久AAA | 激情六月丁| www.激情在线| 夜夜爱伊人| 丁香久久| 99在线热| 狠狠色噜噜狠狠狠狠综合| 视频综合网| 国产高潮白浆一区二区| 疯狂做受XXXX高潮A片| 人人摸人人澡人人| 婷婷五月天日本无码| 91.com男女操| 五月婷婷九九热| www久久久| 婷婷色色婷婷| 久久思思精品| 开心五月激情五月丁香五月婷婷| 五月天天天操天天爽夜夜操| 亚洲五月婷| 香蕉五月婷婷| 五月天婷婷狂暴白浆| 丁香五月婷久久| 伊人久久五月天综合| 99re这里只有精品99| 99视频综合网| 婷婷色狠狠| 丁香九月激情| 思思热99热| 97碰| 日本色色网站| 天天天天干| 九热视频这里只有精品| 丁香五月天殴美激情| 国产 亚洲 在线| 怡红院91a√| 琪琪色网在线| AV片在线观看| AV大片在线观看| 中文字幕日产A片在线看| 婷婷色五月激情| 79精品视频| 欧美熟女乱又伦| 久热这里只有精品在线观看 | 五月天狠狠网站| 激情宗合 激情宗合| 99久久天堂婷婷| 免费看成人AA片无码视频吃奶| 99久久99久久综合| 狠狠插狠狠插| 99久久国产宗和精品1上映| 啪啪啪大香蕉| 色九月婷婷| 亚洲人妻AV| 婷婷啪啪| 嫩草AV久久伊人妇女超级A | 欧美在线看| 六月色播| 就是色婷婷五月亚洲色| 日本va欧美va精品发布视频| yazhouzonghesese| 激情网婷婷婷| 久婷久婷| 激情综合亚洲| 日本成人内射| 中文字幕激情综合| 丁香五月激情婷婷视频| 狠狠色狠狠鲁| 婷婷性爱五月天| 色亚洲激情| 播五月,色五月,开心五月播放器 | 一级黄色影片| 久久R激情| 婷婷不卡基地| 久久大香蕉同僚| 日日干天天射| 久热视频这里只有精品68| 思思99re这里只有| 激情九九六月激情免费视频| 日日干夜夜干| 视频一区二区在线| 九九99免费视频| 高清无码.com| 丁香六月在线| 思思热在线视频精品| 曰韩少妇内射免费播放| 在线视频激情网站| 婷婷五月天亚洲色| w婷婷五月婷婷w| 久久综合丁香激情五月| 北条麻妃伊人| 五月丁香六月激情综合网| 琪琪理论片| 五月天婷婷色小说| 婷色五月天| 婷婷97狠狠成人网站| 五月丁香六月激情| 另类的婷婷| 新激情五月天色播| 五月婷婷六月天| 一级片无码| 色呦呦美女| 月婷婷亚洲| 五月色色激情网| 99re热在线视频| 精品日本视频444| 午夜丁香综合婷婷| 99热这里只有精品2024| 亚洲免费婷婷| 超碰不卡在线| 丁香六月婷婷姐网| 国产精品涩涩涩视频网站| 99热全是精品| 丁香六月天婷婷开心综合| 操九色| 久久中文网| 日韩久热| 久久人人妻| 亚洲成av人影院| 六月丁香色色| 五月丁香婷婷综合网| 激情丁香五月| WWW,激情五月天,COM| 91精品综合久久久久久五月丁香| 国产欧美精品AAAAAA片| 美女亚洲五月丁香| 五月丁香六月激情欧美综合| 婷婷色啪| 丁香婷婷色九月| 久777| 97色色色色| 精品人妻在线| 日韩在线观看亚洲| 亚洲另类日本| 黄色一极大片| 人人视频人人干人人做| 天天肏天天肏| 精品人妻伦一二三区久| 美女91一起草| 五月亚洲| 亚洲视频无| 亚洲色综久久五月| 香蕉97碰碰碰欧美| 五月丁香九九九综合| 亚洲色啪| 五月丁香婷婷激情| 国产精品久久久久9999小说 | 国产午夜伦鲁鲁| 久久老码第一| 日本熟妇乱妇熟色A片蜜桃| 激情五月天色色网| 开心激情综合| 婷婷 久综合| 色优久久| 久久小视频免费| 久久激情五月| 欧美综合丁香网| 成人做爰A片免费看视频| 激情五月天婷婷图| 乱岳熟女50岁| 欧美色色色色色色色| 超碰九热| 久热免费| 91超碰在线观看| 婷婷五月色情天| www.久久| 伊人丁香五月天丁香在线婷| 五月丁香六月激情啪| 欧美人人草草| 99精品一二三四视频| 色色色在线观看| 色婷婷综合亚洲| 五月丁香琪琪| 色综合天天| 精品九九视频| 一区二区三区XXXXXX| 久久激情五月婷婷| 色播五月婷婷| 色色色色丁香| 另类视在线| 五月色色网| 久久婷婷色| 婷婷色色播五月天| 亚洲无aV在线中文字幕| 五月丁香婷婷欧美| 狠狠狠五月婷婷六月丁香| 色操综合| 激情九月婷婷| 五月久久亚洲| 色婷精品91| 亚洲丁香花色| 26uuu国产| 日本九九九九| 五月天另类小说久久小说网| 亚洲九区| 五月停停丁香| 日韩ac不卡无码| 无码免费人妻A片AAA毛片西瓜| 无码人妻一区二区三区免费九色| AV操逼网| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 婷婷丁香91综合| 丁香色婷婷五月天| 99视频久久免费视频| 91丁香婷婷综合久久欧美| 色色五月天婷婷丁香| 激情五月天婷婷久久久久久久久久久| 97超碰在线观看免费| 99熟女| 五月天婷婷青青草| 色婷婷99| 十区av| 玖玖婷婷五月天| 婷婷五点亚洲| 99热网站在线观看| 成人婷婷| 色色网91| 99婷五月| 激情丁香五月| 久久人操| 五月丁香综合激情| 五月天成人在线播放丁香| 亚洲综合视频网| 国产婷伊人| 99天堂网| 色综合丁香婷婷| 伊人婷婷五月天av| 久色视频首页| 丁香五月激情宗合网| 九九久99免费视频| 久草婷婷网 | 欧美五月丁香啪啪响视频| 色综合9| 五月婷婷无码| 日日干天天| 日本色狠狠| 五月婷婷在线网站| 色插综合网| 玖玖在线视频福利| 香蕉久久国产AV一区二区| 超碰在线观看caop| 婷婷五月综合丁香久久| 4399无码视频二区| 激情五月天天| 久久激丁香| 天天干天天爽| 色婷婷成人做爰A片免费看网站 | 丰满老熟妇BBBBB搡BBB| 亚洲黄色影视| 色五月婷婷网| 国产人妻人伦精品一区二区| 五月婷婷色| 99亚洲视频| 亚洲精品99| 9热在线观看| 中文字幕 中文字幕明步| 大地资源色婷婷视频在线| 操逼福利视频| 婷婷五月深爱五月| 97热这里只有精品| 五月天激情综合| 五月天激情视频| 夜夜骑天天操| 97干在线播放| 人人草人人爱| 五月天激情国产综合婷婷婷| 国产精品18久久久| 色无婷婷| 日本欧美999久久久三级片| 色五月色综合| 久久久精品99| 久久性刺激| 美欧日韩国产成人在战| 婷婷和五月天| 六月丁香深深爱| 激情综合网激情五月欧美| 婷婷五六日| 欧美丁香六月激情视频| 五月丁香婷婷成人综合网| 五月婷婷激情综合网| 亚洲无码色色| 婷婷午夜| AV网在线| 97亚洲婷婷| 欧美三级欧美一级| 一二三区视频韩国| 婷婷五月天久久| 色天堂在线| 五月天综合在线| 69精品人人人人| 综合天堂AV久久久久久久| 91大屁股在线| 色婷婷久久综合| 另类图片激情五月天| 男女久久婷婷五月天| 激情五月天在线视频| 婷婷丁香亚洲色综合91| 综合五月天| 日韩熟女啪啪视频| 夜夜 操无码| 色婷婷五月基地在线| 17.c黄色| 九九这里有精品| 久草热8精品视频在线观看| bukadeavzaixian| 五月天激情四射| 久久精品永久免费| 日本99久久| 成人在线观看国产| 99热99色| 精品亚洲VA网站| 91九色在线| 91av传媒高清在线视频网| 欧美人人超级碰| 97色色色色色色色| 停停五月色宗合| 大香蕉综合网| 97碰超级人人看| 这里只有九九精品| 亚洲九九夜夜| 一起草av在线观看| 艾小青av| 色色色五月婷婷| www.久久9| 五月深爱婷婷| 色综合激情| 毛v一区二区视频| 天天摸,天天爽| 天天爱天天操| 极品嫩草| 国产热精品| 亚洲色啪| 成人av在线网址| 久久久久久综合五月婷婷| 色婷视频| 婷婷综合一二三| 精品色色网| 五月天亭亭俺也| 欧美婷婷精品激| 亚洲色欲AAAAAA| 俺去也五月| www.久9| 这里只有精品视频在线看| 婷婷五月影院| 综合久久婷婷| 五月婷婷丁香综合| 六月婷基地| 久久丁香久久| 9l久久久视频| 婷婷激情网五月天| 激情五月天天| 开心综合激情综合| 中字幕视频在线永久在线观看免费| AV在线观看网站| 超碰人人操| 国产综合久久久777777| www、色色色| 无码视频国内精品久久久| 欧美又粗又大一区二区在线观看| 五月天另类小说| 在线天堂9| 色激情五月| m色激情网| 丁香六月在线| 人人操大| 欧美色频| 在线成人网址| 97色婷| 国产av影片| 99啪啪网| 中文字幕人妻在线| 五月丁香人妻| 丁香六月婷婷综合激情欧美| 五月综合激情婷婷六月色窝| 婷婷五月激情片| 性欧美大战久久久久久久83| 亭亭五月激情亚洲在线| 久久婷婷网址| 五月丁香啪啪| 五月天堂色| 天天色视频| 五月丁香激情片| 亚洲精品V天堂中文字幕| 99热精品综合| 天天肏天天肏| 99热91| 日操| a免费在线| 欧美成人色婷婷| 综合激情专区| www.99视频| 日本在线免费中文com.| 成人无码中文| 91丨九色丨国产打屁股| 六月婷婷视频| 六月婷婷日| 亚洲六月色婷婷| 2014天天爽| A片试看120分钟做受图片| 六月丁香成人网| 97碰碰视频| 99爱视频免费| 韩国三级五月天婷婷。| 91无码视频| 欧美人与性动交CCOO| 99国产小视频| 大香蕉五月天| 99@久久@99精品视频| 人人摸人人| 九九热这里只有精品5| 色欧美一级| 婷婷五月影院| 中文无码精品一区二区三区| 踪合专区啪啪| 日本视频不卡123区| 激情五月天小说网| 狠狠搞综合色| 久久东京热婷婷五月| 丰满少妇猛烈A片免费看观看| 色播五月| 狠狠色性| 婷婷的99视频网站| 婷婷性爱五月天丁香网| 综合网激情| 色五月在线播放| 99久久99热| 六月色激情| 99在线精品免费视频| 综合久久久| 五月天婷婷永久免费视频| 日韩人妻在线观看| 好大好粗嗯啊-一级黄色大片免费观看-成人AV| 激情综合网五月婷婷| 岛国AV网站| 99热日韩这里只有精品| 色色色婷婷五月| 久久99网| 色哟呦av| 五月激情小说| 五月丁香亚洲综合| 伊人玖玖婷婷| 日日.c| 天天久久综合| 色99视| 婷婷综合色色| 久久香蕉福利| 人人干女人| 亚洲一二三网| 九月丁香婷婷基地| 日韩丰满少妇无码内射 | 超碰成人av| 色五月综合在线| 四色女婷婷| 婷婷五月天播| 深爱五月月天| 久热这里只精品| 一区二区乱码视频| 婷婷色五月大香蕉在线观看| 婷婷五月天丁香激情| 久热伊人91| 人人艹艹艹| 99天堂网| www.99热| 国产精自产拍久久久久久蜜| 99热自拍| 四虎国产精品永久在线国在线| 日本色色色| 五月丁香色色网| 婷婷五月天激情综合| 九九大香蕉黄色影院| 婷婷五月天综合网| 国产三级片91| 色碰碰视频| 久久曰曰| 久久丁香五月婷婷| 国产精自产拍久久久久久蜜| 午夜不卡久久精品无码免费| 色综啪啪网| www.91五月| 99热综合在线观看| 碰超在线九色| 婷婷丁香色情| 这里只有精品偷拍| 激情六月五月婷婷综合网| 99热在线里有精品| 五月丁香欧美综合免费视频| 丁香月六月| 天天影院色| www.99婷婷| 五月丁香婷婷基地| 亚洲精品V天堂中文字幕| 超碰在线免费观看日韩| 狠狠色噜噜色狠狠狠综合色| av激情在线| 99热9| 色五月婷婷、老熟女| 国产日日操夜夜操的肉棒视频| 五月草影视| 亚洲午夜一区二区| 狠狠操综合| 久久婷婷五月综合色欧美| 操操操91| 天天日天天添| 99成人免费视频| 99精品综合视频| 日本色色图| 国产成人AV| A1片久久| 日日干日日色| 五月激情综合美女久久| 97婷婷色| 国产精品久久久60086| 久久婷婷五月天综合| 五月婷中文字幕| 熟妇内谢69XXXXXA片| 色护士综合| 九九精品视频免费在线| 丁香五月开心婷婷| 丁香啪啪| 伊人成综合五月婷婷| 国产精品成人AV在线| 婷婷五月天色综合翘| 婷婷淫淫狠狠六月| 91精品91久久久中77777| 国产三级在线播放| 五月花综合网| www.yw色| 色色网站日本91| 五月激情啪啪| 噜噜视频| www.色五月| 色色色婷婷五月| 色婷婷五月亚洲| 性爱视频99| 欧美日本高清视频99| 五月丁香婷婷福利| 狠狠干在线| 久久全意婷婷| 五月婷婷丁香深深爱| 97五月天| 男女av免费看| 国产综合激情五月久久| 婷婷激情综合| 天堂网色色| 九热视频这里只有精品| 国产这里只有精品| 久久久久8888| 九九99久久| 夜夜操加勒比| 天天色天天色天天色天天色天天色天天色| 婷婷五月丁香五月| 天堂网亚洲色图| 激情婷婷丁香色五月综合| 在线成人网站| 射区导航| 另类激情五月在线视频欧美| 日韩一级淫乱片一区二区三区| 激情 五月 婷婷 丁香| 996er热| 日本九九网| 婷婷五月亚洲一本在线丁香| 五月天天丁香婷婷| 色999五月色| 中字幕视频在线永久在线观看免费| 人妻激情综合| 婷婷在线综合| 五月色丁香| 久久99热免费最新版| 丁香婷婷五月天成人| 99精品爱| 色婷婷激情五月天丁香| 操操操操操电影网| 91久久精品国产91性色TV| wwW天天干| 婷婷亚洲综合| Av性爱网站| 狠狠色综合网| 亚洲视频色色| 91 九色大美女| 丁香五月天欧美| 国产91资源在线| 激情五月天色爱| 日韩久久系列| 久久99激情丁香婷婷小说网| 丁香五月成人自拍| 六月婷婷色综合| 婷婷五月中文字幕| www.色五月.com| 五月婷婷欧美| 久久九九网| 开心四月婷婷在线色播播| 欧美搡BBBBB摔BBBBB| 六月丁香深深爱| 91碰人人| 六月婷婷激情| 日韩不卡DvD| 丁香六月婷婷色XXXXX| 另类色网| 五月婷婷 激情按摩| 亭亭五月色男人| 中文字幕,综合,91| 激情婷婷| 99性爱无码| 97操碰日本女人| 97超碰在线免费观看| 色色色五月婷婷| 欧美 日韩 人妻 高清 中文| 婷婷五月伦理网站| 六月丁香色色| 99精品无码| 亚洲婷婷激情五月天| 色综合香蕉视频| 亚洲第一第二网站| 婷婷激情丁五月| 色婷婷香蕉丁丁网| 亚洲成人五月天| 99热这里有精品2| 91九色欧美| 9l视频自拍9l九色成人| 五月天影院| 色婷婷导航| AA片在线观看视频在线播放| 激情五月综合婷婷| 电影爱拉战争免费观看| 婷婷色基地在线看 | 丁香五月婷婷香| 婷婷天堂站| 开心五月激情五月丁香五月婷婷| 亚洲乱码w在线观看| 五月天开心网| 色婷婷色99国产综合精品| 性色欲情 网站| 91综合在线观看| 色五月激情网| 婷婷的色色五月天| 内射激情在线| 超碰色色综合| 色综合网页| 性爱视频久久| 九九热最新| 五月婷婷五月天天| 婷婷精品在线| 亚洲成人av在线观看| 五月婷婷综合网| 五月婷婷丁香五月| www.五月天。com| 在线另类| www.色婷婷.com| 99青青草99| www.色婷婷| 丁香婷婷色| 激情五月色在线播放| 99热99在线| 久操97| 7777国产盗摄农村女人| 亚洲操操操| 丁香五月手机在线| 色色网站在线| 九九热这里只有精品一| 激情综合婷婷五月| 激情综合在线观看| 亚洲AV成人无码电影| 国产精产国品一二三在观看| 五月天婷婷久久视频| 无码动漫av| 97色色综合| 丁香五月六月欧美| a v色婷婷| 伊人久久激情图区五月| 日韩另类| 丁香久久五月婷综合| 香蕉中文在线| 人人综合色| 91男人操女人视频| 国产成人精品一区二区三区视频| 五月天色丁香| 色婷婷基地| 网色99| 99九九综合久久九九| 色五月 五月婷婷| 色色色9| 婷婷.com| 99久久久| 99re最新地址| 九九免费精品| 99操逼| 日韩视频99| 欧美婷婷五月丁香| 99综合色| 丁香六月婷婷综合缴| 综合五月网| 五月天亚洲色| 亚洲第一综合| www.91在线观看| 婷婷激情九月| 亚洲操逼网| 99热九九热| 丁香五月手机在线| 亚洲激情AV| 五月婷婷综合网| 色五月情| 9视频在线成人网站| 啪啪啪丁香五月| 亚洲精品444久久久久久| 97在线干| 99网址在线看| 天天综合网、天天综合色 | 五月天激情美女久久| 玖玖91| 人人叉久| 色婷婷在线播放| 五月色丁香综合| 丁香婷五月| 色丁香影院| 五月丁香影视| 99自拍视频在线| www.99热| 97碰 在线视频观看| 久xxxx| 成人精品在线观看| 亚洲五月天伊人| 色丁香婷婷| 狠狠爱婷婷| 五月丁香婷婷色| 性爱激情久久| 久久性刺激| 99精品这里只有免费视频| 五月婷婷婷自由综合| 丁香五月手机在线| 亚洲男女激情| 人人操人人妻| 99九色视频在线观看| 五月婷婷久久综合| 久久九九热视频| 九九热视频精品| 色五月综合激情网| 91黄操| ss99热| 啪啪 综合网| 99在线精品免费视频| 97热超碰| 五月丁香色色综合| 99精品视频免费| 97五月天| 九月av在线| 涩涩五月天综合| 五月天网站免费欧美| 婷婷五月天激情网| 色婷婷综合在线| 欧美天天五月丁香免费观看| 真实亲子乱子伦高清在线观看| 丁香五月婷婷六月| 国产免费av网站| 丁香五月六月久久综合| 六月丁香激情网| 99久久婷婷| 五月婷婷草| 久久奄也去色色网站| 日韩在线视频网站| 伊人九九68| 成人天天爽| 五月丁香婷婷深深爱| 亚洲愉拍99热成人精品| 91seav| 五月丁香中文字幕| 熟妇无码乱子成人精品| 日本激情91| 激情五月天激情综合网| 天天操综合网| 综合另类视频| 丰满熟女人妻一区二区三| 婷婷丁香六月| 99精品久久久| 五月天婷婷综合免费| AA片在线观看视频在线播放| 99超级碰免费视频| 亚洲色色色| 亚洲啪| 激情丁香五月激情婷婷| 79精品视频在线观看,| 伊人狠狠色婷婷综合丁香一区| 四色女婷婷| 狠狠操综合| 久久精品99| 国产97色在线 | 日韩| 日本97人人| AV天堂婷婷五月天| 婷婷色情 | 99re久热只有精品6在线直播| 五月丁香六月激情欧美综合| 91色九| 五月天操逼网| 日熟女| 丁香五月欧美午夜视频| www亚洲无码| 99免费视频网| 色九月综合| 丁香婷婷六月在线资源观看| 九九综合影音先锋| 激情五月婷婷综合网| 国产这里只有精品| 99热精品10| 极品人妻VIDEOSSS人妻| 99热精品网| 丰满老熟妇BBBBB搡BBB| 色色色在线免费视频| 91碰碰碰| 狠狠久久婷五月综合色| 中文字幕丰满孑伦无码专区| 五月丁香WWW| 中文字幕丰满孑伦无码专区| 综合狠狠五月婷婷| 91性交在线播放| 五月丁香基地| 婷婷五月六月丁香| 婷婷五月激情的图片| 97丁香五月| 国产精品社区| 99久久免费性爱视频`| 99色综合| 思思综合热| 色婷婷91激情小说| 婷婷五月激情六月| 婷婷五月AV| 91日本在线观看| 亚洲综合五月天综合| 久久人人添人人爽添人人片αV | 99九九精品视频| 色综合久网| 丁香六月激情四射| 五月丁香爱婷婷深深| 日韩精品无码一区二区| 五月开行婷婷色五月| 久久香蕉婷婷| 99久久婷婷国产综合| 六月丁香啪| av在线婷婷| 五月丁香偷拍| 日本久久99| 99视频在线观看地址| 婷婷五月激情视频在线| 九色自拍| 激情小说五月天| 五月激情天天干| 天天摸天天肏| 青草青草视频2免费观看| 天天操狠狠操| 综合久久综合久久| 少妇人妻丰满做爰XXX| 婷婷五月六月| 99热免费网站| 在线不卡的视频| 丁香婷婷色五月| 99色热综合| 午夜爱插插| 少妇伦子伦精品无吗| 九九这里有精品| 五月丁香怕啪啪| 久99久视频精选| 天天舔天天爽| 天干夜夜操| 丁香五月婷婷无码AV| 91丨九色丨老熟女激情| 国产亚洲在线观看| 天天爽综合网| 99色激| 玖玖热99| 伊人无码高清| 综合久久综合久久| 欧美综合五月丁香六月婷| 国产ava| 黄色网址五月婷婷| 婷婷99| 久久婷婷五月免费视频| 夜夜人妻五月天| 人人操操| 91人妻九色大屁股| 99精品综合| 婷婷综合成人| 。久久久久久久久久久久久久人妻| 99热这里只有精品1025| 四色五月婷婷| 99视频在线| 九九热视频99| 五月丁六月香| 亚洲 在线 性爱 | 五月天成人在线播放丁香| 婷婷久久综合| 婷婷色五月开心五月| 免费在线观看AV网站| 九九综合九九| 天天摸人人摸| 精a品a视a频| 久久久五月五丁香| www色哟哟| 免费无码毛片一区二区A片| 色婷婷超碰| 五月六月丁香激情| 婷婷五月天激情综合网| 新99思思视频| 99玖玖免费视频| 久久日韩婷婷五月| 好叼操在线观看| 九九性视频| 26UUU欧美| 久婷婷婷| 五月婷婷综合色拍| 国产欧美日韩性爱| 99 re视频一区| 激情九色| 婷婷综合天堂| 久99久视频精品| 99视频| 99re热视频这里只精品| www99热| 丁香婷婷久久 | 免费视频99| 五月婷婷久久大香蕉| 天天插天天插| 色综合色色色| 天天 青草 制服丝袜 在线| 婷婷色网| WWW,色五月| 婷婷五月激情四月综合 | 秋霞三级色戒| 丁香婷婷五月综合色情| 国产欧美第五十五页| 亚洲免费99| 丁香花色色网| 久久9精品视频| 久操大| 亚洲1区| 热久久91| 久er免费视频| 激情文学天天| 色婷丨日丨天丨综合久久| 婷丁五月| 丁香婷婷六月激情| 青青草六月丁香| 久久人人人人妻| 这里只有免费的精品| 亚洲人人操BD| 久色婷婷200| 五月天婷婷激情在线色图| 99热只有| 99亚洲天堂| 狠狠狠狠狠| 天天色天天操天天射| 乱精品一区字幕二区| 97人碰人操| www.久久9| 色婷久九| 天天日天天狠狠操| 97婷婷丁香五月| www.天天干.com| 狠狠操狠狠狠| 婷婷六月啪啪| 五月天色图| 五月婷婷啪啪| 久久艹 五月天| 最新日韩久热免费视频看看| 91成人视频| 成人在线日韩| 五月婷人妻| 人人爱干人人爱草| 亚洲色小说在线综合| 日本五月婷婷| 人妻av在线| 91夫妻视频| 欧美婷婷综合| 狠狠综合久久| m色激情网| 在线观看av网站| 狠狠色丁香| 狠狠色婷婷综合开心影视| 久久激情五月天| 激情网 五月天| 天天爽天天做| 色色五月丁香| 五月久久综合| 久久综合干| 激情5月婷婷狠狠干| 热99在线| 五月婷婷综合网| 欧美日韩五月婷婷| 久久性视频| 婷婷丁香五月天中文字幕| 久热中文字幕| www.婷婷com| 在线观看欧美| 天天干肏夜夜| 99日本精品视频热| 人妻视频一区而且二区| 99综合自拍| 开心五月丁香啪| 大香蕉婷婷色| 久久99激情五月天| 色啪影院| 99热手机在线精品| 亚洲操操操| 婷婷五月天黄色网址| XXXX岛国| 超碰九九热| 99视频啪啪| 思思99精品视频在线观看| 九九无码| 国产AV国片偷人妻麻豆| 人妻九九九九| 九九视频这里只有精品| 噼里啪啦完整版中文在线观看| 激情五月婷婷她| www.伊人天堂偷偷婷婷| 996热| 97热久久| 91大屁股| 99视频只有精品| 日韩av在线电影| 日韩AAAAA| 做爰丰满少妇1313| 欧美色图天堂网| 26uuu国产精品| 九九热婷婷| 激情美女五月天激情在线| 蜘蛛女侠2003满天星免费观看| 色色99| 国产精品日日躁夜夜躁| 五月的色婷婷高潮| 五月天婷婷婷| 丁香 婷婷 激情 综合 五月| 狠狠色噜噜狠狠| AV大片在线观看| 99热99这里有免费的精品| 很很干天天干| 色婷婷六月天| 婷婷六月色开| 五月伊人91| 99er在线观看| 在线观看中文字幕| 色婷婷五月色| 九九青草热| 日本天堂免费99| 五月婷婷五月天亚洲无码| 丁香五月花| 日本精品。999| 97人人草| 青青操avbb| 99ri在线视频| AV在线大香蕉| 九九综合精品| 另类在线| 日韩性视频| 99在线热| 婷婷大香蕉| 91日韩在线| www久久99| 色色婷| 开心激情站| 人人色性网| 影音先锋男人女人| 99.色| 色婷婷电影网| 任你日视频| 欧美影院婷婷| 五月婷婷黄色| 国产成人+综合亚洲+天堂|