免费国产精品自在自线-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
返回資訊列表
久久五月婷综合网| 99热在线观看这里只有精品| 夫妻超碰在线| 国产精产国品一二三在观看| 欧美六月| 五月色天情| 色婷婷操逼| 熟女强人妻一区二区三区四区无| 成年人丁香五月| 婷婷丁香激情综合色情| 天天操天天操综合| 月月AV| 99ri国产精品| 90色免费视频| 免费看欧美成人A片无码| 色五月人妻| 婷婷五月天成人娱乐| 大香蕉娱乐| 五月天丁香| 操97免费超级视频| 久久9热| 婷婷丁香五月亚洲综合网在线视频观看| www.五月婷婷| 丁香六月婷婷久久高清| 国内久久亭亭| 99啊精典免费视频| 日本一级大片| 色婷亚洲| enecarbon-materials.com污K127封锁请涟系@wip1688 | 久久久99视频| 五月天丁香成人社| 日熟女| 亚洲bt丁香五月天婷婷激情小说| 欧美婷婷五月天综合| 激情综合网络插| 成人丁香色| 97碰 在线视频观看| 丁香五月天激情综合| 五月天丁香| 开心五月激情婷婷| 婷婷久久亚洲| 另类图片五月天| 亚洲激情精品| 99热综合网| 婷婷香五月综合激情| 九九免费精品在线视频| 五月天婷婷激情干干| 亚洲激情 久久| 色五月婷婷五月丁香五月激情五月视频| 99九九在线精品热动漫| 成人视频在线免费播放| 我爱大香蕉| 操逼六区| 色色激情| www.minyis.com【JT】实力收量可预付QQ2101460746 | 婷婷丁香色五月天| 久久44| 色婷婷亚洲婷婷| 秋霞性爱AV| 亚州性爱99| 9久视频| 色婷婷精品视频| 五月丁香婷久久| 最近中文字幕在线中文视频| 久热一区| 九九色黄色| 俺也去五月婷婷丁| 丁香五月婷婷激情蜜桃| xx久久| 久久在线92| 久久久久久久久久久44| 精品一区二区三区四区五区六区| 亚洲视频一区| 日本久久色| 岛国在线观看91| AV成人在线网站| 人妻丰满精品一区二区A片| 中文字幕丰满孑伦无码专区| 99色天堂| 风流少妇A片一区二区蜜桃| 99九九久久| 久久丁香五月天| 九九热黄色| 亚洲中文乱字字幕在线永久| 丁香五月婷婷图片综合| 色婷亚洲| 中文精品久久久久人妻不| 中文字幕成人| 久久精彩视频99| 99成人无码| 伊人深爱综合| 26UUU欧美激情一区二区| 超碰九九热| 91大神操美女| 激情网婷婷婷| 第四色五月婷婷| 婷婷五月天伊人| 狠狠干婷婷| 婷婷六月天天| 久草热久草在线视频| 五月综合激情啪啪啪啪啪| 先锋影音男人的天堂AV| www.婷婷五月天| 第四色五月激情网| 久热免费| 激情又色又爽又黄的A片| 婷婷中合| 影音先锋一区| 夜夜夜夜做天天天做无码视频| 婷婷五月天天aV| 激情婷婷五月| 少妇AB又爽又紧无码网站| 久久久久久久久久久久久久久久一道本| av超碰在线| 伊人综合色干| 五月丁香狠狠爱婷婷综合| 思思热久久婷婷五月天| 综合网色| 思思99热这里只有精品6| 色婷婷狠狠干芒果TV| 丁香婷婷色色| 久久久久久99日本| 天天人人综合| 色婷婷久久| 天天干电影| 黄急一级视频| 精品五月视频婷婷在线观看| 国产一二三四五六七八视频| 亚洲无码99| 婷婷激情六月中文| 这里只精品| 久久九九热视频| 久久这里只有精品热在99| 九月婷婷综合| 激情婷婷久久| 激情五月小说婷婷| 亚洲无码影音| 热99热| 5月丁香啪啪啪| 在线99热| 26UUU欧美| 国产片XXXXA片国语对白| 五月婷婷www| 日操| 天天狠天天叉| 激情五月天的婷婷| 婷婷丁香激情综合色情| 久久97久久99久久综合欧美| 伍月婷丁香婷| 欧美一级色| 超碰免费人人肏| 日本97在线| 五月天婷婷永久免费视频| 丁香婷婷基地| 91精产品自偷自偷综合| www.色五月.com| 99爱在线视频| 思思热这里只有精品视频666| 久久视频这里99| 婷婷成人五月天| 色婷婷久久视屏| 丁香五月冃欧美| 色婷婷视频在线| 久久在线大香蕉| 久久人操-久草婷婷-成人AV| www.激情五月天| 色五月首页| 国产精品成人AV在线| 99亚洲无码| 麻豆AV一区二区三区| 狼友超碰| 婷婷五月激情网| 丁香五月激情综合婷综| enecarbon-materials.com污K127封锁请涟系@wip1688 | 国产成人+亚洲+欧洲| 日本综合久久| 99 频99热国里只有精品| 激情综合网五月| 日本大逼91| 久久婷婷五月综合色播| 青青草大香| 深爱激情四射| 日韩一级片| 九色视频91| 99久在线精品99re5热视频| 变天就操逼婷婷五月| 久久深爱激情网| 色播五月丁香| 99色免费| 激情AV在线| 激情综合99| 日韩综合久| 91精品综合久久久五月天| 色婷婷五月天不卡| 五月天婷婷丁香花| 久久性爱视频| 婷婷四月 成人 狠狠干| 久久久天堂国产精品女人| 狠狠干青青草| 婷婷色情五月| 色啪综合| 欧美激情xxxXX| 北京熟妇搡BBBB搡BBBB| 99r这里| 丁香九月激情在线视频| www.日本91| 99热在线资源| 婷婷丁香六月天| 26uuu国产色| 97精品人人A片免费看| 久久杏爱视频| 五月婷婷婷色| 狠狠色丁香五月婷巨| 亚洲色五月| 香蕉狠狠爱视频| 婷婷激情综合网| 婷婷五月天天| 毛片蕉地一二| 91人人操人人| 色五月婷婷在线视频| 4399无码视频| 亚洲成人在线综合| 99热6这里只有精品6| 超级碰碰97在线| 欧美激情综合色综合色| 9久热免费视频99| 91日本在线| 婷婷久久欧美| 久久天堂女人| 婷婷色网| 激情小说婷婷五月| 永久无码色| 五月激香蕉网| 中文字幕 码精品视频网站| 天天拍夜夜撸 | 丁香婷婷五月综合| 国产毛片精品一区二区色欲黄A片| 91综合视频丁香| 五月激情偷拍婷婷| www激情| 99热啪啪| 操日视频| 一级A片天天操夜夜操| 婷婷久久在线| 怡红院AV亚洲一区二区三区H| 五月停停激情网| 超碰在线9| 成人片黄网站色大片免费毛片| 在线1青婷| 久久婷狠狠色| 九月婷婷综合色干| 色色亚洲| 99久久久免费| 久久六月天| 丁香五月亚洲AV| 五月日韩中文字幕| 99性视频| 日韩人妻无码精品| 午夜激情五月天| 色五月色五天色情网| 20253AV| 国产67194| 五月激情婷婷国产精品久久久久久| 色情五月婷婷| 99热国产免费| 婷婷涩涩五月天| 桃色五月婷婷| www.五月天色色.com| 亚洲情综合五月天| 色色婷婷丁香| 丁香六月婷婷综合| 大香蕉久久婷婷| 日日日日做夜夜夜夜无码| 日本欧美国产| www综合久久| 韩国中文字幕91| 操人91| 激情都市丁香婷婷| 婷婷色正月| 777.色色| 狠狠五月激情在线| 久色视频在线| 欧美性二区| 特级操b片| 婷婷色影音天| 久久激情中文| 少妇水多A片太爽了| 99久久极情精品一区| 亚洲啪啪啪啪| 97人人做| 97视频.干com| 五月婷婷激情性爱| 免费操超碰| 九九爱精品网站| 免费精品99| 久久综合激情| 亚洲欧美婷婷五月色综合| rr天天操| 操骚货在线| 99日韩网站| 激情婷婷另类| 五月丁香婷婷三级| 99免费热视频在线| 婷婷丁香六月天| 噜噜网免费视频| 欧美婷婷色五月| 国产日日操夜夜操的肉棒视频| 色五月婷婷在线视频| 色五月丁香总合网| 五月婷丁香在线视频在线| 五月天播播综合| 九九热这里有精品视频| 色婷婷五月天激情在线播放| 欧美熟女乱又伦| 婷婷六月网| 日批在线看| 伊人丁香五月| 婷婷综合色五月天| 天天日天天舔| 色墦五月丁香| 亚洲天堂久久| 伊人高清无码| 精品九九网| 中文字幕黄色电影网址| 亚洲第一成人无码A片| 久久免费操| aaa丁香五月天| 99丁香五月婷| 丁香五月无码| 97视频91| 天天爽天天干| 国产av第一专区| www天堂99| 超碰A V在线| 丁香五月黄色| 色情综合| 思思久日精品视频| 亚洲免费观看高清完整版AV线| 婷婷射综合| 婷婷色播婷婷| 青青久在线视频免费观看| 国产亚洲精品久久久久久牛牛| 激情亚洲五月| 超碰日日操| 六月丁香啪啪| 欧美Va在线| 婷婷开心五月| 色五月五月婷婷| 久久久人妻| 婷婷丁香无码专区| 99精品久久久久久久婷婷| 婷婷伊人无码| 99免费视频| 丁香六月五月天| 无码AV久久久久久久久| 色九九九九| 玖玖婷婷五月| 五月天色婷婷小说| 激情婷婷丁香| 婷婷五月在线视频| 97五月综合网| 6月丁香婷婷激情| 婷婷性爱五月天| 婷婷久久综合久| 日韩成人影片网站| 欧美日韩999| \\五月天婷婷激情| 中文字幕不卡+婷婷五月| 精品亚洲国产成AV人片传媒| 五月丁香久久综合色| 久久丁香五月天| VA婷婷亚洲| 丁香五月香蕉| 99国产99| 婷婷五月天激情四射五月天激情| 99热九九热| 99热官网| 大香线蕉伊人| 中文字幕婷婷五月天在线观看| 秋霞A V毛片| 日本人人超碰| 丁香午月AV中文字幕| 欧美va在线| 4399成人黄A片| www,色综合| 99热精品在线播放观看| 欧洲亚洲免费视频9| 五月天丁香婷婷久久九| 新99思思视频| 亚洲av网站在线观看| 六月五月天婷婷涩播在线| 另类专区在线| www.激情五月| 人妻在线观看视频| 男人综合网| 狠狠香蕉| 婷婷色中文| 色丁香婷婷美女视频网站| 国产午夜一区二区三区| 久久久精品AV| www.9797国产| 五月天激情综合网| 夜夜爽天天日| 色色欧美。| 婷婷五月黄色激情在线| 婷婷性爱| 九九综合精品| 99综合久久| 色色色天堂网| 九九中文字幕九| 五月婷婷婷自由综合| 手机在线视频观看9| 玖玖五月丁香| 亚洲精品操一操、噜一噜、摸一摸、爽 | www.99热在线| 色噜噜狠狠色综合日日| 色色哒五月婷婷六月丁香| 99精品国产在热久久婷婷| 色五月综合网| 99视频这里有精品免费观看| 五月天色色网站| EEUSS鲁片一区二区三区| 亚洲激情97五月天| 人妻性爱av网站| 色色欧美。| www.色五月.com| 人妻久久婷婷| 久久婷婷六月综合国际| 色色色色五月天| 五月婷庭丁香在线| 大香蕉伊人99| 五月天婷婷色综合| 九九热精品视频在线观看| 色播婷婷五月天| 91ncm视频| 亚洲爆乳无码精品AAA片蜜桃| 五月天网站亭亭| 99热 这里只有精品 国产 日韩| 激情九月婷婷九月| 久久婷婷五月天| 91丨九色丨丰满人妖| 色小说婷婷五月天天天| 97色在线观看视频| 9 9热这里有精品| 天天干夜夜想| 色婷婷五月天成人网| www.日日日.com| 色五月婷婷影院| 亚洲愉拍99热成人精品| 色婷五月天| 色婷婷五月天偷拍| 五月丁香龟婷婷| 五月丁香综合网色欲| 久久久精品99| 青青草激情网| www.sezonghe| 色狠狠色狠狠| 五月色 亚洲| 操久久网| 久久99久久99精品免观看粉嫩| 玖玖99婷婷| 人妻久久久久久| 91视频一起草| 丁香五月综合婷婷| www99在线观看视频| 最新丁香六月婷婷| 深爱婷婷丁香五月激情| 日本婷婷综合精品| 丁香五月天无码| 久久机热这里只有精品免费视频| 九九综合伊人| 女同激情久久av久久| 婷婷五月天丁香激情| 99视频啪啪| 欧美精品在线观看| 丁香五月天操B| 香蕉AV福利精品导航| 久色资源| 五月丁香六月婷综合成人综合| 精品激情| 青青草成人网| 玖玖婷婷五月| 色色色色热| 五月天综合婷婷| 美女网黄| 九九热超碰| 超碰免费在线| 乱岳熟女50岁| 播丁香五月婷婷欧美| 日欧一片内射VA在线影院| 五月丁香综合激情| 秋霞av吧| 久久码久久无清| 久777| 久久婷婷亚洲无码一起| www久久艹| www.99精品在线| 亚洲AV综合网| 再綫Av免费視品| 色色99色色| 青青热久精品视频在线观看| 97热超碰| 99色色网| enecarbon-materials.com污K127封锁请涟系@wip1688 | 婷婷五月色天| 26UUU欧美激情一区二区| 日亚二欧美| 97在线99| 婷婷六月色| 26uuu精品一区二区| 欧美97p| 色色色干| 久久丁香婷婷五月| 五月丁香六月激情| 精品人妻久久久久久| 五月天六月婷婷| 丁香五月天在线视频| 深爱激情五月天色婷婷| 天天干 夜夜爽| 精品99在线| 五月丁香亭亭| 99在线综合视频| 色婷婷五月色| 丁香五月天五码婷婷| 五月在线| 激情六月婷婷| 婷婷激情五月视频| 亚洲熟妇AV综合网五月丁香伊人 | 国产婷婷色综合AV蜜臀AV| 六月丁香婷婷综合影院| 久久er视频6| 欧美激情2025| 色色色99| 成人 AV播放| 久久丁香五月婷婷| 久久久久丁香婷婷五月天| 久久这里只精品| 久久33视频| 亚洲国产婷婷色五月| 色人妻五月| 91超级碰| www.精品99| 天色综合网站| 美女五月天| 日本天堂久久| 五月丁香激情综合六月涩涩爱| 日本天天操| 99久久66综合| se99视频| 久久九精品| 婷婷狠狠五月综合| 久久婷婷成人| 久久天堂网| 丁香五月激情图片| 性无码专区无码| 欧美人人操| 色婷婷成人| 亚洲精品又粗又大又爽A片| 2015超碰| 婷婷成年人免费视频| 亚洲精品久久久无码| 99网址在线看| 26uuu亚洲| 九月停停| 天天草天天日| 久久人妻熟女一区二区| 婷香五月网在线| 色综合久久88色综合天天看| www,99色| 国产日韩亚洲欧美在线观看| 婷婷在线日韩综合| 伊人婷婷五月| 亚洲激情色色| 九热精品| 亚洲区,视频区,视频区免费| 九九香蕉网| 色在线99| 99热在线观看| 婷婷激情五月天小说| 激情婷婷综合五月少妇| 色色9 9| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 偷拍91九色| 5月婷婷五月天| 色色色激情网| 丁香综合网| Blackedraw视频一区二区| 精品无码色欲AV| 亚洲激情在线| 成人五月天在线视频在线观看| 丁香六月综合激情| 色情综合网| 五月花免费视频| 国产亚洲在线| 久久人人超| aa久久| www.久久爱| 开心六月婷| 丁香成人五月天| 99在线观看视频蜜臀| 中字幕视频在线永久在线观看免费| 深爱丁香网| 国产做爰视频免费播放| 99热8在线| 狠狠色狠狠色综合日日91| 丰满人妻妇伦又伦精品国产| 精品久久这里热66| 在线99热| 久久久国产精品黄毛片| 久久思思精品| 日韩精品999| www.狠狠| 亚洲免费99| 狠干综合| 色色激情五月天| 婷婷久久久久| 九色在线五月婷婷网址| 丁香婷婷色五月激情综合| 激情综合在线观看| 亚洲乱码日产精品BD| 婷婷五月骚厕所| 91丨九色熟女丨首页| 人人操AV| 操逼123网| 91精品视频男人的天堂| 色色五月天婷婷| 色五月涩涩婷婷蜜桃| 日韩AV无码影片| xxx.色婷婷| 99无码超碰| 国产日韩精品SUV| 开心激情网在线| 99热网站| 婷婷爱五月天人人爱| 亚洲成人网站在线| 99在线精品免费视频| 欧美xx激情视频在线观看| 秋霞性爱AV| 真实的国产乱XXXX在线91| 日本欧美成人片AAAA| 天天综合久久| 77777亚洲午夜久久| 超碰99在线| 思思热久久久在线| 五月天日日操夜夜操| WWW色色色COM| 大香蕉综合网| 五月激情视频| 欧美中文五月天| 伦乱美欧| 九九综合| 五月情涩综合婷婷| 爱久久小说下载网| 欧美25p| 色婷婷五月天视频在线| av在线超清中文| 伊人久久综合| 丁香五月婷婷社区| 天天爽夜夜操| 操操啪| 色色性爱视频| 思思w99| 无码se| 色99视频| 91九色无码日韩| 怡春院天天干| 清纯唯美 激情四射| 97干在线| 五月婷婷色影院| 久久狠狠干| A A色色| 丁香综合网| 男人天堂99| 国产黄色av| 大香蕉 婷婷| 少妇2做爰HD韩国电影| 亚洲激情四射| 九九热AV| 97干97色| 99久久久久久| 日本成人噜噜| 婷婷金品综合视频| 操操操AV| 婷婷六月激情综合| 十月丁香九月婷婷综合| 婷婷五月天人妻| 婷婷一本和五月丁香| 九九国产精视频| www.久久爱| 婷五月丁香俺| 天天网站天天爽| 久久五月天精品视频| 黄色aaaaa| 午夜丁香丁香婷婷| 成人五月天在线观看| 久热这里只精品| 亚洲AV免费在线| www.99热国产| 天天日夜夜夜操操操操| 26uuu亚洲欧美另类| 可以直接看的av网站| 啪啪激情网站| 人妻久久久久久久久久| 久久99精品久久只有精品| 婷婷六月五月天综合| 99精品大片| 99日在线视频| 午夜天堂啪啪| 97超碰,人人舔,人人操,人人摸| 美女婷婷激情亚洲| 五月婷丁香久久综合| 丁香色影院| 九九热99视频在线| 五月天狠狠网站| 亚洲人妻一区二区 | 亚洲噜色| A久久| 超碰免费人妻| AAA级久久久精品| 在线观看欧美3区| 五月天婷婷情色| 69精品人人人人| 就爱操www com| 婷婷色情六月| 久久久大香蕉| 亚洲视频在线观看| 天天肏高清在线| 婷婷五月天AV网| 婷婷激情五月天亚洲综合| 欧美婷婷五月丁香| 99视频| 99久久国产综合精品五月天喷水\| 超级碰91| 亚洲综合激情五月天婷婷| 天天摸日日舔狠狠添婷婷婷| 超碰人人色| 黄色片久久| 1024婷婷综合久久五月天| 丁香五月色色色色| 久久九九热视频| av色色国产| 丁香花狠狠婷婷亚洲中文字幕| 久久婷婷伊人| 战争与艾拉电影免费观看| 五月 成人 婷婷| 中文中文在线| 五月婷六月| 天天拍久久| aa久久| Av狠狠色丁香婷| 天天开心天天色| 五月天综合视频| 婷婷色色网| 色婷婷色综合激情91| 在线五月色播| 翔田千里 50岁 无码| 丁香六月在线综合| 丁香五月中文字幕| 激情六月一二| 国产午夜精品AV一区二区麻豆| 国产99久9在线| 丁香婷婷六月激情综合| 99热这里只有精品3| 欧美超碰亚洲| www.99在线| 99在线免费视频| 亞洲自怕| 99亚洲大片精品永久在线观看| 综合色图区| 激情九九九九| 99热这里只有精品50| 99精品热| 99精品在线| 五月天婷婷色| 色欲色香综合网站| 五月天精品综合在线| 丁香色色网| 99日本精品视频热| 99毛片| 欧美久久网| 五月婷婷丁香在线| 九九九九九九九九九九九九九九九九九九九在线视频| www色色com| 超碰93在线观看| 久久精品五月| 开心激情网在线| 黑人糟蹋人妻HD中文字幕| 九九sese| 中文字幕黄色片| 色亚洲无码| 五月天婷婷av| 色v综合网| pom538精品视频| 免费播放AV| 五月丁香龟婷婷| 久久婷婷五月综合色欧美| 能看的av片| 极品少妇XXXX精品少妇偷拍| 婷婷97狠狠干| 91操碰| 婷婷六月激情| 婷婷五月天综合网| 婷婷五月成人色综合| 99这里只有精品视频| 91天天操天天干天天射| 六月丁香啪啪| 婷婷月五天在线在线看| 色婷婷影院| 天天爱天天做综合| 夜夜嗨一区二区三区直播内容 | 六月丁香社区| 99综合成人视频在线观看| 99色亚洲| 1024操逼视频| 99热国产这里只有精品| 黄色99网| 九九九干精品| 天天日夜夜爽| 久久女人天堂| 色狠狠综合| 激情久久天天| 日日夜夜狠狠| 婷婷五月天激情文学| 色综合久久88| 五月婷色色| 婷婷天天舔| 亚洲九九99精品视频在线播放| 五月天国产婷婷精品视频在线| 青青久久91| 婷婷五月天在线观看| 色婷婷9| 九九色热| 五月天狠狠干| A级毛片高清免费不卡播放谢谢谢谢| www.9797国产| 激情五月天无码| av人人操| 五月丁香999| 色99亚洲| 成人精品网站在线观看| 99热亚洲| 色色婷五月天| 五月 激情视频| 婷婷99狠狠躁天天躁| 久色国产| 丁香五月香蕉| 丁香婷婷九月在线| 色婷婷9| 日日日影院| 久久天堂网| 免费无码毛片一区二区A片| 韩国天天婷婷| 五六月婷婷| 五月丁香婷久久| 午夜亚洲国产精品av一区二区| 色色色欧美色色| 99热综合色图| 欧洲电影在线观看免费版英语版| 婷婷五月天美女21p| 丁香五月在线视频| WWW·色色色·COM| 日韩视频99| 色五月AV| 无码激情精品色婷婷久久久久| 综合色吧| 国产精品久久久爽爽爽麻豆色哟哟| 激情综合网五月天| 丁香五月日啪| 丁香五月情色| 日笨久久网| 丁香五月天堂网| 亭亭玉月丁香| 色五月婷婷视频| 五月婷婷与六月丁香图片激情| 五月丁香本色在线观看| 久久a热| 亚洲婷婷91丁香| 欧美美美女性色视频| 这里只精品| 久久婷婷婷| 色444综合网| 色婷婷基地 | 五月婷婷丁香| 丁香五月综合在线视频| 婷婷五月天激情在线观看 | 色吊丝永久访问网址| 日韩AV无码影片| 色综合天天综合成人网| 亚洲九区| 五月婷婷导航| 色五月在线观看| 日韩按摩二区| 99久久黄色顶级视频| 五月婷中文字幕| 99碰网站| 婷婷 伊人 久久| 996黄色片| 五月激情丁香啪啪| 久久久国产精品黄毛片| 久久久久久人妻| 国产精品99久久久久久久女警| 五月叮香啪| av在线免费播放| 免费播放片大片| 欧美性色视频| 99无码视频| 婷婷开心五月| 丁香五月激情五月开心五月| 婷婷五月天人妻| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 婷婷五月天亚洲激情戏精品| 99re思思在线视频| 久久视屏这里只有久久| 国产欧美婷婷五月| 无码人妻一区二区三区四区| 性婷婷| 日韩欧美四五区| 激情黄色五月天| 狠狠狠人妻| m色激情网| 国产婷婷五月天| 天天日夜夜帕| 日本高清综合网五月丁香| 79精品视频在线观看,| 人人操五月天| 色五月激情网| 夜夜大香蕉婷婷丁香| 国产成人在线精品| 三级黄网站| 人人操AV| 疯狂做受XXXX高潮A片| 91国产精品视频播放| 97操碰人免费| 亚洲五月天色色| 亚洲乱码w在线观看| 五月丁香综合激情网| 婷婷成人综合| 天天做天天要天天爽| 性色99| 综合在线色婷婷| 久久久99视频| 操一区| 久草丁香婷婷1024| 色婷婷超碰| 99热网站| 99aese| 五月天综合在线观看视频| 在线观看亚洲视频影院| 久久超视频| 成人做爰高潮A片免费视频| 影音先锋五月婷婷| 激情图片99| 激情另类综合| 天天干天天爽天天操| 色99视频| 亚洲五月婷婷| 九九99视频精品| 九九婷婷综合| 丁香五月第九色| 26uuu最新地址| 五月天伊人| 人妻六月天| 婷婷亚洲天堂| 婷婷五月综合视频| 青青草tp| 51精品国自产在线| 日本久久超碰| 可以直接看的av网站| 五月激情天| 欧美精品XXXXBBBB| 十二区无码| 欧美成人无码一区二区三区| 婷婷射丁香| 欧美黄色AA片哗啦啦啦| 亚洲综合色激情色五月| 综合激情五月天| 丁香六月婷婷综合缴| 97人人干| 婷婷狠狠青青| 99re热视频这里只有综合亚洲| 婷婷五月天视| 99久久网站| 欧美性生交XXXXX无码小说| 91互操| 操操操操操电影网| 99热亚洲精品| 97丁香五月| 99精品久久久久久久婷婷久久 | 狠狠舔| 婷香五月激情视频| 国产又爽又猛又粗的视频A片| 人人操女人| 99热这里只有精品50| 丁香五月性爱| 非洲一级AV| 国产精品久久7777777精品无码| 亚洲色频| 久99热在线观看| 亚洲精品婷婷| 婷婷最新地址| 午夜色色色极品视频| 五月丁香婷婷激情澎湃四射| 激情综合五月| 91精品久久久久久久久久久久| www。88热在线视频免费观看| 色播五月综合网| 婷婷色综合中心站| 丁六月激情| 婷婷五月激情小说| 影音先锋按摩| 成人在线综合| 婷婷九月久久| 五月天婷婷三级黄| AV在线免费播放| 九月丁香八月婷婷久久综合久97| 五月婷婷之激情五月| 人人色人人弄人人操| 日韩一区二区在线播放| 成人五月丁香社区| 色情五月天。| 精品人妻一区二区三区四区不卡在| 91操女| 婷婷情色激情| 国产99久| 综合六月激情婷婷| 狠狠操狠狠| 99热在这里只有免费精品| 日本色色色| 玖玖综合色| 色婷婷亚洲| www.97碰碰com| 97色女人在线| 久久久.COM| 九九热99免费视频| 激情视频91| 日韩AV大全| 婷婷六月激情小说网| 丁香六月色婷婷| 五月天丁香六月综合| 99久久9| 啪啪婷婷五月天激情| 超pen个人视频97| 91婷婷五月天综合视频| 婷婷五月av| 五月天色婷婷基地| 日韩aⅴ视频| 天天干天天操天天拍| 色婷婷色五月综合| 色五月激情网| 亚洲色涩视频| 极品人妻VIDEOSSS人妻| 色青青视频| 丁香熟女乱| 婷婷五月综合网| 91九色国产| 色啪网| 99久在线精品| 午夜成人片400| 2w在线视频| 九九精品碰| www.日韩国产| 久久婷出差欧美色两性综合网| 桃色五月婷婷| 99这里只有精品视频| 99热主页日本| 超碰在线观看三级片| 丁香五月激情啪啪| 7超碰自拍| 亚洲精品久久久久AV无码| 亚洲激情五月婷婷日日| 在线超碰精品| 久久婷狠狠色| 99色啊| 欧美槡BBBB槡BBB少妇| 噜噜视频| 狠狠综合网| 九九九激情综合| 天天干天天插| 婷婷五月情色| 久久狠婷婷| www.色五月| 亚洲成人噜噜| 久久久久久xxxxx| 91丁香色五月| 激情五月天小说网| 日韩99精品| 五月天激情综合网站| 久热久69| 五月天综合久久| 操逼在线视频| 亚洲天堂热| 无码字幕中文| 五月丁香六月欧美综合网站| 这里只有精品9| 婷婷亚洲五| 亚洲 欧洲 国产 伦综合| 丁香五月欧美| 婷婷五月六| 婷婷五月天日日日干干干| 色婷天天| 丁香六月天婷婷色| 六月婷婷开心| 激情亭亭五月| 色五月六月婷婷| 久久三级视频| 久久久精品免费啪啪国| 亚洲黄色影视| 九九热婷婷| 婷婷之六月丁香| 久久日韩婷婷五月| www...com黄在线观看| 色五月天在线观看| www.99热| 激情小说五月天社区丁香| 91精品91久久久中77777久久玖玖九九| 国产性爱在线| 久久六月综合| 丁香在线视频| 天天爽天天爽视频| 久久久五月激| 丁香 婷婷 激情 综合 五月| 婷婷九月久久| 日本熟妇乱妇熟色A片蜜桃| 五月丁香六月婷| 欧美性爱中文字幕| 久操热线| 996er热| 99视频在线观看网址| 噼里啪啦在线观看免费完整版视频| 激情网综合| 久久久色婷婷五月天| 色婷婷五月天成人网| 91av成人| 97色干在线观看| 久久99热网| 高清无码网址| 婷婷视频网| 天天舔天天摸视频| 色丁香婷婷| 久久久区区一久久久久久| va婷婷在线| 五月综合婷婷网| 久久视频66| 9久久精品| 99久久婷| 久久五月丁香婷婷| 99久久亚洲精品视频| 丁香婷婷五月色成人网站| 婷婷丁香五月社区亚洲| 免费黄网不卡AV| 婷婷五月丁香国产| 97色射| 日韩久久系列| 国成人网| 国产激情在线观看| 丁香久久久| 91婷婷色| 久久婷婷伊人| 99热精品在线观看| 无码se| 六月丁香五月激情亚洲AV| 色五月开心婷婷| WWW夜夜| 狠狠色丁婷婷日日,伊人激情综合网| www.操逼comm| 天天舔天天摸天天透| 国语精品探花| 182TV大香蕉| 激情视频网址| 激情网五月| 97婷婷色| 少妇被下春药玩弄A片| 秋霞av吧| 激情五月天福利| 91超碰在线播放| 丁香六月婷婷| 国产99精品免费视频| 久色姿源| 六月天丁婷婷| 天天日综合| 五月天激情小说| 色婷婷综合视频| 伊人五月婷| 婷婷五月天综合AV| 激情五月天综合网站网站网站| 五月婷成人网| 五月激情婷婷六月| 午夜九九九九九九九九九九九九九| 色播五月网| 色九区| 亚洲色频| 丁香六月综合激情| 婷婷丁香熟女| Www.se.久久| 久久99综合| 五月丁香啪啪啪啪| 涩涩婷婷五月| 色色免费网站| 大战熟女丰满人妻AV| 丁香五月婷婷综合啪啪| 99色啊| 99免费视频| 风流少妇A片一区二区蜜桃| 色色色色色九九九九九| 久9免费视频| 激情图片婷婷| 综合噜噜| 日韩aaaaa| 中字幕视频在线永久在线观看免费| 五月丁香亭亭电影久久| WWW.99视频| 日日夜夜小色哥| 精品久热| 久久免费高| 天天日日人| av狠狠操| 婷婷五月花| 欧美影院婷婷| 夜夜操激情| 久久九九免费视频| www.99免费视频| 久热这里这里有精品| 99热97| 天天色2017| 久99| 色婷婷久久综合中文久久一本| www狠狠| 玖玖色资源| 丁香五月综合在线播放| 五月天婷婷社区| 婷婷激情五月视频| 激情丰满熟妇五月| 天天干天天干天天干天天干天天干| 在线播放成人| 热99精品视频观看| 色色色五月婷婷| 色色色天堂网| 伊人国产婷婷五月天| 99精品色| 伊人网啪啪| 五月丁香婷婷激情澎湃四射 | 伊人网啪啪| 伊人网色婷婷五月天| 色五月xxx| 精品五月天| 9999热在线免费观看| 亚洲第一色网站| 99热激情| 成人av观看| 亚洲五月婷天天操| 精品亚洲国产成AV人片传媒| 超碰免费成人| 深情五月天| 四色五月婷婷| 丁香五月狠狠综合欧美| 婷婷综合精品| 色婷婷五月在线| 五月天色五月| 欧美色必爱| 成人网站免费sxj| 婷婷九月色| 大香蕉久艹| 六月撸婷婷| 色天堂婷婷| av网站中文| 婷婷中文字幕网站|