久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(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è)計軟件導出的模型直接搬進自己的上位機程序里OBJMTL 這套純文本組合是最省事的一條路比起 STL 只有幾何沒有外觀比起 glTF 又要處理 JSON 和二進制緩沖它簡單到可以用記事本打開就能看懂全部內(nèi)容。這篇文章適合幾類人一是用 C#、Qt、LabVIEW 做上位機打算在界面里加三維預覽的二是接到設(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 文件只記錄了頂點坐標、法線、紋理坐標和面的連接關(guān)系相當于模型的白模骨架。一臺機床再怎么復雜在 OBJ 里也只是一堆坐標點和三角面。真正讓它看起來像機床的是表面的顏色和紋理——哪塊鋼板是灰色的、哪塊警示燈是紅色的、哪塊面板上有絲印貼圖這些信息全部寫在 MTL 文件里。如果只管 OBJ 不管 MTL最后渲染出來的就是一片灰白色的幾何體你分不清是機床還是抽象雕塑。在我參與的設(shè)備虛擬調(diào)試項目里三維場景的作用是讓操作員在電腦前先看到產(chǎn)線布局確認設(shè)備和治具是否干涉、機器人軌跡是否碰撞。這種場景下模型的外觀不單是好看的問題而是直接影響判斷安全門用紅色、正常工位用綠色這些語義信息全靠 MTL 里的漫反射顏色值區(qū)分。所以解析 MTL 不是可有可無的加分項而是三維可視化功能能否真正落地的基本前提。1.2 為什么不直接選 glTF而選 OBJMTL現(xiàn)在三維格式很多glTF 是 Khronos 推出的標準還支持 PBR 材質(zhì)、骨骼動畫聽起來比 OBJMTL 先進不少。但放到上位機場景里情況不一樣。glTF 雖然功能強但它的結(jié)構(gòu)分成了.gltfJSON 描述和.bin二進制緩沖兩部分紋理圖還要獨立存放解析起來要考慮 URI 解析、緩沖視圖、訪問器這些概念而且很多工業(yè)軟件導出的 glTF 帶有大量擴展字段版本兼容性問題在項目里非常煩人。OBJMTL 的出現(xiàn)比 glTF 早得多從 90 年代 Wavefront 公司用到現(xiàn)在工業(yè)領(lǐng)域積累的存量模型基本都能找到 OBJ 版本。更重要的是它的心智模型特別直白OBJ 管幾何MTL 管外觀兩者通過文件名和關(guān)鍵字互相引用拆開看任何一個文件都能立刻明白意思。還有一個落地層面的考慮上位機程序往往運行在工控機上性能不強顯卡可能還是集成顯卡。OBJMTL 的幾何復雜度可以通過減面控制材質(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 混用會導致透明度解析出相反的結(jié)果。這些細節(jié)用眼睛看不出來只能在解析代碼里逐個對照排查。所以我就養(yǎng)成了一個習慣拿到任何三維模型包先用文本編輯器打開.mtl文件看一遍。里面每個關(guān)鍵字都代表一種渲染屬性掃一眼就知道這個模型是簡單著色還是復雜貼圖也大概能預料到在渲染管線里會遇到什么坑。接下來我把 MTL 的語法體系完整拆開逐個說清楚。2. MTL 文件語法的細致拆解2.1 一個標準 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)看起來簡單但它傳達了一個關(guān)鍵信息每個材質(zhì)是獨立的屬性集合OBJ 里模型的每個面通過材質(zhì)名來“認領(lǐng)”自己該用哪一套外觀參數(shù)。文件里Ka、Kd、Ks后面的三個數(shù)字分別是紅、綠、藍通道取值范圍 0.0 到 1.0跟我當初以為的 0 到 255 完全不同這是新手第一道坎。2.2 關(guān)鍵指令逐個說清楚顏色、透明度、高光與光照模型MTL 里最核心的指令就十幾個但每個都會直接影響渲染輸出。我按屬性類別拆開講。顏色三件套Ka、Kd、KsKa是環(huán)境光顏色模擬物體在無直接光源時被環(huán)境光照射的顏色。在實時渲染里它常被用來做環(huán)境貼圖采樣的強度因子。Kd是漫反射顏色是物體在擴散光照下的表面顏色也是絕大多數(shù)情況下人眼看到的“主色調(diào)”。解析時如果只取一個顏色取Kd準沒錯。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 完全透明。另外有些工具導出的是Tr表示透明度1.0 完全透明0.0 完全不透明。兩者是相反的語義很多模型文件里同時出現(xiàn)d 1.0和Tr 0.0意思其實一樣。解析時我的做法是如果存在d以d為準如果只有Tr用1 - Tr換算成不透明度。否則透明零件就會變成實心或者反過來完全看不見。光照模型illumillum后面跟一個整數(shù)0 到 10聲明材質(zhì)的光照計算模型。工業(yè)模型里最常見的幾個值取值含義實際表現(xiàn)0顏色常亮不受光照影響適合自發(fā)光警示燈、屏幕1漫反射環(huán)境光無高光啞光塑料、噴砂鋁2漫反射高光最常見適合大多數(shù)金屬和塑料3反射高光光線追蹤鏡面金屬實時渲染通常降級處理4透明玻璃光線追蹤玻璃罩實時渲染用透明度近似6折射反射光線追蹤透鏡實時渲染處理起來復雜實時渲染管線和光線追蹤不同illum 0就應該關(guān)閉光照直接輸出Kd顏色illum 1忽略Ks和Nsillum 2執(zhí)行標準的光照模型。很多透明件渲染發(fā)黑就是因為illum 4在實時渲染里需要單獨處理直接用漫反射光照當然不對。折射率NiNi是光學折射率一般玻璃是 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絕對路徑。上位機程序里絕對路徑幾乎肯定出問題因為文件拷到工控機上路徑早就變了。子目錄相對路徑還算友好但解析時要注意基準目錄是“MTL 文件所在目錄”而不是 OBJ 文件所在目錄。我見過不少模型把 MTL 放在models/materials/貼圖放在models/textures/OBJ 引用 MTL 時寫materials/model.mtlMTL 里引用貼圖寫../textures/tex.jpg這種跨級相對路徑在拼接時特別容易算出多余的空目錄加載失敗率極高。處理辦法是在解析函數(shù)里先做路徑歸一化把..抹掉再判斷文件是否存在并且做一個兜底邏輯在 MTL 文件目錄、OBJ 文件目錄、當前工作目錄三個位置都找一遍貼圖找不到就打印警告不直接崩潰。3. 解析 MTL 之前先把 OBJ 的引用關(guān)系捋清楚3.1 坐標與索引約定為什么老手也會翻車OBJ 和 MTL 是配套使用的OBJ 文件通過兩條指令引用材質(zhì)mtllib聲明外部材質(zhì)庫文件的文件名usemtl聲明后續(xù)的面使用哪個材質(zhì)。一個 OBJ 文件可以有多個mtllib聲明也可以有多個usemtl這就形成了“幾何分組—材質(zhì)”的映射關(guān)系。索引基數(shù)是 OBJ 最坑的細節(jié)之一。OBJ 里所有索引從 1 開始不是從 0 開始f 1/1/1 2/2/1 3/3/1的第一組數(shù)字對應第一個頂點位置紋理坐標和法線索引各自獨立計數(shù)。用 C# 的 List 或數(shù)組時記得讀取索引后減 1 再訪問元素否則三角形永遠錯位一格。這個問題在解析 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必須有對應的分支處理不能默認長度固定。3.2 材質(zhì)分組邏輯usemtl 與對象分區(qū)的映射OBJ 文件里模型的幾何體排列順序是有講究的。機械設(shè)計軟件導出 OBJ 時零件基本按創(chuàng)建順序輸出同一個零件下面的三角面在文件里連續(xù)排列并且在第一個面前面有一行usemtl 零件材質(zhì)名。所以解析時的流程應該是遇到usemtl切換當前材質(zhì)后續(xù)所有面全部記錄到該材質(zhì)的分組里直到下一個usemtl出現(xiàn)。有些模型在導出時會把多個零件合并成一個 OBJ 文件但材質(zhì)名保留各自獨立這樣加載進來之后雖然是一個 Mesh卻能通過材質(zhì)分組拆成多個子物體。對接上位機項目時這個特性可以用來做“按材質(zhì)高亮”“統(tǒng)計同材質(zhì)面積”之類的功能。我做過一個設(shè)備點檢界面點擊故障燈區(qū)域就要高亮整個 warning 燈外殼其實就是把 OBJ 里usemtl red_warning_light下面的所有面收集起來單獨渲染一遍。3.3 紋理坐標與 OBJ vt 的銜接MTL 里的map_Kd貼圖要正確貼在模型表面OBJ 里必須有對應的紋理坐標vt。紋理坐標是二維的范圍通常是 0.0 到 1.0映射規(guī)則是貼圖左下角(0,0)右上角(1,1)。很多工業(yè)導出的 OBJ 會用 UV 展開工具生成好vt但也有些模型完全沒有紋理坐標這時即使 MTL 里寫了map_Kd貼圖也貼不上去只能退化為純色渲染。解析時需要檢查的是OBJ 里是否存在vt記錄面的索引里是否包含紋理坐標分量如果存在但沒有加載map_Kd說明材質(zhì)和幾何沒有接上如果既有 MTL 的貼圖索引又存在vt還要注意坐標系的 Y 軸方向。部分建模軟件使用左上角為原點的坐標系輸出的vt需要做1 - v翻轉(zhuǎn)否則貼圖會上下顛倒。工業(yè)模型里這個問題常見于從 SolidWorks 和 Rhino 導出的文件我每次看到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ù)學庫。這個類的關(guān)鍵點是給每個字段都設(shè)了默認值這樣即使 MTL 里缺少某個屬性渲染也不會因為取到空值而報錯。工業(yè)模型千奇百怪有的材質(zhì)只寫了Kd其余全缺默認值兜底很重要。4.2 逐行解析處理指令分發(fā)的核心代碼解析的核心邏輯是按行讀取切分指令和參數(shù)再分發(fā)到對應的處理分支。下面這段代碼是我在項目里用過的簡化版本已經(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(); }這段代碼里有幾個細節(jié)值得說一下。float.Parse必須傳CultureInfo.InvariantCulture因為有些 MTL 文件是國外軟件導出的小數(shù)點分隔符是.但工控機上運行程序時如果系統(tǒng)區(qū)域設(shè)置是德語、法語等地區(qū)默認分隔符會變成,不指定不變文化就會解析異常。我曾經(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ù)語句的概率不低寫解析器時一定要預留。4.3 紋理加載與路徑拼接的細節(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ù)不負責把貼圖解碼進顯存只負責找到準確的磁盤路徑。真正的紋理加載還要考慮如果 MTL 里沒有map_Kd就用Kd純色填充避免出現(xià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 軸方向很多引擎的紋理坐標系和 OBJ 的vt不一致加載貼圖到紋理對象時需要做一個垂直翻轉(zhuǎn)或者在采樣時翻轉(zhuǎn)t坐標。第三材質(zhì)緩存同一個 MTL 文件可能在多幀加載中被反復引用用字典按材質(zhì)名做緩存避免模型切換時重復 IO。5. 常見問題與排查實錄5.1 排查記錄一樁“全白”事故去年做一個機器人上下料工站的上位機界面甲方給的 OBJ 模型加載進來全是白色的連形狀都看不清。我第一反應是 MTL 沒讀進來打開日志發(fā)現(xiàn)mtllib后面寫的文件名是robot_v2.mtl但實際文件叫ROBOT_V2.MTLWindows 文件系統(tǒng)不區(qū)分大小寫所以 File.Exists 找到了文件但在項目里我們用的是 Linux 工控機文件名大小寫敏感直接找不到 MTL。這個案例讓我養(yǎng)成一個習慣所有路徑查找都不信任文件系統(tǒng)的大小寫規(guī)則先File.Exists探測不行就走目錄掃描匹配。又有一次白色問題出在Kd的值上。設(shè)備外殼材質(zhì)Kd 4.0 4.0 4.0數(shù)值遠大于 1.0。這種超標值在一些渲染器里會被當作 HDR 顏色處理顏色會泛白在另一些渲染器里直接截斷成純白。工業(yè)設(shè)計軟件導出的 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確認法線方向透明件不透明d解析錯誤或渲染未排序檢查d/Tr語義打開深度寫入分離渲染貼圖上下顛倒紋理坐標系 Y 軸不一致采樣時翻轉(zhuǎn)t軸高光過曝全白Ns過小或Ks過大調(diào)大Ns到 100Ks限制在 1.0 以內(nèi)中文路徑打不開工控機區(qū)域編碼不匹配統(tǒng)一用 UTF-8 讀文件路徑用 Unicode 字符集5.3 避坑技巧解析器之外的工程習慣除了技術(shù)細節(jié)還有幾個工程層面的習慣幫我少走了很多彎路。第一永遠不要用記事本編輯 MTL 后另存為 UTF-8 with BOM。BOM 頭會插在文件最前面解析第一行newmtl時拼上三個亂碼字符材質(zhì)名徹底對不上。我自己的解決方案是解析前先判斷字節(jié)流前三個字節(jié)是不是EF BB BF有就去掉。第二從不同軟件導出的 MTL 格式差異很大。SolidWorks 導出是單材質(zhì)多貼圖Pro/E 導出經(jīng)常把顏色寫進 OBJ 的v頂點色而不是 MTL3ds Max 導出經(jīng)常帶map_Kd和大量的-o、-s選項。我寫了一個小的“MTL 預覽器”把解析結(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 導出的標準模型專門準備幾個畸形 MTL 文件——缺Kd、d和Tr混用、貼圖路徑帶空格、illum寫了個 99。把這些文件喂給解析器能扛住不崩潰、不白屏的解析器到現(xiàn)場才穩(wěn)得住。三維模型加載這塊真正拉開差距的不是把正常文件解析對而是把不正常文件解析得不難看。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
AV在线资源| 内射日韩大臀美女| 激情综合网激情综合| 91熟女网| 日本成熟少妇A∨网站| 国产在线综合福利网站| 国产在线视频二区| www.色综合| 精品人妻一区二区三区在线视频不卡| 欧美激情综合色综合啪啪五月| 大屁股人妻女教师撅着屁股| 在线中文字幕极品av| 日韩中文字幕国产| 大香蕉欧美| 99国产天美| 欧美精品1区2区3区| 老外又粗又长一晚做五次| 亚洲第一页色| 少妇毛片久久| 久草色悠悠在线视频| 日本熟女不卡视频| 啪啪啪亚欧美视频| 中文字幕日本久久| 另类小说综合网| 国产www色在线观看| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 亚洲欧美成人在线| 亚洲制服aⅴ中文字幕| 国产成人精品午夜福利| 用力操死我| 99精品九九九九九九| 久久久久久大| 精品国产乱码久久久影院| 九久精品| 密桃99999| 在线情色电影 91大| 国产精品精品系列在线观看| 久久丁香五月天| 亚洲成人妻日韩在线| 91无摭挡| 亚洲天堂人人妻| 超碰色图| 精品久久久久瑟瑟| 日韩日本欧美在线观看| 男人的天堂在线2| 欧洲特黄毛片免费看欧洲毛片| 岛国小电影| 国产精品不卡一区二区电影| 夜夜骑操视频| 五月天伊人| 亚洲色图欧美一区二区不卡| 精品小视频在线| 一类无码操逼视频| 午夜男人的天堂| 麻豆国产原创AV色哟哟| 国产区性爱在线视频秋霞豆 | 人妻人久久精品中文字幕| 久热9| 91熟女网| 亚洲色图欧美色18直播在线| 中文字幕一区av| 在免费jIzzjIzz在线视频| 欧色网址| 福利天堂| 九九热免费在线国产视频伊人五月| 一区二区三区美女超清| 欧美综合色| 人妻插插人妻人| 果冻国产精品麻豆成人av| 九九九九免费| 亚洲干B| 国产福利夜| www.色婷婷| 国产欧美精选激情视频| 夜夜操美女| 97ai亚洲| 91老熟女老女人国产老太| 激情五月天视频| 无码高清少妇久久| 九九九九热| 人妻色情天天操| 亚州男人天堂| 五月天精品| 91黑丝美女| 99国产精品人妻人伦| 成人三一级一片aaa| 家庭乱伦麻豆| 成人性爱av| 91色狼| 超碰这里有精品| 伊人久久久日韩一区| 日本人体九九九九九九| 狠狠操狠狠插| 超碰色中文| 丁香五月天堂网| 亚洲精品影视老司机| 中文字幕精品免费一区二区| 久久91| 成人无码欧美一级A片狼牙直播| 欧美国产成人在线| 久久香蕉超碰97国产精品| 一区二区 韩日AV| 日韩人妻免费精品| 人人干人人操人人..com| 国产精品久久久久无码Av网曝门| 成年人黄色视频免费| 操逼操2| 777超碰| 亚州性色| 欧美天天性| 中日韩一区二区三区欧美| 女人综合网| 99热婷婷一区二区三| 国产97在线播放| 欧美综合娱乐久久| 26uuu性| 欧美一区二区日韩三区| 看大黄色大片原件| 另类天堂| 色女网日韩| 黄色大片一区二区密桃丝袜| 久久有码| 超碰欧美97资源| 中文字幕精品三级久久久| 中文熟女五十乱码在线| 亚洲色图 91| 99少妇| 日韩有码专区| 91精品人妻偷情| 一级片在线观看高清无码| 激情抓乳插进去啪啪啪日韩| 国产女乱淫真高清免费视频| 五月丁香网站| 青青草国产亚洲精品久久| 91色爽欧美| 日本999精品| 91色欧美| 激情熟女12P| 乱伦图一区| 青青操97| 欧美日韩国产三级黄色| 国产一级做a爰大片免费久久| 日本在线不卡v二区| 97精品综合| 欧美另类色| 中文字日本乱码| 97在线观看免费视频l| 97超碰免费人人性爱| 夜夜精品视频一区二区| 曰韩中文人妻视频| 91chinese在线| 91狠| 999精品乱码| 2019精品国产无码成人| 亚洲色诱惑| 亚洲熟妇图片| 二级毛片| 亚洲一区中文精品| 色五月大香蕉| 亚洲吊色| 国产亚洲精品一区二区三区| 2020视频1区2区3区| 98精品国产乱码久久久久久| 国产传媒日韩| 5278欧美一区二区三区| 欧美黄色图片| 精品传媒在线一区| 超碰成人最新最好看| www.狠狠| 九九九九免费视频| 国产v片在线免费观看| 在线看免费无码AV天堂的| 亚洲综合888| 色色九区| 嫖老熟女A片一二三区| 蜜色网色哟哟| 色网站导航大全| 久草男人天堂| 91在线精品一区二区三区| 热99这里只有精品| 精品久久久久成人码免| 曰本人妻人人澡人人夹| 欧美午夜色妇色鬼| 久久人妻| 激激五月| 老熟女综合| 日本 欧美 国产一区| 天天天天做夜夜夜夜做| 久久久久久亚洲Av无码精| 婷婷久久综合| 国产日韩久久| 99超级碰免费视频| 0755午夜福利视频| 婷婷精品视频| 啪啪啪男女亚洲中文字幕99| 亚洲欧洲日韩国产自在线| 天天爽夜夜欢视| 国产传媒av天美传媒在线| www.99热| 日韩大香蕉AV影片| 五月天开心网| 欧美+日产+中文| 久久婷色| 天天爱天天操| 97精彩视频网站| 久久久一区二区三区四区五区| 丁香六月啪| 91九九九吃| 成人八戒网站| 日本一卡二区在线| 五月色网| 91丝袜在线播放| 欧美成人9797| 黄色成人网久久久久久| 狠综合网| 激情综合五| 性欧美91| 色月天AV导航| 无码国产Av| 欧美性综合| 国精精品无码一二三区水多多| 是还免费视频1727我| 芊芊操逼视频无码| 中文字幕午夜精品久久久| 国产欧美日韩精品中文| 97超碰超碰| 欧美成人精品一区二区三区| 污污汅18禁网站在线永久免费观看| 亚州再线| 日本www操操操| 日本免费二区三区| 人妻天天操天天爽视频免费| 九九热免费国产视频婷婷伊人 | 无码国产精品午夜不卡( | 欧亚久久偷拍视频| 黄片www.| 亚洲日韩人妻中文字幕一区| 天美传媒精品久久视频| 青青国产精品在线| 密乳无码| 久久久久久久91| 干b在线性社区| 中国一级特黄大片护士| 天天碰久久入| 97爱欧美| 五月丁香综合啪啪| 欧美亚洲第一页| 色天天野狼综合社区| 校园春色之综合网| 家庭乱伦性爱av| 先锋女优在线观看视频| 亚码人妻| 久久熟女人| 亚洲第一狼人丝袜美女另类| 久久鲁干| 色婷婷综合久久中文字幕雪峰| 中文字幕奈奈美被公侵犯| 后入人妻无码| 激情欧美日韩女同久久| 久久久影院| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 久久99999| 黑人操一区二区| 97久久超碰| 久久久91福利姬| 欧美成人精品一区二区三区| 97精品国产97久久久久久户外免费| 国产网红精品| 欧美探花网| 欧美人妻少妇| 国产精品另类| 欧美性第1页| 亚洲一区深夜| 日本性爱少妇| 中文字幕一区av| 欧美夜色| 大香蕉在线视频15| 巨爆乳一区二区爆乳区| 2021国产成人精品久久| 免费αⅴ在线观看| 日产操逼| 东京热一区二区中文字幕| 日韩人妻丝袜美腿中文| 亚爽爽爽爽爽爽爽爽| 91色碰| 精品一区二区三区18| 欧美成人9797| 久久久蜜桃一区二区三区| 久久久久久AⅤ无码免费肉站| 东京热视频网| 成人AV超碰免费在线| 91精品国产一区三一| 91中文字幕在线观看| 国产第11页| 久久99999| 尤物av网站| 午夜精品99久久久久传媒| 狠狠操狠狠爱| oumeisetu综合| 五月天精品| 精品一区二区成人动漫| 日韩精品大香蕉伊人在线| 国产精品久久久无码aV去| 不卡超碰护士AV在线免费播放| ,成人免费啪啪视频| 97在线观看| 999精品久久久久久久| 欧日韩一二三f区| 日本东京热大香蕉a片| 亚洲人精品久久久喷水| 亚洲欧美精品一区天堂久久 | 亚洲涩图欧美| 欧美亚洲涩涩| 99re这里| 玖玖资源视频一区二区三区| 9999亚洲精品| 亚洲AV色图一区| 玖色av| 亚洲 欧美 日韩另类 麻豆| 久久视频少妇美女| 四方色播| 国内伊人久久久久久网站视频| 久久精品店| 国产激情视频一区区三区| 欧美激情激情xxxx欧美专区| 欧美午夜视频免费观看| 色综合av男人天堂| 岛国片在线观看视频亚洲| 97人人射| 久久久艹艹艹| 影音资源男人日韩| 99热婷婷一区二区三| 欧美少妇性乱| 夜夜嗨一区| 色臀AV| 青娱乐休闲视频在线观看| 国产又黄又粗又猛大片| 国产品精品自在在线午夜免费| 免费看黄片现成| 国产女乱淫真高清免费视频| 狠狠综合| 91殴美大片| 天操天操夜操夜月操月年年操操| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚州精品丝袜-不卡成人免费| 国产黄色动态精品| 99这里都是精品| 91制服丝袜| 26uuu最新| 青娱乐大香蕉| www.男人天堂| 射综合网| 免费亚洲黄色视频在线观看| 人人爱夜夜爱| 全国男人天堂网| 亚洲av性爱电影| 亚洲精品一区二区三区在线播放| 中文字幕在线观看视频www| 尤物av网站| 97se综合| CCYY草草影院地址入口| 人妻一二三区| 激情五月天婷婷| 人人操天天爽| 99热国产精品| 久久久精品中文字幕爱豆| 深夜国产一区二区三区在线看| 色婷亚洲五月在线观看| 色噜噜人妻丝袜AV资源| 国内伊人久久久久久网站视频| ,成人免费啪啪视频| 网页导航五月天免费一二三区| 精品黑人一区二区| 性色高清在线| 青草精品视频日本久久久久网站在线| 欧美激情性爱视频网站| 亚洲中文字幕噜噜噜久久久| 亚洲素人综合| 在线岛| 欧美色偷拍| 国产超碰欧美| 日韩激情啪啪| 久久精品高清无码一区| 午夜国产乱伦视频| 久久久啊啊| 青青青在线高清视频在线一二三四区 | 无套内射性感少妇视频| 加勒比色综合| 午夜视频好爽啊| 天天综合AV| 歐美性天天| 少妇熟女一区二区三区| 国产伦乱91| 亚洲自拍欧美色综合| 国产欧美日韩一区二区三区| 中文有码第五页| 狠狠爱夜夜| 97最新在线播放视频| 久久一二三四五六七八九区区区 | 97内射偷拍| 日本二三四区| 九九亚洲| 亚洲不雅视频1区二区| 91久久久久久久| 日本久久久久久久久久| 久久久久久AⅤ无码免费肉站| 亚州男人的天堂| 熟女人妇一区二区三区| 国产丝袜高跟美女av免费观看| AA级电影三区| 久久亚洲AV无码白度| 全球成人中文在线| 亚春色色| 91oumei| 色爱亚洲| 国产AV天美| 成人精品一区二区91毛片不卡| 亚洲黄日韩无码专区| 乱伦一二三| 婷婷色香| 日韩中文字幕二区| 狠日欧美| 久久精品老司| wwwcaobibi| 91N综合网在线| 十八禁电影伊人网| 另类欧美色| 91天天综合日韩欧美| 日韩久久三区| 天天看夜夜看日日干| 国产25页| 国产97色在线| 91亚洲在线| 国产传媒1234区| 在线国产福利网址导航| 蜜臀久久99精品久久久久久成人小说| 欧美图片偷拍| 思思热影视| 日韩精品人妻一区二区| 91亚洲影院综合| 亚洲制服欧美另类内射| 青青草好吊色| 午夜AV污污污| 国产suv精品一区二区四| 国产日韩手机视频在线| 久久有码视频| 亚洲人在线成线成人| 韩日性爱av| 五月天久久人妻| 久偷拍| 欧美激情中文字幕另类小说| 亚洲熟女人妻中文字幕一区二区| 亚洲精品欧洲精品| 欧美午夜精品久久久久久3D| 91精品久久久| 99久久久| 少妇内射www在线观看视频| 长长久久88视频| 99这里只有精品国产| av草草在线电影| 97中文天堂| 五月丁香六月婷| 久久国产在线一区二区| 国产夫妻性生活视频| 青青草自拍视频在线播放| 超碰成人国产| 超碰在线香蕉| 欧美极品| 亚洲高潮影院| 国产精品福利资源在线尤物| 超碰97久| 夜夜狼人妻| 美国一区二区免费视频| 乱操乱伦AV| 日本媚薬中文字幕在线| 日日玩天天干| 我想要啊 啊 啊| 亚洲s在线观看| 亚洲操逼视频网站| 黄片不用下载在线观看| 屌妞视频久久久久久久 | av中亚| 亚洲av乱伦色图网站| 亚洲色图久久成人| 日本免费中文一区二区三区四区 | 欧美午夜视频免费观看| 日本1区2区不卡视频| 高清在线偷拍自拍视频| 特级丰满少妇一级AAAA爱毛片| 久久透逼视频| 大香网站| 国产欧美美女免费观看视频| 800zy一区二区| 九九九综合精品| 97视频620| 亚洲久草AV色图| 97免费视频在线| 日本韩国国产精品一区| 亚洲中文一区二区三区| 亚洲国产一区二区三区四区国产| 免费中文在线| 亚洲码和欧洲精品激情系列| 亚洲天天影视色综合| 97在线观看视频| 青青青在线高清视频在线一二三四区| 日韩熟女精一区二区三区不卡| 加勒比东京热五月天天堂网| 国产精品久久久久久亚洲色欲| 五月天婷婷久久| 男人天堂2019| 精产国品一区二三产品| 国产成人+综合亚洲+天堂| 精品国产网站| 老女人91| 午夜精品视频777| 日本一区三级韩国| 高潮综合网| 精品久久人妻成人网| 青青草原香蕉日本Ap| 精品十八在线观看| 日韩无码a片| 激情一区二区三区在线观看| 91欧美性| 亚洲欧洲自拍图片专区满春格| 青青操网| 久久国产精品一级二级三级| 人妖欧美一区二区| 欧美一级在线观看成人| 国产少妇与亚洲av| 先锋女优在线观看视频| 日本精品不卡一二三区| 久草久日| 亚欧高清在线| 2019亚洲男人天堂| 成人a大片在线观看| 欧美欲色| 亚洲精品无码成人久久久99| 成人网欧美风情| 1区2区3区视频| 日韩精品.久久精品.AV女优.天美传媒 | 国产欧美伊人| 91欧洲国产成人久久精品网站| 香蕉久久国产AV一区二区| 极品少妇久久久| 东京热激情视频一二三区| 少妇久久久久久| 欧美日韩人人精品| 中国一区二区亚洲人妻| 97国产|免费| 1区2区3区在线视频| 成人自拍三级在线观看| 久久精品99久久久久久| 色婷婷综合视频| 91日韩| 中文字幕神马久久| 亚洲少妇色| 亚洲,日韩,欧美,成人播放| AV在线播放网址| 狠狠 91| 欧美网站免费| 国产9 9在线 | 亚洲| 啊啊啊男女| 欧美国产操逼| 狠狠干妹子| 51国产午夜精品视频| 97香焦色区| 激情文学小说一区二区| 久久国产熟女影院| 在线只有精品| 884t在线| Sekablack无码一区| 日韩不卡av一二三| 日韩ab网| 尤物网站91| 欧美日韩中文亚洲v在线综合| 婷婷伊人一区| 视频二区美腿制服人妻欧美| 亚洲日韩成人性爱视频| 国产少妇高潮| 欧美精品久久久久久久丰满| 丁香五月成人| 99草精| 精品人妻中文字幕4399| 亚洲日本男人天堂网| 狠狠爱大香蕉| 精品国产人成在线| 天天综合有色网| 人人操欧美风骚| 一区黄二区黄| 花花AV导航| 天天爽夜夜操| 清纯唯美亚洲综合| 国产成人亚洲精品自产在线| 超碰美国| 啊啊啊啊一区| 欧州一区二区三区四区| 精品久久久久9999| 中文操逼字幕| A男人的天堂| 久久黄色视频一区二区三区 | 中文久久久| 另类天堂| 天美传媒婬乱在| 天天弄天天操| 久久久一区二区三区四区五区| 91碰碰| 天堂综合网| 骚乳在线| 久久久久久久九九九九九九| 大香蕉啪啪啪啪在线| 无码WWW免费视频网站| 天堂亚洲精品久久老牛| 国产偷拍自拍在线视频| 欧美97av| 亚洲日韩av一区二区三区百合| 亚洲网站一区二区在线| 好看的91视频| 国产三级电影免费观看| 97资源亚洲| 超碰亚洲97| 亚洲**2021在线观看| 熟女高潮合集-永久久久-成人AV| 无码在线亚洲| 亚洲 欧美 第一页| 欧美97在线观看| 国产三级多多影院2022国产AA一级毛片无码 | 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 久久久久久久久久久精| 97人人干人人操| 91无码西班牙视频在线| 偷拍超碰| 色五月首页| 影音先锋日本乱伦| 狠狠爱夜夜干| 亚洲国产第一页综合视频| 国产a片操逼| 九色 蝌蚪 熟女自| 这里是精品| 国产亚洲精品美女久久久m| 亚洲精品少妇| 国产欧美成人精品| 色99视频| 一级久久久久久久久久久| 成人国产二区三区在线,男女精品。| 久久久久久久久久久人妻| 大二网站亚洲| 国产精品久久蜜乳av| 久久伊人青青草| 狠狠综合网| 高清成年美女黄网站免费大全| 亚洲在线A| 欧美性,亚州色| AA特级绝黄| 久久久999| 九草九九九| 男人的天堂在线2| 久久香蕉网| 中文字幕一区二区三区高清| 一区二区影视| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚洲久久久| 亚州色国| 天美AV片| 日本久久精品| 乱伦日本色图AⅤ| 久久精品国产亚洲妲己影视| 国产精品自拍视频| 国产后入式在线观看| 青青操在线亚洲视频观看欧美在线| 日韩精品视频在线观看一卡二卡| 精品人妻av在线播放| 婷婷超| 中国少妇啪啪视频| 日天天九九天堂666| 狠狠做深爱婷婷久久二区| 97玖玖人妻| 久久五月份| 亚洲高清无码免费观看视频| 精品午夜福利国产一区二区在线观看| 国产高清成人免费视频| 人人妻人人爱人人玩| 91精品国产91久久久久久久久久久久| 熟女网站最新| 日韩操呦呦影院在线观看| 欧美亚综合色图| 日本一久是| 神马久久69| 色色99| 丝袜综合色图| 人妻夜夜爽天天爽麻豆三区网站| 亚洲综合色婷婷| 再深点灬舒服灬太大了好硬好爽| 不卡一区二区日本视频| 蜜乳AV一区| 草草影院最新网址| 国产一级高跟丝袜| 爱射综合| 欧美超碰人妻97| 97 国产一区| 中文字幕-区二区三区四区视频中国| A V少妇特黄三级| 丝袜大香蕉| 中文字幕高清20页视频| 亚洲欧美大| 欧美综合自拍成人自拍第二十页| 色啪网| 五月综合久久| 亚洲日本成人动漫| 天天色悠悠激情| 日韩精品人妻中文字幕有码午| 97色插| 精品国产一区二区三区久久久蜜臀| 啊操爽品善一区二区三区| 成人五月天色网| 国产亚洲日本| 97久久超碰日韩精品| 色九久| 亚洲?V高清一区二区三区尤物| 亚洲国产成人精品久久久国产成人一区二区 | 强奸乱伦AV一天堂网| 操逼天美3区| 精品久久久久av影院| 亚洲AV操| 激情五月天婷婷| 东京太热久久久| 九九拍拍精品视频在线播放| 丝袜亚洲91| 久久精品国产97欧美精品亚洲| 欧美精品久久久久久久丰满| 日韩欧美午夜一区二区| 性爱乱伦网址| 久久久蜜桃一区二区三区| 草b在线 | 国产人妖的免费的视频| 久久av成人无码免费| 亚洲色吧网| 日日黄色三级网站| 91四海无码日韩欧美| 久久精品 六十路 熟女 欧美| 噜噜噜在线视频| 丁香六月啪啪| 九9热伊人| 日本大香蕉综合网红本杳社区| 欧洲在线性爱视频| 国产精品熟女乱伦| 国产黄色动态精品| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 色噜噜精品一区二区三| 亚洲高清在线| 精品一区二区三区四区女| 国产91美女视频| 飘花国产午夜精品不卡| 狠狠色色| 日产成人久久| 国产在线视频午夜精华在| 国产女人操逼视频| 97自拍一区| 久久久精品一区二区| 五月丁香激情四射| 26uuu国产成人综合| 欧美日韩情色一区二区| 大香蕉一人| 老熟女搡BBBB搡BBBB视频| 中文字幕成人| 精品二区三四区五电影| 国产亚洲深夜激情| 精品一区二区三区蜜桃臀赵总 | 蜜桃在线观看一区二区三区| 欧美另类色| 东京热综合久久一区二区| 久久久久9999精品九九九| 亚洲中文丝袜美腿诱惑字幕| 免费在线观看国内色片网站网址 | 国产精品久久久久久久久久久久| 乱欲一区二区| 97日视频| 夜草网站| 亚洲图片欧美91N| 97网色| 亚洲综合九九| 中文字幕免费在线观看| 国产AV久久野战精品| 色盈盈影院| 一级人妻性爱视频| 800zy一区二区| 婷婷激情四射| 日韩免费人妻色情网站| 天天日天天干天天摸天天操| 八人操人人摸人人看| 男人的天堂久久狠| 免费看黄视频亚洲网站| 国产精品。| 先锋激情∨在线视频播放| 三级片大波波| 亚洲av成人精品一区| 国产视频一区二区三区久久亚洲天堂| 人妻欧美| 懂色AV一区二区三区| 狠狠91| 曰韩欧美国产传媒麻豆第一区| 亚洲图片欧美另类综合免费视频大大香| 久久国产免费激情视频| 色九九九综合| 另类 日韩 熟女| 男人成人黄色视频在线观看免费下载| 免费看黄视频亚洲网站| 丰满欧美放荡少妇在线| 国内自拍 日韩激情 99| 亚州高清AV| 天天添天天干电影| 一级黄色性爱裸体视频| 色综合加勒比四四季| 日本性爰一道本| 色眯眯av| av天堂精品久久| 97资源站久久| 亚洲婷婷五月天| 翔田千里A片一区二区| 国产精品久久久蜜臀| 国产精品99精品视频网站| 久久精品国产久精国产| 亚洲精品aa久久伊人| 天天综合网视频91| 美腿色图| 蜜乳AV一区| 97这里有精品| 国产精品色哟哟| 伊人五月天激情| 天天综合~91| 国产精品熟女九九九| 91快色色色色色| 9丨久久九九九| 日本一二三高清| 伊人黄色片| 另类专区加勒比| 色色色色综合网| 亚洲欧美另类激情小说| 91 丝袜在线| 97人人操人人摸人人爱| 78操B| 久久久专区| 99精品在线| 国产黄色影片在线观看| 亚洲骚逼少妇| 日韩激情视频| 一区二区激情国产熟女| 97资源视频| 国产白丝网站| 久久亚码| 亚洲不卡AV在线| 操比国产| 一级AV性爱| 漂亮人妻被强中文字幕hd| 十八禁黄色成人网站观看| 精品超碰国产| 18禁免费视频| 极品色| 欧美日韩97在线| 丰满搜索结果 -第18页- 久久高清无码 | 九九热国产| 亚洲自拍一区夜夜操| 91久久国产综合久久| 日韩A优精品在线观看| 精品国产乱码久久久久久网站入口| 国产精品国产| 麻豆九九九| 九九热男人天堂| 欧美 亚洲 偷拍自拍| 国产成人自拍视频视频| 久久狠狠色噜噜狠狠狠狠97 | 久久99国产综合精品女同| 黑人无码一区二区| 人妻一区二区三区视频| 精品人妻一二三| 黑人性暴力毛片| 成人一级二级| 色色99| 亚洲中文字幕乱码无码一区二区| 五月婷婷激情网| 国产一级αv免费看片| 三级激情网站| 精品欧美不卡在线播放| 久久久久国产精品久久久| 日日摸日日弄日日拍| 午夜精品久久久久久久| 欧美人妻色| 熟妇视频一区二区三区在线观看| 日韩欧美女优电影| 丁香六月啪啪| 99无码| 国产成人+综合亚洲+天堂| 家庭乱伦网站国产| av无码av无码专区| 人妻中文字幕精品无码| 欧美精品一区二区少妇免费A片| 国产精品网址| 超碰人妻久久| 国产精品久久久啊| 亚洲国产丝袜熟女av| 激情综合网激情综合| 600国产精品视频| 久久国产精品视频| 亚洲区 欧美区| 天天操福利视频综合网站| 四虎免费在线播放| 伊人性在线视频| 九九九九九九九九九五码| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 亚洲人天堂| 国产精品网址| 国产无马在线| 国产中文字幕在线点播| 久久精品国产亚洲妲己影视| 日本东京热加勒比久久| 奇米狠999| 婷婷操逼| 伊人亚洲国产一成人久久精品,久久| 99热只有| 97精彩视频网站| 台湾佬中文娱乐自偷自拍| 亚州久久9| 亚洲成人妻日韩在线| 亚洲精品97久久| 欧美狠狠狠| 绯色一区二区三区不卡少妇| 国产精品白领在线观看| 十八禁视频一区二区| 青娱乐亚洲自拍| 最新日韩黄片| 精品91摸| 久热久| 欧美在线视频播放| 亚洲人妻色图| 亚洲一区二区在线观看91| 18啪啪手机免费性爱| 蜜乳AV一区| 亚洲高清无码在线桃色| 超碰在线观看av不卡| 97香蕉人人乳| 丝袜狠狠草尤物 91| 密臀国产在线| 99re28在线观看| 性夜影院爽黄A爽免费动漫| 亚州熟女乱伦| 无码国产精品久久久久| 99精品久久| 欧美在线大香蕉| 十八禁电影伊人网| 日本999精品视频| 干美女人妻| 啊啊啊想要| 手机在线视频国内精品| 天天色播| 九九九九免费高| 九九九九一区| 欧美性高潮| 岛国视频一二三区| 99热超碰在线| 精品999日本| 深喉吞精| 国产欧美精选激情视频| 69人妻精品一区二区绯色| 69久久久久久久久久久久久| 高清无码学生妹高潮| 国内亚洲高清无码| 日韩av乱伦| 久久久久久久久久久久黄色| 国产精品噜噜噜日日日| www.99色| 啊a一区在线| 欧美日韩97在线| 国产操逼视频在线观看| 久久久五月天| 久草热制服丝袜在线观看 | 超碰在线综合97| 成人免费毛片| www超碰| 狠狠爱AV| 视频一区二区三区精品| 国产精品一级片在线看| 麻豆区99999| 婷婷人妻激情| 青青操狠狠撩| 欧美超碰96| 日韩成年人性爱视频| 偷窥自拍亚洲天堂网爆| 中文字幕欧美日本乱码一线二线| 欧洲性爱无码区| 天天射网| 91欧美情色| 果冻国产精品麻豆成人av| 日韩人妻精品中文字幕| 性综合网| www.欧精品| 91精品导航| 九九这里只有精品| 欧美综合色综合| 日本国产欧美高清在线| AV在线资源| 日韩成人在线性爱视频| 九九玖玖精品| 亚洲伊人久久综合97| 九九国产热| 青草草免费网站av| 蜜桃视频精品一区二区三区| 一级性爱网| 六月婷激情福利天堂69| 狠狠操狠狠操操| 蜜桃久久综合视频| 亚洲日韩国产精品| 日韩人妻资源在线看| 欧美人妻少妇| 大香蕉亚洲中文| 天美精品原创av片国产| 艹我哪美一区无码| 绯色一区二区三区不卡少妇 | 九九综合网| 国产极品99热在线播放69| 日韩淫色网| 亚洲二区精品在线观看| 天堂亚洲精品| 婷婷综合在线| 秋霞怕怕片| 久久嫩草国产成人一区| 亚洲精品乱码线路中文字幕| 成人日本精品九区| 午夜超爽| 久久精品高清无码一区| 免费一级视频特黄色大片| 日日摸日日弄日日拍| 人人喜人人妻| 无码动漫av中文字幕| 欧美久久人妻少妇一区二区| 一区操逼日比视频| 97在线免费公开视频| 超碰人人乐97| 91欧美综合| 欧州激情视频在线一区二区| 亚洲中文国际强奸字幕| 伊人一级免费黄片| 无码av永久免费专区网站| 997色在线| 青草青青久久久久久国产| 国产精品视频内谢女人| 久久久久久久六六| 大香蕉久| 国产精品久久天天干| 高树玛利亚无码流出| 日本视频在线观看污污污| 国产和美国毛片| 91 刺激在线| 国产丝袜欧美在线视频| 亚洲精品国产熟女久久久| 国产小黄片在线免费观看| 男人久久天堂| 欧美日韩高潮喷水91| 欧美午夜视频免费观看| 日韩欧视频| 久9久| 亚洲av强奸乱伦| 97超碰碰| 999久久芭蕾| WWW4虎| 亚洲图片偷拍视频区| 97亚洲综合| 亚洲,欧美,综合网| 青青欧美在线| 99天堂网| 亚洲色图尤物视频| 亚洲97精品| 伦理弟一页| 一区二区三区 丝袜 高跟 美腿| 一级@啪啪视频| 蜜臀久久99精品久久久久久无删减| 色九九九综合| 久久久影院| 在线综合 亚洲 欧美中文字幕| 欧美精品黑人猛交高潮| 久热伊人99re| 国产亚洲在线| 久久久久久电影| 九九九九9999| 人妻另类| 国产丰满少妇久久久精品影院| 人妻天天夜夜爽一区二区| 18禁网站在线播放| 人人贴人人摸| 欧州91高潮| 亚洲午夜精品久久久中文影院| 国产超碰在线一区| 插入综合网| 国产精品99久久久www| 在线观看成人性爱免费小视频| 人人妻人人玩人人澡人人爽| 风间由美日韩欧美久久| 日本亚洲vr欧美不卡高清专区| 久久久中文| 久久毛卡| 韩三级a视频在线观看| 91丝袜在线观看| 精品国产乱码久久久久久免费| 国产久久男人天堂| 亚洲欧美性生活| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 日韩福利综合一区| 九九九九九精品视频| 在线播放欧洲免费av| 精品一二三区女同| 久久少妇人妻| 91成人在线| 日韩久久艹| 先锋精品av色鲁| 91N欧美| av在线不卡一区二区三区| 国产精品一区二区后入| 欧洲视频在线| 五月天综合网| 国产婷婷综合在线观看| 精品国产自在在线99| 欧美图片校园春色| 国产精品一区二区 尿失禁| 另类欧美| 九九热精品视频在线观看| 麻豆国产第一| 天堂69亚洲精品中文字| 香蕉人欧美综合| 狠狠做深爱婷婷久久二区| 日韩精品 欧美激情| 丁香六月婷婷| 久久99热这里只频精品6学生| 亚欧性爱无码| 郑州宾馆老熟女露脸啪啪| 欧美国产伊人久久久久| 福利社区午夜一区二区| 亚洲精品第一| 久久精品国产亚洲AV无码电影| 日韩性爱视频免费在线| 日韩av影片在线观看| 99碰碰| 久久久18| 九九久久久久久爱| 久久久久久波多野吉衣高潮| 欧美熟妇操操视频| 加勒比人妻综合| 中文熟女五十乱码在线| 十八禁黄色| 亚洲风情在线观看| A级国产欧美激情在线| 久久丁香久草综合网| 亚洲一欧洲中文字幕在线| 久久性爱城| 国产剧情一区在线观看| 超碰中文字幕人妻草一区| 国产精品不卡一区二区三区| 久久九九精品一区二区| 999久久久久久久久| 成年无码动漫av片无尽在线| 欧美精品99久久久**| 亚洲Av无码成人精品国产| 神马福利久草|