亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

基于three.js的校園3D地圖開(kāi)發(fā)實(shí)踐:從坐標(biāo)轉(zhuǎn)換到性能優(yōu)化

基于three.js的校園3D地圖開(kāi)發(fā)實(shí)踐:從坐標(biāo)轉(zhuǎn)換到性能優(yōu)化 簡(jiǎn)介3D可視化技術(shù)正成為智慧校園與數(shù)字孿生場(chǎng)景的重要呈現(xiàn)方式。通過(guò)WebGL渲染引擎three.js開(kāi)發(fā)者可以在瀏覽器中構(gòu)建交互式三維地圖。實(shí)現(xiàn)過(guò)程中經(jīng)緯度坐標(biāo)需經(jīng)局部坐標(biāo)系轉(zhuǎn)換以避免浮點(diǎn)精度引發(fā)的場(chǎng)景抖動(dòng)地形可借助PlaneGeometry與噪聲函數(shù)生成建筑則通過(guò)ExtrudeGeometry拉伸并利用InstancedMesh合并繪制從而大幅降低draw call。該技術(shù)路徑不僅適用于校園也可推廣至園區(qū)、車(chē)間等小范圍場(chǎng)景甚至可與vue2百度的3D實(shí)景地圖模型加載相結(jié)合。掌握這些基礎(chǔ)原理與工程實(shí)踐即可高效完成從數(shù)據(jù)準(zhǔn)備到交互展示的完整流程。1. 項(xiàng)目定位與方案選擇為什么用 three.js 做 3D 地圖前陣子接到一個(gè)校園三維可視化需求要求把整個(gè)校區(qū)的地形、建筑、道路、水系在瀏覽器里做成可交互的 3D 場(chǎng)景。一提到 3D 地圖很多人第一反應(yīng)是 Cesium、Mapbox GL或者 UE5 像素流但綜合考慮項(xiàng)目預(yù)算、部署成本、前端技術(shù)棧之后我最終選擇了 three.js 作為核心渲染引擎。這篇博文就把整個(gè)實(shí)現(xiàn)過(guò)程拆開(kāi)講一講從數(shù)據(jù)準(zhǔn)備到坐標(biāo)轉(zhuǎn)換從地形生成到建筑建模從交互拾取到性能優(yōu)化一條線走完。先說(shuō)說(shuō)為什么是 three.js 而不是其他方案。Cesium 主打全球尺度加載傾斜攝影、地形瓦片確實(shí)強(qiáng)但如果需要的只是一個(gè)園區(qū)、一個(gè)校區(qū)、一個(gè)廠區(qū)這種小范圍場(chǎng)景用 Cesium 就像殺雞用牛刀學(xué)習(xí)成本高、包體體積大、API 抽象層級(jí)也重。Mapbox GL 的地圖底圖渲染很強(qiáng)但它本身是 2.5D 的想在它上面自由做建筑體塊拉伸、做水流動(dòng)畫(huà)、做自定義交互限制比較多。three.js 的好處是足夠底層也足夠靈活場(chǎng)景、網(wǎng)格、材質(zhì)、相機(jī)全部自己掌控做小范圍 3D 地圖再合適不過(guò)。它不叫“地圖引擎”但它能拼裝出你想要的一切地圖效果。這個(gè)方案適合誰(shuí)來(lái)參考如果你正在做智慧校園、智慧園區(qū)、數(shù)字孿生車(chē)間、展廳大屏可視化或者單純想給自己的個(gè)人項(xiàng)目做一個(gè)炫酷的 3D 小地圖這篇文章里的思路和代碼都可以直接復(fù)用。接下來(lái)我會(huì)以一個(gè)校園 3D 地圖項(xiàng)目為案例背景把關(guān)鍵環(huán)節(jié)逐一拆解每一步該怎么做、為什么這么做、坑在哪里都會(huì)講清楚。2. 數(shù)據(jù)準(zhǔn)備與坐標(biāo)系轉(zhuǎn)換地圖數(shù)據(jù)怎么變成 three.js 場(chǎng)景2.1 先搞清楚數(shù)據(jù)從哪來(lái)做 3D 地圖第一步不是寫(xiě)代碼而是搞數(shù)據(jù)。一個(gè)校園地圖需要的數(shù)據(jù)大致分四類(lèi)地形數(shù)據(jù)地塊范圍、高程信息如果沒(méi)有精確 DEM 數(shù)據(jù)可以用噪聲函數(shù)模擬起伏。建筑數(shù)據(jù)建筑輪廓多邊形、建筑高度、樓層數(shù)通常可以從 OpenStreetMap 導(dǎo)出 GeoJSON或者從規(guī)劃圖紙里人工繪制。道路與路網(wǎng)道路中心線或邊線同樣是 GeoJSON 格式。水系與綠地河流、湖泊、池塘的邊界以及綠化區(qū)域范圍。我用的是 OSM 導(dǎo)出的校園 GeoJSON加上自己補(bǔ)充的建筑高度字段。如果你在給一個(gè)具體園區(qū)做項(xiàng)目拿到 CAD 圖紙之后轉(zhuǎn)成 GeoJSON 也是常見(jiàn)路徑。注意OSM 的建筑數(shù)據(jù)常常缺高度需要人工調(diào)研或者按樓層數(shù)估算。我當(dāng)時(shí)是按“每層 3.5 米”乘樓層數(shù)算的誤差在可接受范圍內(nèi)。2.2 經(jīng)緯度坐標(biāo)怎么變成平面坐標(biāo)GeoJSON 里存的是經(jīng)緯度而 three.js 場(chǎng)景是一個(gè)三維笛卡爾坐標(biāo)系X 向右、Y 向上、Z 朝向屏幕外或者用 Z 表示南北方向。所以第一步必須做投影轉(zhuǎn)換。常用的做法是 Web Mercator 投影也就是把經(jīng)緯度轉(zhuǎn)成米制平面坐標(biāo)。不過(guò)實(shí)際項(xiàng)目里不需要引入很重的 GIS 庫(kù)簡(jiǎn)單算一個(gè)局部切平面就夠了function lonLatToMercator(lon, lat) { const x lon * 20037508.34 / 180; let y Math.log(Math.tan((90 lat) * Math.PI / 360)) / (Math.PI / 180); y y * 20037508.34 / 180; return { x, y }; }這樣做完所有經(jīng)緯度點(diǎn)都變成了以米為單位的平面坐標(biāo)。但 web 墨卡托的數(shù)值非常大幾百萬(wàn)的量級(jí)直接塞進(jìn) three.js 會(huì)觸發(fā)浮點(diǎn)數(shù)精度問(wèn)題導(dǎo)致場(chǎng)景抖動(dòng)、閃爍。解決辦法是“局部坐標(biāo)系化”把所有坐標(biāo)都減去中心點(diǎn)的坐標(biāo)讓場(chǎng)景原點(diǎn)附近的數(shù)值保持在幾千以內(nèi)。const center lonLatToMercator(centerLon, centerLat); const positions feature.geometry.coordinates[0].map(([lon, lat]) { const p lonLatToMercator(lon, lat); return { x: p.x - center.x, z: p.y - center.y }; });這里有個(gè)約定我把墨卡托的 y 放到了 three.js 的 z 軸上x(chóng) 保持不變。這樣地形上的東西南北方向和經(jīng)緯網(wǎng)一致后續(xù)擺放模型、調(diào)整相機(jī)方向都符合直覺(jué)。2.3 為什么局部坐標(biāo)系能避免精度坑three.js 的相機(jī)、場(chǎng)景節(jié)點(diǎn)在渲染時(shí)會(huì)做大量矩陣運(yùn)算坐標(biāo)值越大浮點(diǎn)數(shù)誤差越明顯。想象一下你在城市的另一端看一棟樓和站在樓底下看這棟樓同一個(gè)模型在空間里的表現(xiàn)截然不同。局部坐標(biāo)把項(xiàng)目范圍縮小到原點(diǎn)附近幾百米的場(chǎng)景里Float32 精度完全夠用。踩過(guò)這個(gè)坑之后我建議所有 GIS 數(shù)據(jù)進(jìn) three.js 之前都先做“去中心化”。別嫌麻煩這步不做后面模型抖動(dòng)、貼圖閃爍會(huì)折騰到你想放棄。3. 地形生成與場(chǎng)景環(huán)境先把“地”搭起來(lái)3.1 場(chǎng)景初始化核心流程其實(shí)只有幾行代碼但每一步都要有意識(shí)地去配置。const scene new THREE.Scene(); const camera new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 10000); camera.position.set(300, 350, 500); const renderer new THREE.WebGLRenderer({ antialias: true }); renderer.setSize(window.innerWidth, window.innerHeight); renderer.shadowMap.enabled true; document.body.appendChild(renderer.domElement);相機(jī)初始化位置我習(xí)慣放在地形的斜上方約 45 度俯視角看校園全景剛剛好??逛忼X必須打開(kāi)否則地形邊界、建筑邊緣的鋸齒會(huì)非常明顯尤其是大屏投放場(chǎng)景鋸齒一放大就很廉價(jià)。OrbitControls 是必裝的輔助庫(kù)它解決了相機(jī)旋轉(zhuǎn)、縮放、平移的基礎(chǔ)交互。import { OrbitControls } from three/examples/jsm/controls/OrbitControls.js; const controls new OrbitControls(camera, renderer.domElement); controls.enableDamping true; controls.maxPolarAngle Math.PI / 2.4;maxPolarAngle 限制最大俯視角度防止用戶把視角轉(zhuǎn)到地面以下。enableDamping 打開(kāi)慣性效果手感會(huì)順滑很多。3.2 用 PlaneGeometry 生成地形網(wǎng)格地形我直接用 PlaneGeometry 來(lái)生成分段數(shù)決定地形細(xì)膩度。一個(gè) 705 米 x 500 米的校園用 128 段 x 128 段頂點(diǎn)數(shù)約 1.6 萬(wàn)個(gè)完全夠用。const width 800; const depth 600; const segments 128; const geometry new THREE.PlaneGeometry(width, depth, segments, segments); geometry.rotateX(-Math.PI / 2);注意 rotateX。PlaneGeometry 默認(rèn)在 XY 平面旋轉(zhuǎn) -90 度后變成 XZ 平面Y 軸朝上這樣才符合 three.js 地形的通用做法。接下來(lái)要處理頂點(diǎn)高度。有真實(shí) DEM 數(shù)據(jù)的直接讀取高程數(shù)組寫(xiě)入頂點(diǎn) Y 值。沒(méi)有數(shù)據(jù)的情況下我用簡(jiǎn)單柏林噪聲來(lái)模擬地形起伏保證場(chǎng)景不死板。const positionAttribute geometry.attributes.position; for (let i 0; i positionAttribute.count; i) { const x positionAttribute.getX(i); const z positionAttribute.getZ(i); const height getNoiseHeight(x, z); positionAttribute.setY(i, height); } geometry.computeVertexNormals();computeVertexNormals 一定要調(diào)否則地形上光照表現(xiàn)是平的明暗變化完全沒(méi)有看起來(lái)像塑料片。3.3 頂點(diǎn)著色讓地形有質(zhì)感地形高度不只是幾何形態(tài)還可以映射成顏色。低洼處用藍(lán)綠色山丘用褐色頂部用灰白色這樣可以做出等高線般的視覺(jué)效果。const colors []; for (let i 0; i positionAttribute.count; i) { const y positionAttribute.getY(i); const t (y - minHeight) / (maxHeight - minHeight); const color new THREE.Color(); if (t 0.3) { color.setRGB(0.3, 0.6, 0.4); } else if (t 0.7) { color.setRGB(0.1, 0.4, 0.2); } else { color.setRGB(0.5, 0.5, 0.4); } colors.push(color.r, color.g, color.b); } geometry.setAttribute(color, new THREE.Float32BufferAttribute(colors, 3));用頂點(diǎn)色而不是貼圖的好處是不依賴(lài)外部圖片資源部署方便而且顏色隨地形動(dòng)態(tài)變化時(shí)只需要改數(shù)組非常靈活。材質(zhì)記得開(kāi)啟 vertexColors。const material new THREE.MeshStandardMaterial({ vertexColors: true }); const terrain new THREE.Mesh(geometry, material); scene.add(terrain);3.4 光照、霧和天空3D 地圖對(duì)光照要求不高但不打光不行。我習(xí)慣用一束平行光模擬太陽(yáng)再加一個(gè)環(huán)境光補(bǔ)亮陰影面。const sunLight new THREE.DirectionalLight(0xffffff, 1.5); sunLight.position.set(200, 400, 300); scene.add(sunLight); const ambient new THREE.AmbientLight(0xffffff, 0.6); scene.add(ambient);如果開(kāi)了陰影地形要設(shè)置 receiveShadow建筑要設(shè)置 castShadow。但陰影會(huì)顯著增加渲染開(kāi)銷(xiāo)移動(dòng)端建議直接關(guān)掉用偽陰影替代。再給場(chǎng)景加一層淡霧一是弱化地平線的硬邊二是有一種空間縱深的感覺(jué)。scene.fog new THREE.Fog(0xf0f5e8, 800, 2500);4. 建筑、道路和水系的模型化從“地圖”到“場(chǎng)景”4.1 建筑用 ExtrudeGeometry 拉伸拿到建筑輪廓后最直接的做法是利用 ExtrudeGeometry 把多邊形拉伸成體塊。const shape new THREE.Shape(); polygon.forEach((point, i) { if (i 0) shape.moveTo(point.x, point.z); else shape.lineTo(point.x, point.z); }); shape.closePath(); const extrudeSettings { depth: buildingHeight, bevelEnabled: false }; const geometry new THREE.ExtrudeGeometry(shape, extrudeSettings); const mesh new THREE.Mesh(geometry, buildingMaterial);這里的 depth 就是樓高Y 軸方向向上拉伸。bevelEnabled 必須設(shè)成 false否則建筑棱邊會(huì)有斜角樓體看起來(lái)圓滾滾而且會(huì)大幅增加頂點(diǎn)數(shù)。建筑材質(zhì)可以做成“白天模式”和“夜晚模式”兩套白天用淺灰白加一點(diǎn)環(huán)境反射夜晚把窗戶區(qū)域做成自發(fā)光。我在項(xiàng)目里給建筑材質(zhì)單獨(dú)加了 emissive 屬性夜晚讓色塊微微泛光大屏視覺(jué)效果很不錯(cuò)。4.2 建筑數(shù)量上百后怎么優(yōu)化校園里單體建筑四五十棟還好但如果做園區(qū)建筑上百棟逐個(gè)創(chuàng)建 Mesh 會(huì)導(dǎo)致 draw call 爆炸。優(yōu)化手段是用 InstancedMesh 批量渲染同種模型。不過(guò) InstancedMesh 要求所有實(shí)例共享同一個(gè)幾何體建筑高度各不相同怎么辦我的做法是把建筑按高度分成幾檔每檔用一個(gè)幾何體然后用 InstancedMesh 渲染同一檔里的所有建筑。const groupedBuildings buildBuildingsByHeight(buildings, [8, 16, 24, 36]); for (const [height, list] of groupedBuildings) { const geometry createBuildingGeometry(height); const mesh new THREE.InstancedMesh(geometry, material, list.length); list.forEach((building, i) { const matrix new THREE.Matrix4(); matrix.setPosition(building.x, height / 2, building.z); matrix.scale(new THREE.Vector3(building.scaleX, 1, building.scaleZ)); mesh.setMatrixAt(i, matrix); }); scene.add(mesh); }這樣一搞上百棟建筑只產(chǎn)生幾次 draw call幀率壓力小得多。4.3 道路怎么做才不“飄”道路數(shù)據(jù)通常是線或者窄多邊形。最簡(jiǎn)單的方式是把路網(wǎng)轉(zhuǎn)成 Line 對(duì)象配合 LineBasicMaterial 輸出。但如果想做出有質(zhì)感的道路我更推薦把道路兩邊線和中心線組合成多邊形然后貼到地形表面。最穩(wěn)妥的貼地做法是“偏移法”把道路多邊形每個(gè)頂點(diǎn)的高度采樣地形高度再手動(dòng)加 0.3 米的偏移量。不要試圖讓道路物理貼合地形網(wǎng)格那樣徒增復(fù)雜度。我試過(guò)把道路做成獨(dú)立 Mesh 貼在模型上只要偏移值大于地形起伏俯視看不出破綻側(cè)面看也不會(huì) z-fighting。水系同理用多邊形勾勒河岸、湖面邊界鋪一個(gè)透明材質(zhì)const waterMaterial new THREE.MeshStandardMaterial({ color: 0x3399ff, transparent: true, opacity: 0.7, });河岸邊緣多邊形的每個(gè)點(diǎn)同樣需要從地形采樣高度。這個(gè)步驟漏了的話水面就會(huì)在某處懸空或者穿到地下。4.4 河流流動(dòng)怎么做純靜態(tài)水面總感覺(jué)差點(diǎn)意思。給水面加一個(gè) UV 偏移做出流動(dòng)方向感waterMaterial.onBeforeCompile (shader) { shader.uniforms.uTime { value: 0 }; shader.vertexShader uniform float uTime; varying vec2 vUv; ${shader.vertexShader} .replace( #include begin_vertex, #include begin_vertex vUv uv; float flow sin(uv.x * 10.0 uTime) * 0.02; transformed.y flow; ); };要點(diǎn)是讓水面頂點(diǎn)做小幅正弦抖動(dòng)同時(shí)讓紋理采樣點(diǎn)隨時(shí)間偏移。做過(guò)之后河面有微微的波光流動(dòng)整個(gè)場(chǎng)景立刻“活”了。5. 交互與標(biāo)注點(diǎn)擊、懸浮、彈窗和文字標(biāo)簽5.1 鼠標(biāo)拾取建筑地圖沒(méi)有交互就沒(méi)有靈魂。three.js 里點(diǎn)擊判斷用 Raycasterconst raycaster new THREE.Raycaster(); const mouse new THREE.Vector2(); function onMouseClick(event) { mouse.x (event.clientX / window.innerWidth) * 2 - 1; mouse.y -(event.clientY / window.innerHeight) * 2 1; raycaster.setFromCamera(mouse, camera); const intersects raycaster.intersectObjects(buildingMeshes); if (intersects.length 0) { const building intersects[0].object; showBuildingInfo(building); } }這里有個(gè)經(jīng)驗(yàn)buildingMeshes 不要傳三維數(shù)組嵌套的對(duì)象要拍平成一維數(shù)組否則 Raycaster 遞歸遍歷會(huì)非常慢。建筑數(shù)量多的時(shí)候建議用三個(gè)參數(shù)快速篩選raycaster.intersectObjects(buildingMeshes, false)false 表示不遞歸子節(jié)點(diǎn)。5.2 標(biāo)注用 CSS2DRenderer 比 Sprite 強(qiáng)建筑上的名稱(chēng)標(biāo)注很多人會(huì)想到 Sprite。Sprite 確實(shí)會(huì)用但文字一旦多了就糊成一片而且縮放距離和相機(jī)交互很難控制。我更推薦 CSS2DRenderer它是把 HTML 標(biāo)簽掛在 3D 坐標(biāo)上清晰度完勝也能很方便地加 CSS 樣式、hover 效果。import { CSS2DRenderer, CSS2DObject } from three/examples/jsm/renderers/CSS2DRenderer.js; const labelRenderer new CSS2DRenderer(); labelRenderer.setSize(window.innerWidth, window.innerHeight); labelRenderer.domElement.style.position absolute; labelRenderer.domElement.style.top 0; labelRenderer.domElement.style.pointerEvents none; document.body.appendChild(labelRenderer.domElement);注意 CSS2DRenderer 的 DOM 元素要關(guān)閉 pointerEvents否則它會(huì)在 three.js canvas 上面蓋一層擋住鼠標(biāo)事件導(dǎo)致點(diǎn)擊拾取失效。這個(gè)坑我踩了一次排查半天才發(fā)現(xiàn)是標(biāo)簽層擋住了畫(huà)布。創(chuàng)建標(biāo)注對(duì)象const div document.createElement(div); div.className label; div.textContent building.name; const label new CSS2DObject(div); label.position.set(building.x, building.height 5, building.z); scene.add(label);標(biāo)注渲染循環(huán)里必須同時(shí)調(diào)用 CSS2DRenderer 的 renderlabelRenderer.render(scene, camera);5.3 點(diǎn)擊建筑高亮與信息面板點(diǎn)擊高亮我用的是兩種方案結(jié)合一是給建筑材質(zhì)設(shè)置 emissive 提亮二是給選中建筑加一層外發(fā)光邊框。最簡(jiǎn)單的是改 emissivebuilding.material.emissive.setHex(0xff8800);注意如果建筑是共享材質(zhì)直接改 material 會(huì)同時(shí)改變所有同材質(zhì)的建筑。所以必須 clone 一份材質(zhì)再改building.material building.material.clone(); building.material.emissive.setHex(0xff8800);信息面板就是普通的 HTML 絕對(duì)定位彈窗點(diǎn)擊建筑后顯示名稱(chēng)、樓層數(shù)、面積、用途。HTML 做展示層的優(yōu)勢(shì)是排版、樣式、響應(yīng)式都容易控制不用在 three.js 里畫(huà) UI。6. 性能優(yōu)化與常見(jiàn)問(wèn)題排查6.1 控制 draw callsthree.js 場(chǎng)景中每個(gè) Mesh 每個(gè)材質(zhì)基本對(duì)應(yīng)一次 draw call。校園場(chǎng)景如果建筑、路燈、樹(shù)木、路牌全部獨(dú)立生成幾百上千的 draw call 是常態(tài)低端設(shè)備掉幀嚴(yán)重。經(jīng)驗(yàn)值如下60 FPS 目標(biāo)下桌面端盡量控制在 300 次 draw call 以內(nèi)。移動(dòng)端大屏盡量控制在 100 次以內(nèi)。優(yōu)化手段按優(yōu)先級(jí)排InstancedMesh 合并同類(lèi)建筑、合并靜止的地形道路網(wǎng)格、刪除不可見(jiàn)物體、大場(chǎng)景開(kāi)視錐剔除、合并紋理圖集。6.2 浮點(diǎn)精度和坐標(biāo)抖動(dòng)前面提過(guò)局部坐標(biāo)能解決大部分精度問(wèn)題但還有一個(gè)補(bǔ)充技巧把 camera 的 position 也往原點(diǎn)靠。如果你做的是超大地圖比如整個(gè)城市那就需要“隨動(dòng)原點(diǎn)”方案即相機(jī)移動(dòng)時(shí)把整個(gè)場(chǎng)景反向移動(dòng)始終保持相機(jī)離原點(diǎn)很近。const offset camera.position.clone(); // 當(dāng)相機(jī)距離原點(diǎn)超過(guò)閾值時(shí) scene.position.sub(offset); camera.position.sub(offset);這不是我這個(gè)項(xiàng)目的剛需但如果你后續(xù)要擴(kuò)展到更大范圍建議提前架構(gòu)。6.3 常見(jiàn)問(wèn)題速查現(xiàn)象原因解決辦法地形邊緣閃白z-fighting相鄰 Mesh 貼太近偏移 0.01~0.1建筑飄在半空輪廓點(diǎn)高度未采樣地形每個(gè)點(diǎn)做高度采樣再加 baseY水面穿地水面頂點(diǎn)高度低于地形水面統(tǒng)一抬高到地形最高水位點(diǎn)擊沒(méi)反應(yīng)CSS2D 標(biāo)簽遮擋 canvaslabelRenderer.domElement.style.pointerEvents none移動(dòng)端卡頓陰影 抗鋸齒開(kāi)銷(xiāo)太大關(guān)陰影或關(guān) antialias建筑材質(zhì)全變了多個(gè)建筑共享同一個(gè) material修改前先 clone()相機(jī)穿地OrbitControls 未限制俯仰角設(shè)置 maxPolarAngle這七個(gè)問(wèn)題是我項(xiàng)目里實(shí)際遇到過(guò)的每一個(gè)都花了不少時(shí)間定位。尤其 z-fighting 和共享材質(zhì)定位過(guò)程極其迷惑經(jīng)驗(yàn)不分享出來(lái)真心難受。6.4 項(xiàng)目工程化在 Vue 里集成 three.js熱詞里提到“vue2 百度 3d 實(shí)景地圖加載 3d 模型”這個(gè)方向很多人問(wèn)。我在實(shí)際項(xiàng)目里是把 three.js 場(chǎng)景封裝成一個(gè)獨(dú)立的類(lèi)然后掛在 Vue 的 mounted 鉤子初始化卸載時(shí)銷(xiāo)毀渲染器和 scene。這里給出一個(gè)精簡(jiǎn)的集成模式export default { mounted() { this.map3d new Campus3DMap(); this.map3d.init(document.getElementById(map-container)); }, beforeDestroy() { this.map3d.dispose(); } };所有的 three.js 代碼盡量不直接寫(xiě)在 Vue 組件里而是抽成獨(dú)立模塊。好處是后續(xù)更換框架、復(fù)用場(chǎng)景、單元測(cè)試都方便。數(shù)據(jù)請(qǐng)求放在 Vue 層通過(guò)事件或方法注入到三維場(chǎng)景中這樣數(shù)據(jù)和渲染完全解耦。6.5 three.js 版本與資源獲取熱詞里有人問(wèn) three.js 怎么下載、中文文檔在哪統(tǒng)一說(shuō)一嘴。three.js 目前最推薦的方式是 npm 安裝npm install three如果做 CDN 引入官方推薦用 ES module 的 importmap 方式。中文文檔方面three.js 官方文檔是英文的國(guó)內(nèi)有一些中文鏡像站但更新可能滯后我更建議直接看官方示例和源碼遇到不懂的 API 去搜“three.js 類(lèi)名 用法”比看靜態(tài)文檔更高效。注意 npm 安裝版本要用 latest避免舊版本 API 和當(dāng)前示例代碼不一致。有些老教程用的是 Geometry新版已經(jīng)改成 BufferGeometry照著抄會(huì)出現(xiàn)各種報(bào)錯(cuò)。7. 還能怎么擴(kuò)展這個(gè)校園 3D 地圖做完之后我最大的體會(huì)是three.js 做小范圍 3D 地圖的能力被很多人低估了。它沒(méi)有內(nèi)置“地圖”的概念但正因如此它的表達(dá)完全由你掌控。你可以在上面疊加熱力圖、動(dòng)態(tài)軌跡、時(shí)鐘動(dòng)畫(huà)、夜景燈光秀、天氣系統(tǒng)甚至把 BIM 模型導(dǎo)進(jìn)去做樓宇內(nèi)部漫游。后續(xù)我打算在這個(gè)項(xiàng)目里加入行人導(dǎo)航動(dòng)畫(huà)讓小紅點(diǎn)在校園道路網(wǎng)里自動(dòng)尋路想一想就覺(jué)得可以做很多有趣的玩法。如果你正在規(guī)劃類(lèi)似項(xiàng)目我的建議是先從最小可行版本開(kāi)始一小塊地形、兩棟建筑、一條路跑通全流程再逐步增加密度和效果。別一上來(lái)就想做超大場(chǎng)景先解決“有沒(méi)有”再解決“好不好”。做 3D 地圖最磨人的不是 three.js 本身而是數(shù)據(jù)清理和坐標(biāo)系轉(zhuǎn)換這幾步耐心做扎實(shí)后面就能順暢很多。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲无992tv| 久久久久ab| 爱逼综合| 亚洲国产中文字幕| 久久99手机免费视频| 高跟丝袜AV专区国产| 91亚洲欧洲| 天天影视之亚洲综合网| 中文字幕文字幕无码一区二区三区电影99 | 精品人妻美妇91job| 久久岛国| 91少妇高潮| 婷婷丁香一区二区三区| 亚洲无套久久嗯嗯| 狠狠色婷婷7777久| 无遮挡猛进视频免费无限观看| 午夜性刺激视频免费观看| 欧美论理片| 欧美一区二区传媒| 最新欧美色网| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 毛片17S| 久久草大香蕉| 少妇干B| 日本操逼无码| 高清一区AV无码| 国产 日韩,欧美 自拍| 999国产精品999久久久久久| 2021国产成人精品久久| 日韩操p| 久久午夜色播影院免费高清| 久久久精精精| 久久久久国产精品久久久| 人妻熟女一区二区三区视频| 亚洲欧美首页| 欧美狠狠干| 热99这里有精品综合久久 | 久久久久亚洲av综合波多野制衣| 性色AV蜜色av色欲av| 久久久无码视频| 97超碰久久| 欧美色999| 啪啪啪亚欧美视频| 超碰91在线| 国产一级内射高清视频 | 女色视频社区| 久久九七| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 人人搡人人肉久久精品| 精品少妇人妻| 久热在线精品免费观看| 久久久亚洲欧美综合| 免费在线黄片视频| 高清国产av无码| 亚洲蜜桃V妇女| 亚洲中文日韩欧美大香蕉视频| 秋霞久久亚洲精品成人| 九九亚洲视频| 亚洲中文字幕有码视频一区二区三区| 久久97资源 网| 少妇色综合| 有码专区最新中文字幕有码| 久96热在线观看视频| 亚洲āv网址在线观看| 亚洲国产婷婷在线播放| 九色婷婷| 97超碰久| 欧美天天综合在线| 中文字幕高清精品一区| 久久精视频美日韩在线视频| 九九九九九九九九九九九免费国产| 岛国小电影| 97超碰资源网| 91美女在线观看| 国产超碰AV在线精品| 少妇干B| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 人人色人人操在线| 91偷拍欧美亚洲| 男人天堂网手机版婷婷| 亚洲AV无码乱码| 大学生口爆吞精| 亚洲九区| 亚洲综合一| V A在线| 日韩一区二区高清在线观看的| 一级A片女人高潮叫床| 五月丁香| 亚洲91射| 九九综合久久中文字幕| 日本三级韩三级99久久| 亚洲91综合| 欧美人与动性人交a| 五月综合色| 日韩丨制服丨中文|在线| 国产一国产一级毛片古装| ..日韩av毛片精品久久久| 亚洲 日韩 欧美 国产综合体| 黑人与人妻| 国产91福利小视频在线观看| 天天操女人| 亚洲欧美清纯| 色色色999| 久草综合视频| 国产精品久久99日日| 理论久久婷婷网 8| 粉嫩av一区二区三区天美传媒| 国产精品黑人一区二区三区| 色欧美天天| 少妇人妻激情四射| 这里只有精品久久| 丝袜 中出 制服 人妻 美腿 中文字幕| 亚洲国产ⅴ高清在线观看| 欧美制服网站美腿丝袜| 蜜臀在线视频| 色婷婷淫色网| 色在线亚洲视频www| 九九热精品在线| 97超碰欧美中文字幕| 色五月大香蕉| 日韩综合97p| 不卡啪啪视频| 亚洲色天堂九9| 亚洲女毛多水多21P| 久九9精品| 在线a v| av线电影| 香蕉人人操tv| 日韩射图| 青青草日本无码| 久区视频| 午夜呻吟欧美| 日韩一区二区三区四区五区| 综合天天。| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 色999亚洲人成色| 国产日韩中文字幕欧美| 99性爱| 9丨久久九九九| 五月激情啪啪| 乱伦av国产| 91美女国产在线| 亚洲综合97中文网| 免费又黄又裸乳的视频| 蜜桃传媒视频第一区入口在线看| 天天色粽合合合合合合合| 啊啊啊好多水| 久久宗合亚洲| 丁香五月天激情综合| 中文字幕乱码在线| 青青草男人天堂| 亚欧高清在线| 亚欧免费观看视频| 伊人97| 久操B网| 国产美女裸体秘 永久无遮挡| 操淫穴亚洲五月丁香 | 久久线上视频免费看| 超碰碰碰碰| 人妻9117c| www.av不卡中文字幕| 色哟哟的毛片| 国产热RE99久久6国产精品首| 人妻丝袜日本| 1204人成网站色www| 亚洲丝袜二区| 国产色呦呦| 84YTCOM性无码| 涩亚洲欧洲| 亚洲色图加勒比| 中国亚洲呦女专区| 久热影视| 大JI巴好深好爽又大又粗视频| 久久精品视频一区三区小泽玛利亚| 大香蕉五月天婷婷| 久久精品店| 超碰色老头| 欧美熟女丝袜| 人妻美腿丝袜制服诱惑综合天堂-| 五月婷网站| 无码人妻精品酒店| 999国产精品999久久久久久| 亚洲区限制级| 香蕉一区二区三区在线视频| 天天流夜夜操| 超碰av在线| 日韩色欲久久一二三四区| 嗯嗯不要 视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 51久久夜色精品国产麻豆| 精品无码少妇| 亚洲久草AV色图| 久久婷婷亚洲欧| 久久久久国产亚洲一区欧美色图日韩| 色综合婷婷| 久久美女国产| 国产女生在线| 免费a在线播放v| 国产欧美日韩一区二区三区| 最新av中文字幕高清| 91色狼| 99少妇| 试看60秒| 美女网站黄页| 亚州色图片在线色| 97精品国产精品免费观看| 亚洲男人的天堂AV| 伊人991| 久久综合超碰| 小明看看网址| 伊人96在线| 91色色综合| 亚州春色| 中文字幕av片| 九九九成人| 成人青青草原伊人| 中文字幕国产在线天堂| 国产精品久久久久久高清无码免费看| 国产成人91一区二区三区| 麻豆天美传媒毛片| 日韩精品资源专区二区| 手机看片1025| 亚洲综合色男人网| 国产人妻精品一区二区三区秋霞| 我爱操| 97日韩欧美亚洲| 校园春色美腿丝袜 | 夜草网站| 免费黄色片。| 中文字幕交换人妻| a在线观看| 欧美日韩淫加| 99re6在线视频精品免费完整版安卓版| 嫩草黄页| 色妇综合网| 亚洲中文字幕在现观看| 淫荡少妇免费| 裸体美女免费看网站青草| 青青草视频久久| 2025亚洲男人天堂| 肉丝中文无码高清| 超碰97人人cao| A V视频日本| www超碰| 大香蕉十区| 伦理弟一页| 国语精品av| 家庭乱伦麻豆| 精品久久99| 熟妇艹鸡八| 久午视频| 免費黃色視頻觀看一| 日本特黄f c2| 久艹99| 久久大| 日韩精品视频在线观看一卡二卡| 91伊人大香蕉| 免费国产视频| 天美麻豆精品视频99| 91嫩草在线| 国产在线综合福利网站| 丰满人妻一区二区三区免费,| 五月天综合网| 四虎精品永久在线观看| 国产亚洲深夜激情| A V少妇特黄三级| 久久久精品日本一道| 国产风韵犹存熟妇三区| 看全色黄大色大片免费视频| 欧美极品性爱天天射| 久热伊人| 天天天天天天天天综合| 日韩欧美性爱电影在线观看| 99热国产| 九九九九九九九| 999综合网| 性色av蜜臀av色欲aV| 五月天激情婷婷| 午夜后入| 国产亚洲色婷婷久久99精品91 - 百度| 国语国产操逼伊人AV网| 天天日日舔舔| 99热销国产这里有精品| 国产成人无码久久精品| 激情文学小说一区二区| 亚洲自拍天堂| 四季AV综合网址| 91插B网站| 中日韩熟女| 亚洲视频,小说| 狠狠爱大香蕉| 屌色在线97视频| 超碰到97情色| 欧美性爱视频免费一区一A| 欧美少妇第一页| 人人妻人人澡人人爽久久av| 国产乱伦性爱AV| 福利一级版子| 中文字幕精品一区二区精| 禁止观看美女黄| 日韩一卡二卡三卡| 99亚洲天堂| 一摸二插三插| 色综合久久久久| 日韩无码第3页| 操逼网站地址| 亚洲中文字幕av | 日韩中文字幕二区| 91美女高潮| 人妻乱仑一区二区三区| 新怡红院| 男人的天堂2019AV| 91色插| 日日夜夜狠狠| 国产精品96| 久操大香蕉手机视频在线看| 九九九久久久| 国产天美传媒精品| 91|九色|国产熟女| 操国产高清| 偷拍 精品 另类 四区| 免费AV中文网在线观看| 在线黄色污污网站| 国产亲戚伦亲在线| 久久系列| 亚洲图片偷拍欧美| 婷婷色婷婷| 老熟女综合| 亚洲男人的天堂AV| 亚洲AV成人无码久久精品播放| 超碰久超碰久| 91五月天| 激情开心五月天| 一二三区操逼国产91| 曰本熟女视频| 日本一区三级韩国| 岛国片在线视频网站| 欧美白嫩女HD| 激情AV| 欧美第二页| 91精品婷婷国产综合久久竹菊| 少妇高潮对白在线观看| 欧差乱伦二三| 另类图片五月天| 九九热男人天堂| 无码聚合| 尤物网站91| 熟女欧美日韩综合婷婷| 欧亚免费视频| 日本人妻丰满熟妇久久久久久| 亚洲男人天堂2| 青青操97| 99碰碰| 日韩熟女操逼| 精品夜夜澡人妻无码AV| 久久久久久久国产| 69超碰综合| 人人操人人搞人人草| 9I1性色影院| 91N欧美| 婷婷伊人网| 天天视频网站黄| 中文字幕福利视频一区二区三区在线观看| 天天操天天日天天干| 国产AV线| www. 男人天堂成人在线| 色色色综合| 国产操操日韩三级黄| 久久免费9| 一卡二卡三卡| 欧美日韩精品青青| 天天色踪合| 毛片17S| 屌逼麻豆| 凹凸视频特色日本特黄| 欧美日韩性爱无码| 人人操人人摸人| 影音先锋新男人| 熟女激情综合网| 美女诱惑久久| 射久久| 久久精品人妻一区二区三区| 日韩欧美偷拍美女视频| 亚洲综合97中文网| 看日韩操逼| 中文字幕日韩人妻视频一区二区三区| 天堂69亚洲精品中文字| 97视频在线观看免费高清| 国产中文字幕在线观看| 久久天堂网| 大香蕉92| 精品一区二区2| 婷婷九月丁香| 亚洲美腿丝袜香蕉影视欧美成人| 天天激色| AV久日| 国产欧美黑人丰满在线| 欧美黑人168页欧美黑人167| 久久熟女嫩草成人片免费| 国产精品大屁股999| 亚洲AV永久无码精品成人调教 | 极品销魂美女一区二区| 午夜性刺激视频免费观看| 亚洲天堂另类| 亚洲av青草久久一区二区| 久久这里只有精品9| 亚洲黄色| 国产福利电影| 高跟丝袜AV专区国产| 秋霞蝌科网日本一区| 青青操狠狠撩| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 久操大香蕉手机视频在线看 | 性交一区二区在线播放| 99在线啪| 国产97/欧美| 亚洲色图综合网| 日日摸日日弄日日拍| 亚洲天堂加勒比| 蜜桃狠狠色伊人亚洲综合网站| 国产 日韩,欧美 自拍| 乱伦1色页| 五月天久久久| 蜜臀精品1区2区| 国产25页| 欧美 亚洲 在线| 亚洲A曰本VA欧美VA视频| 男人天堂黄片| 婷婷九月色| 91人妻视频在线| 91最新综合| 亚洲极品| 国产日韩精品suv| 欧美日韩在线国产在线| 成人精品电影| 91老司机视频| 国产精品无码av嫩草| 国产一区二区三区影片| 大香伊人在线一区| 精品久久久av无码免费| www色日本| 国产精品九9| 九九人妻| 国产一区二区精品久久99| 任你草| 玖玖蜜臀资源网| 日本 情色 1区2区3区| 免费国产视频| 五月丁香激情综合| 一区二区三区色综合| 无码78| 欧美人妻一区| 欧美A√综合网 | www四虎| 亚洲日韩97| 中文字幕第9页萱萱影音先锋| 亚洲二区精品在线观看| 国产一区二区三区不卡手机在线| 九九九网站| 秋霞免费AV| 九九热超碰97亚洲最新香蕉| 欧亚日韩一区在线| 国产白嫩漂亮KTV在线| 久久综合中文国产| 中文字幕三四区| 国产操逼逼网| 亚州色图片在线色| 亚洲色图欧美色图日韩色图| 91老熟女老女人国产老太| a级免费在线观看| 激情五月天色色| 锕锕好爽 死我在线观看| 插入逼91| 欧美精品偷拍| 超清福利精品视频在线| 青娱乐av在线| 视频国产欧美在线播放| 欧美操逼视频二区| 99久久久无码精品国产人| 1024亚洲中文字幕久在线看片你懂的| 啊啊啊好大好深| www.色综合| 校园春色美腿丝袜| 国产又爽又黄| 97九色| 97这里都是精品| 性色AV网站| 一区二区三区四区五区高清无码永久视频| 亚洲少妇在线观看| 国产精品女同| 欧美亚洲自拍另类人妻| 国内操逼视频二区| 操日韩第| 精品人妻视频一区二区在线播放| 丁香五月天堂| 少妇熟女一区二区三区| 久久精彩视频9| 人人操人人色网| 97这里都是精品| wwwxxx日本爽| 激情婷婷黑人91| 国产九月婷婷| 中国一级操逼视频| 人妻超碰青青草98| 精品性爱无码在线播放| 嗯,啊。舔我逼| 另类小说五月天| 资源新线在线天堂| 精品久久久久黄少妇| 高清一区AV无码| 91N综合网| 久热伊人99re| 天天干天天狼在线视频| 99精品无码| 天天摸夜夜摸| 亚洲aV性爱| 97视频免费播放| 国内精品999| 精品人体无圣光凹凸| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 夜夜嗷嗷一区二区| www99热| 亚洲欧美高清无码| 舔人妻中文免费视频| 亚洲精品819| 欧美日韩操逼嗦吊| 久久久久久99AV无码免费网站| 久久人妇| 久操B网| 青青草天天亲夜夜操网| 久久久久久亚洲Av无码精| 亚洲精品黑丝| 91色图片| 日本青青草在线| a v网站在线播放| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 欧美,日韩,中文,另类| 97久久久精品| 国产馆极品诱惑| 粉嫩在线一区二区懂色| AA级电影三区| 激情天天视频| 超碰97中文| 亚洲人精品久久久| 亚洲情色在线| 午夜福利在线视频1000| 中文高清一区二区的| 国产精品自产拍在线观看社区| 日本成人免费一区二区三区| av亚欧| 美女性91| 97 国产精品| 伊人网在线视频| 丝袜综合| 亚洲第一页欧美| 欧美激情综合色综合啪啪五月| 大香蕉免费3| 2024黄色视频| 国产高清自拍| 屁股久久久久久| 青青操视频在线| 亚洲国产中文字幕| 91影视亚洲| 日韩天天本| 色阁阁AV综合网| 歐美性天天| 丁香婷婷激情五月天无毒不卡 | 国产乱伦搜索结果91P| 久久嫩草| 女沟厕偷窥piss小便| 人妻欧美| 啊啊啊好想要| 国产免费黄色一级大片| 国产美女销魂在线观看不卡| 欧美传媒| 两女互慰AV高潮喷水在线观看| 97天堂| WWW.操逼.COM| 欧美成人A√在线一区二区| 桃花色综合影院| 国内毛片婷婷六月色| 久草国产在线视频| 人妻aa| 香蕉婷婷| 黑丝91视频| 中文字幕免费观看| 成人精品视频| 日本中文字幕熟妇| 青娱乐啪啪视频| 91一区二区三区蜜桃| 色久桃花影院在线观看| 99无码视频| 久久久久成人蜜桃精品| 嫩草 人人网精品| 亚洲综合情色| 97久操| 色欲Av人妻精品一区二| 久操网视频| 成人性爱美曰韩| 丁香五月天堂网| 淫妻综合网| 久草资源欧美在线视频| 夜夜夜夜爽| 日韩成年人性爱视频| 色欲av一区二区三区蜜芽| 日韩在线观看字幕精品| 精品国产乱码久久久久久久久1| 欧美老妇综合网| 亚洲天堂电影网| 大香蕉综合网| 99久久久无码国产精品性男| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 人人干黄色| 精品人人插人人操| 91网站视频在线观看| 黄页网站成人免费| ,成人免费啪啪视频| 国产av又色又爽又黄| 蜜桃视频精品一区二区| 精品中文日韩字幕视频| 亚洲欧美另类小说| www.色婷婷色综合| 大香蕉国产中文自拍| 男人的天堂VA| 国产一区二区在线电影| 欧美亚洲第1页| 亚洲欧美综合网 | 日本五十路在线| 久久岛国| 99热9| 久久啊啊啊视频| 中文字幕99999| h无码动漫在线观看| 国产青视频| 日韩肏逼视频| 丁香九月婷婷| 久久华人网| 乱伦图av| 97色涩| 肉动漫无遮挡h在线观看| 伊人AAA| 97精品一区| 人人看欧美性爱| 磁力99AV| aaa亚无码专区| 99精品网| 麻豆av一区二区| 激情五月婷婷| 欧美性第1页| 成年人一级黄色毛片大全在线观看| 吉川爱美亚洲二区在线 | 五月丁香六月激情综合| 91超碰在线观看| 国产综合操逼高清| 日韩二区三四区五区六区在线看| 搞中出久久| 亚av顶级裸体一区二区三区四区五区 | 天天操夜夜操| 深夜视频| 91视频国品一二三区| 婷婷人妻激情| 性做久久久久久免费观看软件| 亚洲男人的天堂网| 色嗨嗨在线| 性色高清..……| 亚洲砖码砖专无区2023| 日韩中文字幕精品一二三事国产精品 | 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 熟妇人妻一区二区三在线 | 亚洲性综合| 国产av波波国产精品| 伊人991| 国产尹人在线视频免费| 久久熟女嫩草成人片免费| 亚洲欧美国产其他二区| 人人妻人人玩人人澡人人爽| 人妻碰碰碰碰碰碰| 国产精品国产亚洲区艳妇糸列| 欧美 日韩 国产传媒| 人人操人人摸人人看人人干| 91n免费处女| 蜜桃无码AV一区二区| 国产精品熟女一区二区三区| 91欧美成人色站| 久久精品中文字幕观看| 国产精品农村妇女精品| 青青草视频这里只有精品| 亚洲 无码 偷拍| 日本三级韩国三级美三级91| 亚洲AV成人无码一区二区三区在线观看 | 日韩一999精品| 欧美少妇性爱网站| 人妻熟妇一区二区三区| 九九九九九九亚洲| www色日本| 欧美亚洲天堂| 日日碰视频网| 亚洲码和欧洲精品激情系列| 亚洲一卡2卡3卡4卡乱码网站 | 国产成年精品高清在线观看91| 四虎884| 中文啪啪视频| 久久精品高清AV| 精…码一二三区| 久久日本熟妇熟色高清| 五月丁香成人网| 九九九九精品九九九九| 2003天天干夜夜操| 大香蕉伊人亚洲| 九九黄色视频在线观看| 久久欲| 亚洲人妻爽爽爽| 三级网站超变态精品| 婷婷99| 人人 操人人 操人人| 中文字幕国产| 蜜桃一区二区三区| 国产精品白虎| 搡老熟女老女人老熟妇免费视频| 日韩一级久久毛片| 色吊丝 日日骚 清纯唯美| 97在线青| 午夜久久一区二区无码中出| 久久性爱城| 欧美性爱三区二区| 人妻偷拍一区二区三区| 天天色欧美| 精品少妇高潮久久| 色眯眯av| 精品亚洲俞拍视频一区| 蜜臀久久一区二区| 九九色综合| 91精品人妻电影| 不卡av在线中文字幕| 激情小说图片亚洲首页| 欧美天天综合| 亚洲 欧美 第一页| 青青在线视频免费| 舔人妻中文免费视频| 老司机午夜福利视频一区二区| 美女AV一区二区| 亚洲综合113页| 在线观看十八禁| 97玖玖人妻| 天天干天天操天天拍| 啊…啊…操我用力操我 | 精品国产乱码久久久| 日本一卡二区在线| 日本 情色 1区2区3区| 亚洲自拍欧美色综合| 熟妇激情| 无码精品啪啪啪一区二区三区三州| 女生自91网站| 精品无码久久久久| 久久少妇人妻| 欧美日韩国产人人| 亚洲色图欧美色图在线播放| 久久久久久99999国产精品| 超碰97导航| 亚洲综人| 91国产丝袜白虎| 国产久久久久久| 久草新在线| 91天天| 97在线精品观看视频| 久久精品欧美一区二区三区不卡| 98人妻精品一区二区色欲| 国产精品一区二区亚洲人成毛片| 眼镜人妻101.com| 日本十八禁免费看污网站| 乱伦Av网| 性色av婷婷久久一区二区点复制| 极品白嫩美女白浆成人福利在线看| 久久性爱免费送| 狠狠操狠狠插| 天天综合网久久ww| 爱妻综合网| 天美麻豆一区二区三区| 欧美日韩国产精品久久色婷婷| 992视频一区| 最新亚洲黄色免费电影 | 五月天春色激情网| 青青操在线亚洲视频观看欧美在线| 亚洲欧洲日产国产综合网| av天天在线| 97亚洲色图| 超碰免费人妻人人| 国语av最新自产拍在线观看| 深夜啪啪啪视频免费| 亚洲欧美日韩有码| 一卡二卡三卡| 秋霞午夜成人福利片片| 国产成人综合在线播放| 婷婷在线视频| 91处女视频在线观看| 国产尤物在线三区| 日韩操逼HD| 丁香六月啪啪| 67194无码不卡| 久久99久久99精品天美传媒棢·纸:. | 亚洲高清无毛一区二区| 丁香五月久久| 久久最新视频免费观看| 九99久久| 亚洲啪AⅤ永久无码| www.国产高潮精品| 精品小视频在线| 青娱乐黄色录像| 高清成年美女黄网站免费大全| 青青国产精品在线| 视频在线中文字幕| 日韩肏逼视频| 婷婷爱五月| 国产女人9999| 激情五月天插| 丁香五月天婷婷姐| 亚洲一区中文字幕| 五月丁香社区婷婷日韩欧美精品影院| 精品国产网站| 国产成人久久精品蜜臀| WWW黄片COM| 亚洲 欧美 小说| 一起草三级AV电影在线观看 | 99色热| 欧美一级久久久丰满| 日韩午夜啪啪视频| 久久中文字幕女同性恋一区| 蜜乳成人AV| 亚洲男人的天堂一区二区| 99rre在线精品99re8| 美女操逼福利视频| 日韩人妻丝袜美腿中文| 亚洲日韩视频二区| 熟妇人妻一区二区三区| av网站免费看| 91亚州日韩高清| 中文三一区| 国产福利精品最新在线| 超碰午夜| 色伊人91| 大香蕉伊在线久草麻豆天堂故事| 大色综合| 97中文超碰| 加勒比综合a∨| 中文精品一区二去| 狠狠色一区二区中文字幕| 免费一级a毛片久久久久久鸭绿欲 国产精品亚洲天堂网址 | 欧美一区二区在线资源| AV乱伦国产| 蜜桃中文字日产乱幕4区| 日韩欧美亚洲自拍偷拍| 69AV女优男人的天堂| 麻豆久久精品亚洲精品88| 清纯唯美激情四射| 国产肏逼网站| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 第四色亚洲色图| 6080YYY午夜理论片在线观看| 99青青草国产视频| 欧美性爱免费短视频| 热热色色综合| 99久久精品国产高潮| 天天干18禁| 亚洲综合春色| 人人干人人操人人爱| 日韩综合97P| 极品白嫩美女白浆成人福利在线看| 最新AV在线| 97超碰国产精品| 97超碰伊人| 国产自偷自拍一区| 综合情欲网| 国产无遮挡| a级成人毛片免费视频高清| 98人妻精品一区二区色欲| 天久久久噜噜噜久久国产精品爽爽| 尤物视频网 刘玥| 少妇69中文| 操香逼| 中文字幕一区 二区三四五 区日 日骚| 欧美熟妇成人一区二区| 久久超碰com| 亚洲久久天堂| 久久久久久久久久久精| 国产精品久久久久久久久久久久久久久久 | 综合色拍| 骚女高跟AV在线| 欧美一区二区在线资源| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 欧美少妇高潮| 精品二区三四区五电影 | 九一精品牛牛一区二区| 日日日啊啊啊| 97青娱乐超碰久久| 亚洲不卡av在线| 欧美97日韩| 亚洲一区二区三区麻豆传媒| 99久久无色码| 蜜桃在线观看一区二区三区 | 欧美三级中文字幕hd| 午夜理论片在线观看免费| www.99中文字幕| 在线中文字幕极品av| 色黄色美女大长腿午夜视频| 国产精品久久久啊| 国产精品一区二区a| 三级日本一区二区三区| 在线播放免费av福利片| 国产中文大片资源中文字幕| 黄片色区软件| 国产亚洲日本精品在线| 国产 v乱码一区二| 五月丁香六月激情| 久久国产三区| 美女裸体麻豆天美蜜桃91| 亚洲美女30b| 午夜后入| 九九热re99re6在线精品| 久久精品操| 另类天堂| 国产美女自拍AV| 免费簧片在线观看| 2020国产精品| 人妻啊啊人妻啊| 青青草黑寡妇男人天堂| 青青欧洲黑| 精品人妻15区| 久久狠狠色噜噜狠狠狠狠97| 奇米四色影视777久久久| 日本性爱少妇| 丰满人妻-区二区三区免费| 欧亚不卡| 天天综合网亚洲综合网| 校园春色五月天| 热思思免费视频| 精品v日韩欧美国产| 91综合在线| 粉嫩国产精品久久久| 亭亭在线资源| 人人澡人人干| 天天日天天干天天色| 天天操天天舔| 久久久久骚| 尤物视频偷拍免费| AV中亚| 久操网无码在线| 亚洲少妇喷视频看| 97一区二压| 清纯唯美亚洲综合| 18禁免费视频| 精品视频日日夜夜| 久久一区二区加油站| 久久精品| 97任你吞精| 九热视频| 91欧美性| 麻豆天美一区二区| 另类小色呦| 国精品一区二区三| 97美日韩视频| 国产一区二区a毛片| 好湿好紧好爽 视频| 欧美91色| 国产精品人妻熟女aⅴ| 欧美日韩成人在线| 欧美一级专区免费大片| 思思久热在线精品66| 日本熟女中文| 97精选久久| 成年人黄色视频免费| 激情五月天丁香| 五月开心久久AV官网| 色哟哟 日韩精品| 91丨九色丨东北熟女| 欧美中字不卡| 男女做爰猛烈动高潮A片免费应用| 综合婷婷| 九九九草| 日韩激情毛片一级久久久| 国产最新AV| 亚洲天堂另类| 人、人、摸,人、人、草| 亚洲精品 超碰| 一区二区三区国产在线播放| 欧美人人AAA| 日韩综合97P| A级毛片在线看免费| yirendaxiangjiashipin| 亚洲高潮影院| 人人看欧美性爱| 嗯嗯啊好大| 乱伦熟妇一区二区| 淫色网综合| 少妇高潮九九九九| 大香蕉97久久| 嗯嗯不要视频| 天天日少妇逼AV| 激情婷婷黑人91| 无码伊人久久大杳蕉中文无码| 欧美精品久久| 亚欧成人中文字幕一区| 77国产精品| 日韩国产乱子伦App| 久久精9| 国产精品毛片?v一区二区三区| 免费农村成人少妇人妻Aa一区二区视频| 午夜αv| 玖玖在线视频| 久久久久久中文| 国产 丝袜 欧美中文 另类| 亚洲精品骚逼| 乳欲人妻办公室奶水| 99re99视频在线免费观看| 老司机天天操| 啊啊啊好大好湿| 日韩人成网站在线播放| 婷婷九月国产| 熟女视频久久| juliaann丝袜| 国产白嫩精品久久| 男女日B国产| 韩国国产欧美情侣视频在线| 99性爱在线观看| 欧美综合色图片| 国产无码一二三区| 国产蜜臀精品一区二区尤物| 人人操av| 国产日韩无码一区二区三区久久区| 人妻天天爽夜夜爽爽| 香伊人在线| 人妻黑丝袜电影| www.色99| 国产三级片在线观看| 抽查国产福利主播| 人人操人人插人人摸人人干| 欧洲站一级二级三级h| 久久久久国产无av| 少妇久久久久久| 亚洲最大的黄色电影网站。| 欧美久久人人网| 欧美日韩人妻精品一区二区三区| 日韩精品区二区三区不卡| 国产品精品自在在线午夜免费| 亚洲淫乱骚妇AV| 国语av最新自产拍在线观看| 射综合网| 中文字幕女同在线| AV大香蕉| 欧美精品精品一区二区| 欧美激色| 欧美99| 无码高清操逼网址| 亚洲中文字幕一区| 看看小穴| 精品亚洲国产成人AV制服丝袜 | 欧美A√综合网 | 日韩精品在线视频,日韩精品……| 熟妇高潮一区二| 十八禁视频网站| {男男暴菊gay无套网站| 色天天野狼综合社区| 精品人妻一区二区三区-国产精品| 亚洲国产一区二区入口| 色噜噜狠狠色综无码久久合欧美| 偷拍超碰| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 欧美性爱日韩性爱| 99操逼| 天天综合网AV91| www.夜夜操| 日韩欧美综合激情| 超碰色综合| 情色大香蕉| 丰满精品人妻少妇久久字幕| 蜜臀久久99精品久久久老,,| 久操网无码在线| 国产毛片毛片4p懂色| 久操影视| 国产91美女高潮| 岛国大片在线观看网站入口| 操人妻视频| 亚洲日本大香蕉1| 欧美午夜色妇色鬼| 熟女人妻久久中文字幕一二区| 亚洲天堂AV在线播放| 欧美性爱精品七区| 日韩精品一区二区人人人| 蜜臀无码一区二区| 2025亚洲男人天堂| 五月天丁香欧洲日韩| 亚洲成熟国产精品美女| 99国产精品视频尤物| 天天夜躁日日躁狠狠2002| 亚洲丝袜少妇在线| 91白虎| 2020中文字幕在线| 亚精品无码毛片一区二区三区| 日韩pv中文| 嗯嗯啊啊视频在线看| 丰满的三级少妇欧美久久久| 日韩乱中文 | 欧美色图亚洲色| 色偷偷综合91久久噜噜| 久久久精品中文字幕麻豆| 欧美日韩一干二干| 日本啊啊啊啊啊视频| 嗯啊啊啊轻点视频 | 九九干| 成人自拍三级在线观看| a片 xxxx受爽视频| 综合熟妇一区二区三区| 日韩欧美~中文字| 91美女视频。| 欧美小说区视频区| 极品人妻少妇综合| 日本2020一区二区| 国产一二三福利视频网| 97精品一区二区视频在线观看| com 首页 18岁 禁区 女优 免费 精选 同城 | 小视频国产| 亚洲国产奇米影视久久| 亚洲国产精品99久久久| 天天激情干| 手机在线中文字幕国产| 日韩A优精品在线观看| Sekablack无码一区| 亚洲欧美色图小说| 99国产在线 精品 视频| 亚洲AV无码翔田千里网站| 国产h片在线观看视频| 欧美成人AⅤ大片在线观看| AV无码久久久精品| 91精品无码人妻系列| 亚洲中文一区二区三区| 亚洲欧美自拍偷拍| 超碰97男女| 丝袜综合网| 国产高清亚洲日韩一区| 亚洲在线| 欧美日韩另类在线播放| www.yeyecao| 91强热人妻| 国产强奸91| 午夜理论片在线观看免费| 久久激情视频| 色色色色色色色色色色色色色色综合| 久久久久久久久久久久久久9999| 欧亚乱色熟一区二区三四区| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 婷婷综合在线| 啊啊啊啊啊操我视频| 超碰97最新人妻| 国产精品第一页国产大屁股视频免费区i| 好舒服视频| 黑白配性爱AV成| 97无码视频在线播放| 911av网站免费观看| 婷婷久久综合| 国厂麻豆77q4| 91超碰丝袜制服|