99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
欧美婷婷综合| 五月天丁香久久综合| 操日视频| 香蕉AV777XXX色综合一区| 五月婷婷亞洲中文| 激情综合啪啪| 婷婷五月伦理| 婷婷丁香五月天在线视频| 国产精品久久久久久久久久久久| 这里只有精品视频一区| 第四色色六月色综合| 91人在线观看| 99无码视频| 99re思思久久| 婷婷丁香五月六月激情| 婷婷丁五月| 97超碰9久热婷婷热| 色香欲综合| 17.c黄色| 亚洲免费99| 日韩啪啪视频| 黄色激情久久| 国产97色在线 | 日韩| 被强行糟蹋的女人A片| 亚洲五月婷婷| 天天做好综合色| 激情综合网五月在线播放| 日韩在线视频9色| 99人人干| 色婷婷婷婷| 国产精品婷婷午夜在线观看| 26uuu欧美亚洲日韩| 婷婷五月天黄色| 九九99精品视品| 激情五月丁香五月| 超碰人人干| 夜夜干夜夜操| 色五月婷婷操逼| 久久久人妻门| 99这里只有精彩视频| 激情五月深爱五月| 激情五月天在线观看婷婷| 丁香久久九九99| 丁香婷婷五月份| 丁香婷婷五月| 婷婷爱五月| 狠狠干在线| 五月 成人 婷婷| 五月丁香成人视频| 99ri精品| 第九色区av天堂| 超碰人人色| 亚洲天堂色色| 9999三级片| 色五月婷婷操逼| 婷婷五月六月| 噜噜色五月| 人人爱国产| 严洲天天插| 色播五月丁香婷婷| 久久久精品色| 亚洲国产成人在线| www.久久99| 色综合天天综合成人网| 九九热精品| 91丨九色丨东北熟女| 夜夜干 夜夜操| www久| XX久久| 激情性爱五月| 中文字幕无码人妻少妇免费视频| 六月婷综合| 婷婷婷婷婷婷婷婷婷婷丁香| 操逼三区| 久久一热免费视频| 五月天婷婷视频30| 97影院一级片| 日本人人xxx| 天天干 夜夜爽| 丁香五月AV| 天天干狠狠| www.婷婷| 国精产品一区一区三区免费视频| 天天日日| 婷婷八月激情| 五月丁香六月婷婷姐| 深爱激情五月天| 天天色天天日天天舔| 伊人色综合网| 色一情一乱一伦一区二区三区| 黄色片久久| 久久色吧| 五月天激日本色情在线| 天天爱天天吃狠天天透| 日韩综合久久| 97一区二区| 99婷婷五月天激情| 丁香五月天婷婷中文| 丁香婷婷在线| 丁香五月五月婷婷| 九九精品碰| 婷婷午夜丁香| 婷婷激情五月色综合| 婷婷99中文字幕| 屁股翘好撅高迎合跪趴| 99久在线精品| 狠狠五月综合在线| 夜夜操狠狠操| 啪啪黄页网| 九九色逼| 日韩一级网站| 黄桃AV无码免费一区二区三区| 99精品九九| 91久久1118| 欧美另类五月激情| 亚洲精品视频在线| 91操网| 六月婷婷网站| 精品一二三区久久AAA片| 婷婷色五月天色| 丁香五月,开心五月,成人婷婷| 五月丁香激情综合啪| 日日艹思思热| 亚洲V国产V欧美V久久久久久| 五月婷久草| 99er这里只有精品| 99热自拍| 色情五月天。| 人人干人人操人人摸| 色五月婷婷色| 五月天亚洲图片婷婷| 五月天涩涩| 五月天综合网| 色五月成人婷婷| 色偷偷五月天| 九九九九中文字幕| 婷婷婷婷色| 337p大胆噜噜噜噜噜91Av| 激情骚五月| 狠狠操天天操天天操| 播播网色播播| 九九九九九九毛片| 色五月五月婷婷| 亚洲精品无码一区二区| 一本久久亚洲五月婷婷 | 停停色综合伊人| 人妻激情在线| 超碰日日操| 丁香六月久| 国自产拍偷拍精品啪啪一区二区| 丁香五月婷婷综合视频| 夜夜操加勒比| 色哟哟性爱av| 五月天基地| 思思热闹这里只有精品| 婷婷天天色| 色色网91| 激情五月五月婷婷| 9久久久| 欧美va亚洲va在线播放| 99丁香婷婷综合网| 很很干在线视频| 九九免费视频| 五月丁香六月色婷婷综合五月天| 久热99| 偷拍九九热| 无码天天操| 婷婷五月色| 日本专区久久| 色婷婷五月综合在线| 99在线精品观看99| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 99性爱视频| www.激情五月天。com| 色激情五月天| 成人电影AV在线观看| 日本高清综合网五月丁香| 欧美日本国产| 婷婷丁香成人五月天| 五月Huangsewang| 婷婷99狠狠躁天天躁| 97碰| 九九色天堂| 日本欧美国产| 日韩成人影片在线观看| 99re6久热只有精品6在线直播| 影音先锋AV资源男人站| 五月天婷婷基地| 丁香婷婷婷五月综合色情| 亚洲日日日| 成人在线高清| 97操操| 九九RE视频在线精品| 婷婷永久在线| 另类色网| 亚洲AV成人无码精品| 日日操日日爽| 视频一二区| 999久久久国产精品| WWW.99视频| 九九亚洲综合| 色黑鬼导航| 国产亚洲在线| 中文字幕丁香五月| 97成人在线视频精品| 97色啪| 9久国产精品| 成人精品在线观看| 久久成人精品视频| AV成人在线播放| 丁香五月自拍| 9这里只有精品| 在线亚洲综合网| 伊人在线视频| 天天做天天双| 色色色色区| 亚洲AV综合在线观看| 日韩成人综合| 久久五月天网| 久久久婷丁香五月| 热婷婷av| www.夜夜操| 天天射影视综合网| 色五月五月婷婷| 五月婷婷久久大香蕉| 婷婷爱在线观看| 日本视频不卡123区| 亚洲情a| 一起草无码| 久久婷婷五月天激情四射| 五月开心婷婷极品激情| 超级碰91| 色婷婷影院| 色播播之激情五月婷婷| 久久五月激情| 激情综合五月丁香六月婷婷| 99热在线观看| 伊人婷婷色| 国产VA播放| 疯狂做受XXXX高潮A片动画| 涩涩涩婷婷| 9999热在线观看| 婷婷五月综合网| 色天天综合成人网| 色五月天.con| 99热超碰天堂网| 91九色精品熟女内射| 天天干天干| 欧美婷婷六月丁香综合色| 丁香五月婷婷激情四射深爱激情| 婷婷中文在线| 丁香婷婷激情五月天无毒不卡蜜桃| ay2区| 日本在线观看91| 五月婷婷啪啪| 成人AV在线电影| 五月丁香六月婷婷网站| 无码九九| 日韩成人AV在线播放| 国产精产国品一二三在观看| 99ri精品| 色五月婷婷亚洲| 婷婷伊人五月天| 激情六月丁香综合| 超碰色色综合| 国产精品人妻在线网址| 一区二区三区四区牛| 色欲天天综合网| 色综合另类| 99这里只有精品在线观看| 日本色99| 久久九九精彩| 亲子乱AV-区二区三区| 婷婷五月天色播| 网站免费一站二站| 国产成人亚洲综合A∨婷婷| 26uuu亚洲色| 日韩成人免费电影| 久久久www| 9久久久| 夜夜操加勒比| 欧美日韩成卜| 中文字幕有多少字| 深夜婷婷 丁香| 99热思思| 亚洲精品字幕| 熟女少妇内射日韩亚洲| 熟妇人妻中文字幕无码老熟妇 | 任你艹| 激情综合五月| 激情五月天婷婷丁香| 国产无人区大片| 五月婷婷丁香社区| 色婷婷六月综合| 激情综合青草| 婷婷狠狠久久| 天天操天天日天天爽| 久久99激情| 激情综合播播| 久久99久久99精品免视看婷婷| 丁香六月婷婷综合激情欧美 | 色9999综合久久| 国产一区二区av免费| 99热精品在线观看| 久久久久9| 久热只有精品| 色啪影院| 五月天激情网站| 色婷婷丁香五月| 丁香五月激情啪啪| 五月婷婷激情| 久99在线| 精品导航在线x不卡| 九九九九九九九九九九九九九九九九九九九在线视频 | 婷婷天天五月天| 精品热九九| 99精品国产乱码久久久人妻| 激情六月婷婷啪啪| 色综合狠狠色| 婷婷亚洲日本| 色五月xxx| 99无码免费视频| 激情综合婷婷| 亚洲操B| 日本3级片一区2区| 久久久久9| 粉嫩AV久久一区二区三区| 五月天桃色深爱网| 色六月 婷婷| OUMEIRIHANCHENGREN| 亚洲超级碰| 中文色婷婷| 亚洲超碰在线| 99色色最新视频| 天天操电影院色狼性av| 午夜免费试看| 婷婷五月花.97| 婷婷五月天成人视频| 久久99久久久| 99热在线99| 亚洲中文丁香| www五月天com| 狠狠操综合| 亚洲精品又粗又大又爽A片| 五月婷久草| 日本久久精品18| www.激情五月天。com| 国产精品色色色色| 色情久久久| 九九av| 免费日本aⅴ中文字幕 | 99视频日韩| 色婷婷88| 色五月丁香伊人| 第四色大香蕉| Blackedraw视频一区二区| 超碰色碰碰| 六月婷久久| 五月婷婷香蕉| 激情丁香社区| 伊人激情综合| 欧洲99视频在线| 亚洲色亚洲精品| www.五月婷婷久久.com| 色婷婷播放| 永久思思热在线| 人妻久久久久久久久久久| 玖玖热视频| 狠狠色综合久久久久| 亚州精品色情无码A片| 丁香伊人五月色婷婷五十路| 五月欧美色播| 亚洲 视频 导航 一区| 丰满少妇乱A片无码| 婷婷伊人75| 激情网第九色| 99狠狠| 婷婷五月天VI| 婷婷丁香色五月天久久88| 色五月婷婷影院| 大香蕉啪啪啪| A片一曲| 激情丁香婷婷六月天| 天天看片日日夜夜| 99热这里只有精品2| 久久全色| 五月婷婷激情中心| 国产精品久久欧美久久一区| 久久久97| 五月丁香啪啪婷婷| 亚洲av无码影院| 六月婷婷狠狠色在线观看| www.久久久久久久| 丁香五月最新网址| 精品久久久人妻| 日韩成人无码| 2025中文在线视频字幕免费观看| 婷婷六月丁香久| 另类综合激情| 六月丁香六月婷婷欧美| 久久在线人妻| 五月桃花网综合| 五月天婷婷久久日| 黄网在线播放| 黄色AV日韩| 欧美成人精品A片免费一区99| 欧美特大片黄| 天天日天天操天天干| 亚洲色五月| 婷婷伊人久久| 婷婷亚洲天堂| 激情视频婷婷五月花| 91丨九色丨熟女|老版| 五月婷婷精品| 99色| 97色女人在线| 九九热最新地址| 香港九九六区八区99| 播五月婷婷开心| 九九99精品视频在线观看| 超碰在线免费| 色爱亚洲| 午夜美女人啪最红院| 少妇综合网| 色5在线| 五月激情影院| 激情网狠狠干| 丁香五月瑟瑟| 婷婷五月天av| 久久婷婷东京热| 另类激情五月在线视频欧美| 五月婷婷亚洲| 99久久这里只有精品| 激情五月综合网| 天天干 夜夜爽| 丁香五月影院| 天天日天天插| 九九热精品6| 欧美日韩中国| 激情视频网址| 丁香五月婷婷呀| 99这里只有精品视频| 99久免费视频| 综合色五月天| 色婷婷五月天激情在线播放| 九色成人AV在线| 丁香婷婷视频| 大香蕉婷婷久久| 久久婷婷五月综合| 艹| 无码字幕中文| 婷婷五月天久久| 五月婷婷影| 9+1视频网址| 亚洲另类婷婷五月丁香在线播放| 久久久av久av久片一区二区| 丁香六月婷婷色XXXXX| 婷婷不卡基地| 久久九九爽| 九九免费精品在线视频| 国产操逼视频网站| 色婷视频| 婷婷五月天激情视频| 成人精品免费在线观看| 色综合激情| 开心五月激情站| 涩涩激情五月婷婷| 色综合色色| 另类图片色五月| 在线观看免费人成视频无码| 殴美日韩成人| 夜夜爽日日躁| www.五月天色色.com| 九九Av| 免费五月婷婷网| 九色91国产| 大陆极品少妇内射AAAAAA| 这里只有免费精品| 噜综合| 欧美成人AAA片一区国产精品| 丁香六月成人| 五月丁香综合激情在线观看| 亚洲激情六月丁香| 91九色无码日韩| 深爱激情AV| 大香婷婷| 丁香五月人妻| AVDV久久| 9999色色色色| 99爱视频精品在线观看| 99热99天堂| 亚洲激情久久| 久久久久亚洲AV成人无码电影| 婷婷九月激情网| 综合99视频| 国产午夜精品一区二区三区四区| 久操综合| 综合久久五月天| 婷婷丁香五月天色播网站| 精品一区二区三区三区| 秋霞少妇AV网站| 色狠狠色| 日本五月天网站| 精品福利911| 91狠狠色| 亚洲免费在线观看岛国| 日本三级第一页| AV电影在线播放| 日韩一级网站| 99热这里只有免费精品| 亚洲 无码 中文字幕 中出| 四虎成人精品永久免费AV九九| 五月婷婷碰碰| 色综合久久天天综合网| 深爱婷婷网| 日韩精品色| 美妞av| 九色91美女| 激情文学 综合 九月| 中国操逼99| 91精品久久久久久77777| 婷婷综合精品视频97| 激情五月激情综合俺也去婷婷小说| 性做久久久久久久免费看| 伊人婷婷五月天| WWW,五月| 久久99激情| 综合色色色色色色| 99热6色| 国产精品久久久丁香五月八戒视频| 日日夜夜狠狠婷婷色| 翔田千里 50岁 无码| 激情5月婷婷| 97精品人人A片免费看| 婷香五月激情视频| 亚洲天天操| 久9热| 91美女被操| 欧美大道不卡| 六月丁香五月天| 久久A V无码视频| av 一区三区四区| 综合久| 久久伊人大香蕉| 久久九九网| 97自拍视频在线| 五月天婷婷色| 天天在线天天综合网色| 色色aⅤ網| 五月天婷五月天综合网在线观| 九九热视频精品2| 99久久66| 天天干天天干天天干天天干天天干天天 | 综合性视频99| 严洲天天插| 丁香五月开心婷婷| 色欲一区二区三区精品A片| 这里只有精品免费视频| 国产精品成人AV在线| 超碰激情网| 操一区| 日韩无码成人电影| 69精品人人人人| 激情五月婷婷| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 久热超碰| 在线看AV| 成人版视频在线观看| www.99热视频| 天堂五月婷婷| 久久一热| 五月婷中文字幕| 五月丁香六月婷婷网| 综合久久婷婷| www.com在线操视频免费观看| 亚洲精品又粗又大又爽A片| AV片一区在线观看| 亚洲爱婷婷| 影音先锋一区二区三区| 五月天 综合 在线| 综合九九| 色婷五月天| 日本色五月| 久久久91精品| 成人婷婷| 婷婷五月丁香色情| 9热在线观看| 色999五月色| 99热人人艹| www.久久99热地址发布| 天天操天天爽天天爱| 久久成人人妻| 亚洲免费婷婷| 五月综合人妻| 伊人91| 五月婷婷九月婷婷九月婷婷| 五月婷婷综合久久| 色噜噜丁香| 97极品在线| 日本色婷婷久久99精品91| VfJxEwPH| 久综合网| 婷婷日本在线| 97色色色视屏| 啪啪操超碰| 黑人糟蹋人妻HD中文字幕 | 99热精品一区| 亚洲视频伍月婷婷| www夜夜操| 五月激情在线| 激情久久久久久久久| 五月天三级| 丁香五月婷婷亚洲色图| 8050一级网| 99热这里只有精品国产免费| 五月天婷婷综合网| 麻豆精品| 玖玖在线视频福利| 欧美性爱五月天| aaa丁香五月天| 精品久久婷婷五月天| 激情婷婷亚洲五月| 婷婷六月婷婷| 国产综合81p| 99ri在线视频| 中文字幕成人| 亚洲色综合| 亚洲色综合| 狠狠色婷婷丁香五月| 亚洲色涩视频| 99欧州偷拍视频| 五月综合激情网| 五月伊人综合| 日本久久婷| 综合九九日本| 草做免费在线观看| 少妇被下春药玩弄A片| 成人片在线播放| 久久久久er热| 久热中文字幕| av成人在线播放| 天天做综合网色综合| 丁香婷婷影院| 极品五月天| 丁香六月爱综合| 色色婷| 91se在线视频| 久久婷婷五月综合激情国产 | 五月婷婷影视| 狠狠干总合| 99ri视频| 丁香五月色色| 草一草avb| 99亚洲精美视频在线观看| 五月丁香狠狠| 五月丁香久久激情综合| 天天天摸夜夜夜玩| 久久se 综合网| 婷婷激情鹿城五月天| 色色婷婷五月天| 依人大香蕉| 五月天社区| 七七久久婷婷| 五月深爱婷婷| 五月婷婷激情综合| 在线不卡视频| 99热色精品| 久热这里只精品| 狠狠色婷婷7777久| 婷婷午夜| 9色在线| 激情五月婷婷| 久久婷五月天| 爱草视频在线| 999热在线观看视频| 婷婷五月天影视网址| 亚洲乱码日产精品BD| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 97久久人人| 日本精品干| 91狠狠综合网| 丁香五月天激情综合| 操操操操操操婷婷五月天| 开心激情五月天网| 99综合婷婷五月| 亚洲经典三级| 日本va网站| 思思9久久| 天天天天天天天干| 久久caop| 伊人五月天在线| 综合久久8| 超碰猛烈的性猛交| 天天做天天视天天谢| 六月婷婷色综合| 亚洲五月天综合| 九月丁香网婷婷| 无码操B| 91偷拍视频| 97自拍视频在线| 一区二区三区四区无码| 97五月天婷婷综合激情网| 六月婷婷激情| 99热青青草| 婷婷伊人綜合中文字幕| 五月丁香婷婷三级| 99爽视频| 最新高清无码专区| 色噜噜五月天| 热九九在线| 色天使久久综合| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 黑人巨粗进入警花疼哭A片| 2020久久婷婷五月| 五月香蕉网| 超碰在线观看9| 色播五月婷婷综合| HD久久精品视频| 国产精品美女| 一级黄色尤物综合视频手机在线观看| 成人做爰黄A片免费看直播室男男| 日日想日日夜日日操| 成人看片网站| 大香蕉伊人久久| 六月婷婷中文字幕| 夜夜躁狠狠| 最新婷婷五月丁香| 操骚货在线| 丁香五月电影| 久久久五月天| 婷综合六月| 第四色婷婷最爱| 亚洲综合一区二区| 九九人人操| 欧美黄色韩日网| 九九精品片一| 五月丁香婷婷综合视频| 在线成人va| 色五月婷婷av| 亚洲天天免费| 亚洲情欲久久| 少妇人妻人伦A片| 五月丁香久人妻中文| 狠狠操狠狠狠| 五月婷婷深深的爱| 9热在线观看| 亚洲日韩操B| 综合激情婷婷| 九九热视频这里只有精品| 丁香五月激情站| 色播婷婷大香蕉| 婷婷综合天堂| 99亚洲精品| 五月成人综合| 色五月久久成人婷婷| 久久92| 婷婷丁香五月基地| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 婷婷五月天综合久久| 五月丁香视频在线观看| 91精品婷婷国产综合久久| Www.se.久久| 国产精品第一国产精品| 九九成人| 中文字幕在线日亚州9| 丁香五月婷在线观看| 婷婷五日b| 五月开心婷婷网| 久久电影4399| 91色干| 五月天大香焦| 久久丁香五月天| 五月天啪啪视频| 日韩av干| 开心四月婷婷在线色播播| 日本99视频| 91黄址| 九九操屄| 丁香五月天激情综合| 婷婷丁香五月麻豆| 色丁香五月| 这里只有精品久| 婷婷在线播放av| 丁香五月天天| 中文字幕人成乱码在线观看| 日韩无码专区| www色婷婷com| 色五月激情| 琪琪理论片| 99精品色色| 亚洲在线激情婷婷五月| 这里只有精品视频国产| A一级操| 亚洲性图一区二区三区| 色婷网| 啪啪综合网| 日韩色色色色色| 亚洲激情亚洲激情| 玖玖色资源| av在线免费播放观看| 婷婷六月偷拍| 欧美在线ee日韩| 午夜69成人做爰视频| 青青久在线视频免费观看| 五月天婷婷影院影院| 亚洲在线激情婷婷五月| 五月天三级久久| 97操| 五月天色丁香| 五月婷婷啪啪| 久久狼人天堂| 九九这里都是精品| 五月天激情视频| 久久狠狠干| 色色色综合色| 天天射影院| 欧美日韩成人综合9| 激情色情五月天| 久久久国产精品黄毛片| 色五月情| 五月丁香成人网| 午夜精品人妻无码一区二区三区| 超碰人人草| 99色在线视频| 先锋资源91| 五月丁香久久久久| 第五色色色婷婷| 五月天婷婷在线视频| 六月丁香婷婷在线波多| 五月天婷婷丁香| 婷婷伊人网| 欧美成人AAA片一区国产精品| 欧美大肥婆大肥BBBBB| 伊人综合网站| 久草婷婷| 人人叉久| 五月丁香 六月婷婷a| WWW.夜夜| 狠狠狠狠狠狠色| 欧美槡BBBB槡BBB少妇| 色婷婷久久9.com| 另类激情五月| 99热网精品| 中文字幕+中文在线| 天天看A片| 操操操av| 六月丁香婷婷在线波多 | site:xmssd.com| 我爱va亚洲va52| 狠狠摸狠狠摸| 色99视频| 色婷婷呢狠禁久禁| 玖玖午夜视频| 妻久久久久| 五月天桃色深爱网| 五月色综合| 少妇人妻偷人精品无码视频新浪| www.com任你艹| 九九热免费观看视频| 色五月丁香婷婷| 欧美日韩成人| 九月丁香婷婷网| 99热啪啪| 激情综合网亚洲色图| www.婷婷亚洲基地| 丁香五月综合网| 另类激情五月| 中文字幕婷婷五月天在线观看| 丁香婷婷五月天激情四射| 色综合久久综合中文综合网| 综合激情站| www,99色| 久久五月天黄色五月天色网址| www.狠狠艹| 久热只有精品| 色色色干| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 丁香色综合| www.色婷婷| 婷婷丁香社区| 激情婷婷五月天在线观看| 色五月婷婷大香蕉| 久久艹 五月天| www.天天色综合| 99爱视频在线观看这里只有精品| 免费无码毛片一区二区A片 | 亚洲性爱电影| 久久精品亚洲一级牲爱综合| 婷婷五月天成人| 国产婷婷综合| 久久久久人妻中文| 色五月成人| 精品九九网| WWW.99热| 免费黄网不卡AV| 五月天丁香六月综合| 综合性爱网| 婷久久综合| 色噜噜,噜噜色| 婷婷五月香蕉| 天天干天天色综合| 一本到不卡高清DVD| 欧美激情 日韩无码 婷婷 五月天| 五月丁香六月婷婷久久肏| 欧美男女婷婷| 色欲久久久久| 婷婷五月天综合亚洲| 香蕉婷婷| 99热大片| 91人操人人人操人| 久热99久热| 久久性爱网站| 天天爽天天干| 色色色区| 开心五月深爱五月| 91久久九九| 国产玖玖资源| 91制片厂久久久国产电影| 538在线| 色色色热| 91se在线观看| 天天操比比| 秋霞网在线免费基地五月婷婷丁香| 日韩婷婷五月天| 777米奇影视第四色| j久久性爱视频| 五月丁香操婷逼| 婷婷五月天丁香成人社区| 99re8在这里只有精品| 天天爽夜夜操| 亚洲色婷婷网站| 国产偷人爽久久久久久老妇APP| 91精品电影18T| 五月激情天| 狠狠狠狠狠狠狠狠草| 成人无码精品1区2区3区免费看| 色婷婷丁香五月在线| 96精品成人无码A片观看金桔| 婷丁香五月天| 久久色大香蕉| 99热12| 久久精品噜噜噜成人A∨色欲 | 99操久久| 成人丁香| 久这里只有精品| 成人国产欧美大片一区| 永久天堂日本| 91精品国产91久久久久青草| 五月美女婷婷风骚| 五月天啪啪| 这里只有精品96| 婷婷丁香色情五月天| 中文字幕婷婷在线| ww久久| 天天做综合| 丁香五月成人| 婷婷基地五月色| 人操91在线| 丁香 久久| 婷婷丁香五月亚洲欧美| 国产精品涩涩涩视频网站| 思思久久青草热| 95精品区一区二| 婷婷丁香十月| 97福利视频| 国产做爰视频免费播放| 99热精品在线免费观看| 婷婷丁香激情综合色情| 99热这里都是精品| 激情久久天天| 狠狠草网| 激情欧美丁香五月| 久久伦乱| 99热在这里只有精品| 夜夜涩涩涩| 色婷网站| 另类综合色| 一级黄色影片| 亚洲超碰青涩| 婷婷社区五月天| 久久久网站| 99综合五月免费视频色婷婷| 这里只有精彩视频| 婷婷五月综合国产精品| 丁香五月电影| 色婷婷丁香网| 超碰在线资源| 99热这里只有精品99| 日日天天操| 91人人爽人人操| 天天色天天操天天射| 色播婷婷五月天| 天天射美女| 久久六月婷婷| 精品久久99码| 天天射色五月天| 丁香五月婷婷色| 日韩人妻在线播放| 思思热视频| 五月婷婷欧美激情| 久99热| 操碰色一区就去操| 久久色婷婷| 91久久婷婷人人澡草| 大香蕉五月丁香| 色五月在线综合| 久久人妻精品| 激情综合激情综合| 五月丁香综合啪啪対白| 79色色色色| 大香蕉天堂| 蒲京久久无码视频| 天天色天天日| 亚洲热视频| 欧美噜噜噜草| 人人操91色| 国精产品一区一区三区免费视频| 亚洲最大视频| 热99精品视频| 久久九九网| 久久综合影院| 在线1青婷| 人妻在线中文字幕久久| 日本三级大片| 大香AV| 99欧美热| 九九视频在线观看视频6 | www.精品99| 久热视频这里只有精品68| 97五月天婷婷综合激情网| 婷婷综合中文字幕| 综合久久99| 97久久久| 久久综合婷婷五月| 婷婷五月天激情诱惑| 五月丁香六月激情狠狠| 亚洲无码成人网| 亚洲综合色色| 色噜噜五月天| 欧美十二区| 欧美大肥婆大肥BBBBB| 天天日 天天草| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | se99视频| 久久久大香蕉| 色婷婷六月| 噜噜网免费视频| 五月天另类小说久久小说网| 色丁香综合影院| 美女丁香五月天| 欧美日韩一a.无| 九热视频在线伦| 免费无码毛片一区二区A片 | 丁香五月欧美婷婷| 五月色综合| 韩国天天婷婷| 亚洲欧州色情在线观看| 五月花婷婷丁香| 免费播放99性爱视频| 激情五月婷婷综合网| 成人婷婷五月天| 99这里只有免费的小视频在线观看| 丁香六月婷婷| 色色激情五月天| 青青.com| 色五月婷婷激情综合网| 密黄站| 成人网站在线观看视频| 五月久久婷婷| 伊人玖玖婷婷| 非洲一级AV| 五月丁香六月香香蕉| 超碰人人色| 久热这里只有精品性色AV| 中海油常州环保涂料有限公司| 人妻狠狠操| 亚洲人妻Av| 亚洲国产成人在线| 色八戒操婷婷| 五月天丁香综合在线| 激情综合色婷婷啪啪六月天| 日韩AV在线免费观看| 99丁香五月婷| 色婷婷色综合激情91| 色色色色热| 日日夜夜天天| 成人午夜视频精品一区| 综合天堂AV久久久久久久| 久久九九热38| 久久99三级在线视频| 99九九热视频免费| 亚洲天堂无码| 丝袜激情网| 99精品激情| 五月天婷婷久久日| 五月婷伊人| wWw色五月| 综合色色网| 99 频99热国里只有精品| 婷婷五月天激情亚洲小说| 99精色| AV在线免费播放| 五月丁香成人网| 色五月色综合| 伊人玖玖婷婷| 入口五月婷婷六月香| 欧美丁香六月激情视频| 综合色播| 操91| 欧美成人AAA片一区国产精品| 五月婷视屏在线观看| 久久久免费图片视频| 国产亚洲色婷婷久久99精品91| tingtingzonghewang| 丁香五月情色| www超碰com| 欧美久久网| 婷婷综合网在线| 九色啦蜜臀| 婷婷五月天第三页| 色丁香久久| 99这里只有精| 九月丁香八月婷婷加勒比| 欧美成人日韩| 五月婷婷伦理| 思思热久热| 午夜激情婷婷| 91久久久久久| 婷色天堂| 97性高潮久久久| 这里只有精品日韩| 久久五月激情| 久久伊人五月天| 开心五月激情网| 五月天婷婷久草丁香| 色色网站免费在线视频| 色婷五月天亚洲| 婷婷五月天日本国产| 天天做天天要天天爽| 激情噜噜噜| 亚洲AV日韩无码| 亚洲欧洲另类图片| 五月婷婷六月丁香综合| 无码G高清天| 久9精品视频| 色五月丁香com| 伊人大香蕉综合在线| 婷婷五月天av| j久久性爱视频| 婷婷婷婷婷开心无码播放| 丁香久久| www.99精品在线| 亚洲成人黄色网| 亚洲激情AV| 欧美色九| 狠狠操狠狠干综合| 97操操| 激情综合网五月| 婷婷五月天偷拍| 九九成人| 91色噜噜狠狠狠狠色综合| 五月综合精品| 欧美成人精品A片免费一区99| 婷婷综合精品| 婷婷基地爱| 成人短视频在线观看| 99爽视频| 日本美女五月天| 激情综合丁香六| 色婷婷丁香六月| 99久久99九九99九九九| 97碰碰人人视频| 婷婷丁香五月,狠狠综合| 色五月综合网| 密乳Va| 日韩99精品| 色啦啦视频| 五月天六月天| 99这里只有精品视频| 色情婷婷。| 亚洲欧美999| 丁香,开心成人,久久| 99热精品10| 亚洲AV中文在线| 婷婷婷久久| 天天操天天操| 开心五月婷婷激情| 99综合视频一体| 曰曰久久| 五月婷婷,狠狠操| www.一区二区三区| 97人人搞| www激情com| 五月天丁香久久综合| 色噜噜狠狠色综| 久久综合激情| 99九九精品视频| 超碰不卡在线| 超级碰碰碰碰视频| 亚洲天堂色色| 亚洲欧洲美女在线观| 深爱五月亚洲| 男人的天堂婷婷色五月| 天天干天天操天天干天天操天天干天天操 | 超级碰人人操人人干| 丁香五月停停av| 99久久综合狠狠综合久久| 天天综合天天玩夜夜玩天天玩夜夜玩 | 在线中文av| 99热这里只有精品免费| 精品动漫 无码av| 丁香五月丁香伊人| 五月婷婷啪啪啪啪| 五月婷婷五月天激情视频| 日熟女| 99热思思| 91人人爱| 五月天啪啪| 婷婷亚洲久久| www天天爽| 五月丁香激情综合啪啪| 久久总和99| 成人av在线电影| 99热网站| 色色99色色| 丰满少妇猛烈A片免费看观看 | 欧美综合激情丁香五月六月婷| 99干在线| 激情小说婷婷五月| 日韩欧美不卡| 五月草视频| 丁香五月开心亚洲| 在线色色| 千人斩操逼| 99热 日韩| 婷婷五月天偷拍| 婷婷丁香日韩五月| 天天综合在线网| 91精品综合久久婷婷九色| 日韩aaaaa| 综合狠狠伊人| 亚洲视频一区| 五月色色激情网| 亚洲天99| 四色永久成人网站| 狠狠五月天婷婷激情网。| 99视频在线观看网址| www.91色| 情情五月天色| 激情五月天婷婷色色色色色色色色色色色 | 97超碰,人人舔,人人操,人人摸| 综合激情深爱| 亚洲午夜Av| 五月婷婷av| 狠色狠色综合久久| 五月丁香综合影院| 天天狠天天叉| 91小黄书网址在线观看| 日本WWW九九九| 99色色| 九九爱激情| 99这里有精品视频| AA片在线观看视频在线播放| 99免费在线视频| 99激| 一起草av在线观看|