亚洲有码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
返回資訊列表
日韩午夜国产| 中文字幕精品探花视频| av2014 日韩在线中文字幕| 日韩中文字幕二区| 欧美成人性爱视频在线播放| 午夜福利 成人 91| 伊香蕉综合久久久久久久噜噜噜| 蜜桃丰满熟妇av无码区不卡| 在线中文字幕视频| 白丝1区2区3区| 啊啊啊在线看| 综合自拍| 亚洲在线网站| 亚洲成?V人片在线观看福利| 五月婷婷综合网| 成人老鸭窝人人在线视频| 亚洲AV乱码专区国产噜噜亚洲 | 一区二区三区男女操逼黄色小电影| 天天透伊人| 自慰白浆在线观看| 在线女人91| 97天天插| 99热这里| 色爱亚洲| 激情综合色| 97AV爱| 激情文学小说一区二区| 国产精品人人爽人人做可爱福利| 中文字幕成人| 亚洲码和欧洲精品激情系列| 操逼国产免费| 日本 情色 1区2区3区| 嗯啊抽插大香蕉网页| 99色色| 美女高潮国产高清| 久久五月综合| 1人人看人人摸人人操| 91蜜臀在线久久久久| 边做饭边操逼逼| 上海一级黄片| 色官网在线| 超碰综合色| 亚洲欧美另类图片| 日韩一级免费性爱| 欧美嗯啊……在线观看视频免费| 久久亚州精品成人Av无| 亚洲一区制服诱惑| 国产自偷自拍一区| 青青草原成人| 欧美一级黄片视频在线| 亚洲天堂少妇| 狼天天狼天天大香蕉| 婷婷20月天青娱乐| 日韩人体偷拍| 激情五月婷婷| 国产亚洲日本精品在线| 亚洲欧美清纯| 欧美午夜色妇色鬼| 中文?日韩?免费?精品| 手机久操欧美综合色码| 青青久操| 欧美日韩m| 国产午夜无码片在线观看影视| 国产 日韩,欧美 自拍| 在线观看黄色电话| 女人综合网| 99久久婷婷| 风月影院十八禁| 久久色激情一区二区三区| 国产无马在线| 九九九九九九免费视频| 九九热在线视频| 97操97干| 97久久免费| 成人贴图日韩欧美| 玖玖在线视频| 久久精品三级影视| 97中文天堂| 精品综合久久久久久五月天| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 蜜桃臀av一区二区| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 九九黄色视频在线观看| 国产操操日韩三级黄| 亚洲丝袜诱惑| 中文字幕后石码三区四区| 97ai亚洲| 国内外内射高清视频| 中出后入| 老女人91| 91在线精品一区二区三区| 亚洲国产av中文字幕久久| 国语对白露脸XXXXXX| 欧美狠狠| 日韩色欲久久一二三四区| 免费少妇一区二区| 国产日韩无码一区二区三区久久区| 久久精品人人做人人看| 静品嫩模一区二区| 中文字暮97| 四虎永久在线精品免费网址 | 操逼天美3区| 精品无码一区二区三区| 日韩A优精品在线观看| 日本三级中国三级99人妇网站| 麻豆久久久久久久久丝袜| 91人人爽人人爽| 国产不卡中文字幕免费avi| 97天天综合网| 土豪酒店各种姿势玩弄极品幼稚| 性天堂| 欧美aaaaaaa| 长长久久88视频| 亚洲欧洲无码97久久精品| Aa东京男人的天堂| 国产真乱mangent| 国产美女口爆吞精视频| 日韩97超碰中文字幕| 欧美色图片色哟哟| 中文字幕亚洲在线一区| 成人一区二区三区四区| 日日夜夜免费| 红杏大香蕉| 亚洲激情 欧美色图| 天天日骚逼熟女| 天天操天天射天天日| 嗯嗯啊中文字幕| 亚州男人的天堂| 国产 日韩,欧美 自拍| 乱伦a片视频| 久久6热精品99视频| 国产尹人在线视频免费| 有码专区最新中文字幕有码| 无码人妻丰满热妇又大又粗| 98超碰日本| 岛国免费视频在线| 60秒免费小视频| 97综合久久| 超碰久热| 女人 A一级| 人人摸人人舔一区二区| 日本国产高清色www视频在线| 一区二区不卡| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 97国产精品一区| 碰超人人在线一区二区三区| 另类一区| 日韩精品一二三| 91在线页| 欧美日韩国产黄色片| 中文字幕神马久久| 欧亚乱色熟一区二区三四区| 五月激情啪啪| 无码免费精品高清| 国产精品操| 欧美大片一区二区三区| 天天躁日日躁AAAXX| 国产精品人妻无码久久久互動交流 | 新视频sss国产| 久久精品性| 日韩亚洲欧美中文字幕| 久热色情精品| 99久久无色码| 97干在线视频| 国产精品制服丝袜清纯唯美| 9Ⅰ老熟女| 欧美碰碰综合色| 亚洲综合888| 美女露胸露屁股| 日韩操人| 亚洲第一黄色av网站| 四虎精品一区| 嗯嗯啊啊好疼| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 99热在线播放| 91Chinese在线| 秋霞久久亚洲精品成人| se吧提供国产乱老熟视频胖女人| 男人天堂资源| 亚洲AV在线资源| 97就爱干| 日日爱99| 免费观看性欧美一级| 女人久久久| 日韩无码第3页| 欧美女同在线| 久久无码成人| 东京热激情视频一二三区| 99热在线观看| 97视频观看| 中文字幕在线观看AV| 狠狠爱综合网| 日韩性色| 国产成人91一区二区三区| 亚洲天天综合| 91人妻中文| 久久久人妻| www.狠狠| 九久久精品| 青青五月天| AAAA欧美日韩| A片 AV一级在线播放观看免费| 91站街按摩店老熟女熟女| 天天色综合图片| 天天日日本| 夜夜爽爽夜夜精品视频| 国产日比| 人人摸人人舔一区二区| 国产91亚洲精品一区二区三区| 亚洲中文日韩欧美大香蕉视频| 新婚人妻扶着粗大强行坐下| 久9久| 91欧美经典| 一区二区三区欧美激情| 最新中文字幕av| 亚洲综合九九| 久久草草欧美精品| 性欧美| 国产精品一级片在线看| 啊啊啊久久久视频| 亚洲精品啪视频| 色第一页| 国产中文大片资源中文字幕| 日韩情色视频| sewuyueav| 人妻天堂综合网| 免费一二区| 亚洲精品一二区| 东京热熟女亚洲视频网站| 97亚洲精品| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 玖玖玖玖精品国产剧情| 欧美亚洲涩涩| 国产乱伦性爱AV| 超碰人人妻| 国产粉嫩蜜臀av一区二区三区 | 韩日精品四区| 国产精品操| 按摩中文字幕| 国产在线视视频有精品| 69XX一中文字幕人妻91| 久久综合久色欧美综合狠狠 | 大香蕉综合在线| 黄页视频网站野外| 午夜传煤十二区精品| 久久综合亚洲色1080p| 人妻 欧美亚洲| 啪啪视频mP4| 国产一区二区成人av在线播放| 久操在97| 蜜桃臀 后入 一区 二区 三区 在线| 91亚洲人| 夜夜欢天天干| 青青草综合在线| 久草精品国产蜜臀| 98一区二区精品| 欧洲久久一二线| 少妇激情AV| 欧亚成人在线视频| 欧美AB在线观看| 嫩草 人人网精品| 可以免费观看的日韩av毛片| 91美女在线观看| 啊v在线观看视频| KK色在线影院| 妇女乱色二区| 日韩精品国产一区二区| 一类无码操逼视频| 玖玖爱在线视频免费观看| 啊啊啊啊啊啊在线观看| 日韩免费中文字幕视频| 熟女人妻一区二区三区免费看| 日本熟妇色熟妇在线视频播放| 大香蕉在线视频15| 天美一二三在线观看Av| 欧美成人色| 都市激情人妻一区二区青青操视频| 亚洲18禁| 日韩精品第3页| 秋霞一区二区三区四区五区六区七区| 91女神在线视频| 天天日天天射天天干| 久久、1234| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 九九九九一区| 亚洲好看强奸乱伦| 成人免费视瓶| 久久久久久国产精品| 色五月婷婷五月天| 狠狠躁天天躁日日躁| 综合97久久| 丝袜美腿操av| 精品人妻一区| 国产精品小视频一区二区三区| 97色欧州| 日韩操啪| 亚洲无码AV九九九| 久久精品天美| 免费观看日本操逼视频| 成人网站 免费观看| 丁香五月婷婷五月| 亚洲免费精品一区| 麻豆AV96熟妇人妻| 欧美夜夜草视频| 色色网91| 91蜜臀在线久久久久| 日本免费一区二区不卡 | 久久精品人人做人人看| 曰韩欧美国产传媒麻豆第一区| 九九自拍伦理| 日本操逼aaaaa| 国产激情在线观看| 干美女人妻| 精品久久久久久久| 日韩精品黄片免费观看| 无码一区二区三区四区五区六区七区八区九区十区视频 | 久久欧洲| 青娱乐淫乱1314| 人妻熟女午夜精品在线| 久久久久久人体| 国产熟女乱论| 蜜桃臀一区二区aV| 黄色av网站在线播放| 国产乱婷婷精品二区三区| 亚洲天堂精品日韩电影| 久久的网站啊啊啊啊啊| 中文字幕黄片在线| 天天夜夜久久| 国产性久久久| 国产丁香精品露脸视频| 极品五月天噜噜| 久操网无码在线| 狠操91,com| 在线性黄高清免费视频| 人人妻人人澡人人爽久久av| h在线看免费版在线看| 欧美精品系列| 日韩一级二级| 亚洲第一精品在线视频| 久久风骚城市| oumeizonghese,www| 太久视频| 肉动漫无遮挡h在线观看| 欧美在线官网| 五月天婷婷在线看 | 人妻干天天| 天天草AV| 青青草精品| 国产高清在线观看欧美| 精品一区99999| 成人电影一区| 日韩人妻一区二区| 亚洲色婷婷综合久久一区二区三区| 日韩性爱网址| 日本黄 R色 成 人网站| 美国黄片aaa| 美女好片色日本| 噜噜噜亚洲精品| 久久99亚洲精品久久99果| 人妻一二三区| 九九精品无码专区免费| 亚洲牲交| 91色色网站| 欧美天天综合站| 天天内射| 亚州综合图片| 精品一区二区三区四区外站| 97欧美性爱| 日本不卡在线二区三区| 看日韩黄片| 免费AV中文网在线观看| 高清国产精品福利网站| 欧美日韩色| 青青草无码视频| 精彩久久中文| 美欧色综合| 校园春色 亚洲| 美日韩一二三区| 国产精品呦一区二区三区| 久久 国产 无码| 久久亚州精品成人Av无| 99老司机精品视频在线观看| 网站A V在线| 免费的很黄很污的全部视频| 亚洲欧美精品福利在线| 一区二区三区四区色图| 淮穴色AV| 男人天堂网手机版婷婷| 亚洲中文字幕精品一区| 亚洲啪啪视频一区二区| 操婷婷逼| 欧洲无码一区二区| 天天舔日美女视频| 欧美一级A片不卡视频。| 欧美精品xxxwww| 综合久久中文字幕综合日韩精品| 99无码精品| 91美女视频在线| 久久久精| 家庭乱伦麻豆| 麻豆国产96在线| 日韩精品国模| 天天弄天天操| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 好爽免费视频,| 91青青在线| 欧美日韩国产中文精品字幕自在自线 | 天堂岛av| 91操熟妇| 伊人女女资源在线观看| 超碰97男人| 亚洲色图亚洲无码强奸乱伦| 国产免费大片| 亚洲色图一区二区三区| 91天天日| 欧美传媒| 亚洲精品国产av天美传媒| 欧美性爽xyxOOOO| 成人电影一区| 日韩国产九九精品一区二区三区毛片| 免费中文在线| 天美传媒麻豆一区二区三区国产精| 欧美色97| 偷拍 亚洲| 淫淫综合网| 99综合免费视频| 男人下部插入女人下部| 奶水 人妻 哺乳 在线| 小泽玛利亚一二三| 亚洲精品97久久| 97在线免费看| 精品丝袜无码一区二区三APP| 狠狠做深爱婷婷久久二区| 综合久久久久久久久91| 久久精品一区| jk白丝没脱就开始啪啪| 日韩成人小视频| 久久久久骚| av毛片aaaaa免费看| 天天日天天插| 欧美亚洲色图另类国产| 91美女视频电影| 色色色999| 人人玩人人添人人澡免费| 日韩性色| 91伊人久久在线| 黄片无码在线制服| 亚欧美色| 91无码人妻精品一区二区三区蜜桃 | 国产精品成人无码a v毛片| 欧美九九九九九| 97精品国产手机| 吻戏激情性巴克| 欧美精品69性爱| 97国产精品一区| 超碰98综合网| 96精品在线| 99久久精品无码一区二区毛片免费| 熟女熟妇伦久久影院毛片一区二区| av网站免费线看| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 91性感网站| 青青草中文-久久青草精品一区二区三| 国产A v无码专区| 十八禁啪啪视频| 国产成人在线观看网址| 亚洲极品| 成人精品久久| 97chaopengongkai| 蜜桃臀AV在线| 亚洲区 欧美区| 国产精品日日摸天天碰| 99999亚洲另类| daxiangjiao你懂的| 午夜成人福利影视| 99只有精品| 色悠久久久av| 综合久久97| 富女玩鸭子一级毛片| 午夜精品久久一区二区| 亚洲欧美成人网站AAA| 午夜性生活av免费在线看| 亚洲色欲天天天堂色欲网女| 欧美十八禁视频| 9国产超碰| 性做久久久久久免费观看软件| 欧洲熟妇xxXx欧美老妇裸体| 久久久久国产无av| 色婷婷蜜臀av| 超碰9 7女人| 国产91福利小视频在线观看| 日韩亚洲国产视频| 成人综合色网| 91精品婷婷国产综合久久竹菊| 久久色一区二区| AV色五月| 日本高清一区二区在线| 熟女突然公开看18禁影片| 日本熟妇人妻中出视频| 亚洲精品一区二区三区新线路| 成年人免费观看网站| 亚洲av噜噜噜噜噜噜| 一区二区三区四区免费视频| 亚洲男人天堂网久久| 欧美激情黑人| 欧美日韩大黄片| 欧美日韩亚洲一区二区在线观看| 热久久精品| 日本 情色 1区| 人人妻人人狠人人| 九九九九一级| 多乙久久久久久| 日本三级小说中文字幕| a片 xxxx受爽视频| 亚洲少妇喷视频看| 亚洲欧美成人网站AAA| 色五月综合| 另类图片五月天| 久青草影院| 国产三级片在线观看| 手机看片1024你懂的国产| 久久嫩草国产成人一区| 青娱乐欧美激情一区二区| 91爱看| a级成人毛片免费视频高清| 成人女人国产| 亚洲第一在线视频| 中文一区二区三区影院| 精品乱子一区二区三区99| 亚洲男人久久综合天堂| 影音先锋一区二区在线资源| 深夜国产一区二区三区在线看| 啊啊啊操死我了| 99在线精品视频| 国产h小视频在线观看免费| 欧美午夜视频| 亚洲AV无码国产精品久久久久| 欧美综合色综合| 国产精品亚洲一区二区三区四区| 91蜜桃传媒精品久久久一区二区| 中文字幕乱码人妻一区二区三区,99精品 | 亚洲第一综合| 色色网91| 日本一级特级毛片视频| 少妇大屁屁| 91激情综合| 中文字幕黑人大片| 少妇高潮特黄A片| 俞拍久久国应视频| 婷婷久草| 丁香婷婷啪啪| 色乱二区| blacked精品一区国产| 日韩无码服务区| 国模不卡一本二本三电影| 玖玖婷婷五月天| 中文自拍欧美影视| 中国AAAAAA黄色片| 色哟哟1区2区| 自拍亚洲综合| 麻豆精品A片免费观看| 日本精品一区三区| 色色色色网站| 91精品国产高清久久久久久,亚洲成人| 亚洲av综合伊人久久| 国产精品播放| 伊人国产成人av网站| 婷婷爽人人婷婷爽视频| 91少妇高潮| 999久久芭蕾| 农村少妇久久久久久久| 欧美色97| 嫩草美女久久| 人看人人摸人人操| 欧美日韩香蕉| 天天色播亚洲综合网站| 激情五月综合网| 超AV色女| 超碰97久久观看| 美女91在线观看| 中文字幕无码不卡啪啪| 伊人宅男大香蕉| 久久精品 六十路 熟女 欧美| AV一起草在线| 91在线视频免费播放| 人人看人人摸人人色| 五月天激情网图片| 六月婷婷一区二区三区| 97se综合| 五十路一区无码| 日韩欧美一级特黄大片| 狼人综合婷婷激情四射 | 女人天堂av在线播放| 青青草原香蕉日本Ap| 妇女性内射冈站HDWWWCOM| AV无码久久久精品| 成人看片网站| 2019亚洲男人天堂| 91色人妻| 亚洲美女精品| 熟女久久| 成年女人18级毛片毛片免费观看| 老师充足的奶水小说| 久草在| 97综合网| 久视频在线观看| 91亚洲综合在线| 蜜乳av首页| 老鸭窝黄色视频网站| 中文字幕一区二区三区字幕| 九一综合精品视品av| 天操天操夜操夜月操月年年操操| 国产AV毛片| 先锋音影AV| av网页一区二区三区| 骚熟女吞| 日韩乱伦视频| 一级免费精品| 国产 亚洲 丝袜 制服| 加勒比AV天堂| 亚洲综合欧美| 色偷综合| 超碰人人干| 啊啊啊水好多| 无码色| TS人妖另类精品视频系列| 亚洲色堂免费视频| 超清福利精品视频在线| 久草精品国产蜜臀| 国产AV久久久蜜爱影集| 97超碰色色| 欧美白嫩女HD| 欧美日韩操逼动图| AV乱伦国产| 九热大香蕉| 青青草国产亚洲精品久久| 亚洲有码视频二区| 99精品网站| 免费久久一级毛片大黄| 精吧天堂| 久久黄黄| 六月丁香久久| 伊人黄色片| 五月天精品| 色欧美天天| 久久五月天婷婷丁香中文字幕| 国内毛片四区| 久久国产99精品72福利| 日本色色色视频| 国产偷拍网站| 91情色在线| 日韩淫色网| 久久黄色网址| 色月天AV导航| 欧美天天拍| 91丨九色丨国产打屁股| 试看60秒 爽| 九九热av| 奇米四色网| 午夜操操操| 亚洲区限制级 99| 精品免费1| 亚洲国产综合久久久性感熟妇| 天天综合色| 97天天爽| julia中文字幕在线观看| 色婷婷在线视频精品导航| 青青草操逼逼视频| www.国产高潮精品| 八人操人人摸人人看| 久久av无码| 天天天干977| K8久久久久| 96精品久久久| 成人免费性爱视视| 人妻少妇被猛烈进入中| 色婷婷av在线观看| 99久久com免费视频′| 国产树林里野战在线看| 中亚精品极乱| 中字一区| 一级性爱视频免费观看| 一区二区三区国产在线播放| 亚洲自拍偷拍视频在线 | 亚洲精品尤物yw在线影院| 人人摸人人添人人操 | 亚洲性爱高潮影院| 另类欧美| 欧美特大AA级黄片| 丁香六月综合激情| 国模限制级电影| 好一吊区二区| 日本影视久久免费| 青娱乐国产精品| 91色鬼| 天堂网亚洲区手机版| 亚欧高清| 狠狠激情综合狠狠操中文字幕| 91网亚洲| 午夜.DJ高清在线观看免费7| 乱伦系列一区二区| 欧美性爱一区| 1769国内精品视频| 91在线视频免费中出| 99后入| 性在久久久久久| 东京成人一区| 亚欧免费| 青草视频人妻在线观看| 久久精品国产亚洲AV无码做| 久久欧洲| 欧美翘臀视频网站一区二区三区| 婷婷久久久| 欧综合网| 天天弄欧美| 中文字幕丰满子伦无码专区在线视频最新| 91精品大奶人妻| 美中韩AV综合网| 亚洲三级网址久久最新| 久久久久亚洲三级电影| 天天干人妻| 国产探花日韩援交| 中文高清一区二区的| 超碰天天去日穴| 福利在线观看一区二区| 免费97视频| 五月丁香六月| 四色永久成人网站| 激情四射婷婷六月天| 99自拍视频在线| 欧美不卡五十路| 亚洲情色在线| 福利在线黄片| 无码不卡亚洲成?人片| 激情综合网一盗摄| 日本不卡高清视频| 黑人娇小av在线播放 | 99热 按摩 日韩| 91丨九色丨国产打屁股| 91操熟女| 青青草原伊人网| 抽查国产福利主播| 噜噜噜狠狠色综合| 免费AV中文网在线观看| 欧美日韩222| 国产精品三级视频网站| 精品一区二区国产日韩| 色妺妺AⅤ| 综合网亚洲1| 中文字幕伊人| 色九九九| 欧美天天插| 亚洲乱码国产乱码精网站| 黄色大片免费在线| 欧美18老人禁| 一级乱伦网站| 青青草AV色| 精品乱码久久久久| 欧美丝袜中文字幕07在线| 久久99草| 国产精品999zyz| 91撸色网 玖玖网 欧美| 大香蕉日亚洲日本亚大 | 国产嫩草精品A88AV| 久久久久久亚洲精品中文字幕人妻| 东京热一区二区中文字幕| 白丝少妇一区二区| 人妻乱仑一区二区三区| 91一区二区三区蜜桃| 99久在线精品99re8蜜桃| 97超色| 白 大 人妻 区 在线| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 一本道综合色图| 亚洲少妇中文字幕网址| 国产免费操逼| 婷婷午夜成人色中色| 国产日韩欧美中文在线播放| 岛国黄| 欧洲色综合| 少妇九九九九| 97天堂| 四虎在线视频| 东京热熟女亚洲视频网站| 日韩欧美久久婷婷网站| 蜜臀网址在线| 大色综合| 小视频国产| 国产精品一二三在线看| 亚洲操人| 伊人91| 久久久久久久六六| 久草午夜| 国产亚洲色婷婷久久99精品91葵花宝典| 男男H黄动漫啪啪无遮挡网站| 97色色色| 9 9无尺码天堂网| 中文字幕97| 亚洲天堂7777| 色婷婷综合久久中文字幕雪峰| 香蕉一区二区三区在线视频| 97超色| 国产乱伦视频污| 免费在线黄片视频| 精品久久久无码| 中文字幕成人乱码熟女精品国50| 中文字幕五月婷婷免费| 91操人视频| 91处女在线视频| 日本操逼无码| av天堂影视中文在字幕在线中文| 久久久精品,3| 国产无套粉嫩白浆在| 国产精品乱人伊人网| 大色综合| 中文字幕一区 二区三四五 区日 日骚| 欧美激情久久久久| 亚洲一区二区三区中文字幕| 秋霞午夜视频一区二区| 国产91福利小视频在线观看| 曰韩欧美国产传媒麻豆第一区| 欧美激情 亚洲色图| 一区二区娱乐网站| 亚洲人久久久久日| 久久天天摸| 无码天堂| 91老熟女91老女人| 久热久| 丰满人妻一区二区三区免费| 插入综合网| 综合久久97| 日韩精品人妻中文字有码在线| 天天草夜夜草高潮片| 久久人妻少妇| 日日日啊啊啊| 亚洲四虎熟女精品| 五月天伊人网| 国产情色第一第二页在线观看| 欧美十八禁在线看| 亚洲一区二区在线观看91| 天天天天天天天天综合| 久久亚洲精品成人av| 国产精品熟女AV中文字幕在线播放| 欧美一级特黄淫片在线观看| 午夜男人的天堂| 99re黄| 天天情欲宗合网| 99精品在线| 天天操人人操狠狠插| 中文字幕一区二区无码成人| 欧美一区二区日韩传媒搭讪精品| 97美日韩视频| 自拍第一页| 爽爽爽免费视频| 国产av白丝| 午夜黄色免费在线观看| 成人a级高清视频在线观看| 男人天堂东京热| 国产精品一二三| 狠狠图片青青草| 成人老鸭窝人人在线视频| 9999免费精彩视频| 日本一区二区三区四区免费观看| se吧提供91精品国产91久久久久久 | 国产欧美日韩在线观看麻豆传媒公司| 久久受www免费人成| 啊啊啊操死我| 97爱爱爱| 蜜乳视频网站| 老熟女搡BBBB搡BBBB视频| 亚洲色图综合| 91丨人妻丨国产丨丝袜| 色五月AV| 熟女这里只有精品6| 日产操逼| 伊人麻豆传媒| 男人的天堂com| 欧美高清在线| 亚洲丝袜少妇在线| 97色综合中文网| 欧美少妇色图| 一本色道久久综合精品婷婷| 色路综合| 日韩有码 一区二区三区| 国产自制av蜜乳| 亚洲h片在线免费观看| 日日碰狠狠添天天爽超| 精品久久視頻在线| 免费成人在线熟妇网| 欧美不在线| 国产日韩欧美操逼视频| 久久香蕉影院| 99r九九| 91天美免费| 欧美综合网| 午夜AV人气不卡| 久久极品伊人| 久久熟女久| 日日A∨| 黄色视频高清无码网站| 亚洲少妇综合在线播放| 一区二区三区日韩欧美| 欧美精品亚洲精品日韩传电影| 色图四区| 亚洲综合激情五月久久| 一区 欧美 日韩 麻豆| 国产精品96久久久久久| 人妻aa| 麻豆国产成人精品| 国产成人91一区二区三区| 国产一区二区三区影片| 男人的天堂在线| 成人性爱免费播放| 探花激情视频| 久久网亚洲| 中文欧丝袜诱惑| 人人看人人爰人人操| 色妺妺在线视频| 人妻人久久精品中文字幕| 日日躁夜夜躁狠狠躁超爽| 日韩精品人妻一| 死我十八禁| 91黑人无码激情在线| 色婷婷日韩精品一区二区三区| 欧美日韩性爱视屏免费看了| 女人天堂网| 欧美在线视频99| 国产精品96| 中文字幕一区二区三区视频播放| 人妻无码一区二区三区久久99| 日本操逼视频不卡直接放| 熟女网站最新| 日韩中文字幕国产| 热G综合热G中文| 久操综合在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 骚逼自拍99| 丁香五月天视频| 东北女人| 成人贴图日韩欧美| 在线观看不卡一区二区三区| 精品久久久九九九孕妇| 国产中文字幕在线点播| 97亚洲综合在线| 97 亚洲 日韩 欧美 在线| 9国产超碰| 一区二区视频在看| 99热精品国产| 久久久久密| 欧亚在线视频| 亚洲精美粉嫩嫩泬在线观看 | 亚州日韩97| 国产日本熟女顶级一区二区三区视频| 色婷婷激一区二区三区 | 亚洲欧美清纯| 9999亚洲精品| 日韩天天本| 丰满人妻一区二区三区四| 久久婷婷五月综合| 密乳无码| 国产精品一区二区三区四区五区| 97爱爱官网| 大乔未久88一区| 亚洲区限制级| 国产在线76页| 精品人人| 欧美大码在线视频| 久久久久久久久久久人妻| 欧洲天天在线| 久久这里都是精品| 亚洲中文字幕乱码无码一区二区 | 97av在线视频| 成人5码视频| 亚洲免费成人在线高清无码视频 | 国产大片精久久久久久| 久久一二三四五六七八九区区区 | 亚洲欧美精品91| 岛国AV一区二区电影| 美女淫穴| 人人妻人人操人人乐| 欧美 日韩 婷婷 五月| 日本免费一区二区不卡| 久久人妻一区二区三区高清| 天堂av最新电影网| 啊啊啊想要| 日本东京热加勒比久久| 黄色AV免费| 深田咏美亚洲精品福利社 | 中欧人妻丝袜中文字幕| 麻豆国产精品午夜视频| 国内自拍 日韩激情 99| 色五月首页| 亚洲欧美国产va在线| 秘书高跟黑色丝袜国产91在线| 欧美成年人性爱视频免费观看| 影音先锋乱| 国内精品不卡无毒99999| 97热视频在线观看| 偷拍2020| 眼镜人妻101.com| av一区二区三区 中文| 操人妻逼91| 99在线精品视频| 啪啪啪精品视频| 91色黑人少妇| 亚洲av国产av综合av卡| av资源在线播放天堂| 国产诱惑| 亚洲97成人在线观看| 玖色AV| 大逼色网站| 丁香五月激情五月| 久久禁| 丁香婷婷九月| 99这里都是精品| 精品人妻视频入口| 好吊妞转入那个网| 99热婷婷一区二区三| 亚洲最大无码中文字幕网站| 求求你操操我| 美女极品一区二区三区| 99国产精品久久久久久久成人热| 97色碰| 国产美女精品| 国产精品区在线12p| 欧美综合第一| 国产精品探花色| 欧洲精品久久| 伊人色综合网电影| 亚洲夜色在线| 欧美一二三级精品在线| 欧美天天综合站| 色欲蜜臀AV| 亚洲乱妇p22| 密臀视频一区二区三区| 精爱久久| 97天天摸天天爽| 国模精品一区二区三区苹果色戒 | 亚洲人久久久网| 91亚.色| 3PAV乱伦视频| 欧美在线l亚洲| 欧美黄片视频在线观看免费| 色噜噜狠狠色综无码久久合欧美| 久久熟女人| 久久婷婷综合国际产色怕| 天天综合中文字幕 91| 欧美日韩人妻少妇 一区二区三区| 天天躁日日躁XXXXYY| 国产精品人妻免费精品| 亚洲干B| 麻豆一区在线| 国产欧美美女免费观看视频| A片 AV一级在线播放观看免费| 撸无码不卡免费视频| 97视频新免费| 国产精品久久久久久久久久久久久久久久久久 | 在线精品福利免费播放| 91精品国产91久久青草| 诱惑网综合| 精品视频一区二区| 9久9久9久9久视频网站| 磁力99AV| 老司机久久| 欧美性,色九九| 欧美色图中文字幕| 99热只有这里有精品| 日亚韩精品视频二区三| 美国人人操人人操| 色天使亚洲综合在线观看| 蜜乳AV.COM| 激情抓乳插进去啪啪啪日韩| 天天摸夜夜添无码小视频| 无码人妻精品一区二区三区99不卡| 3PAV乱伦视频| 日韩在线欧美精品一区二区| 国产女s强制榨精视频| 无码人妻一区二区三区色欲aⅴ| 日本三级A片网站com| 日韩特级毛片免费观看全集| 国产又色又粗又黄又爽| 操逼视频国产无套| 色婷婷九月天天综合| 日本在线不卡一二区| 欧美一区二区情色| 蜜臀99999| 99热这里只有精品18| 亚洲国产美女久久久久| 97在线视频观看网站| 亚洲精品a人片在线观看视| 97超级久久强资源| 国产区91柔拿会所技师| 欧美黑人XXXⅩ高潮交| 亚洲天天精品| 亚洲在钱| 日本日逼高清| 6080yy午夜理论三级一区二区三区无码| 亚州成人A√| 欧美日韩亚洲少妇寂寞影院正在播放 | 哈哈操电影| 久久精品国产亚洲AV无码做| 日本天天操| 亚洲日韩av一区二区三区百合| 91无摭挡| 超碰人妻天天干| 99热97| 91女色| 久久露脸国产老熟女| 欧亚揄拍偷拍精品视频 | 亚洲精品精品一区二区| 白嫩妹子国产骚| 亚洲 欧美 偷拍 唯美| 丁香五月天堂网| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 久久99草| 久久久久久久国产视频| 97国产天堂岛| 无码一区免费在线不卡| 亚洲色久| 日本女人久久久| 伊人久久婷婷| 成人精品久久| 日本少妇va7777| 色欧美综合| 熟妇亚洲一区二区三区| 色图综合网| 日日日色色色色色| 去干网最新版| 日本成a人v网站在线观看| 日韩精品一区二区三区四虎影视| 91精品操美女| 亚洲色人妻综合| 亚洲?V无码专区在线电影| 日本中文字幕一区| 国产成人网址| 久久久精品91八戒| 亚洲少妇自拍中文字幕懂色| 熟女被操视频网址| 精品久久无码午夜福利| 夜夜嗨一区| 亚洲日本加勒比在线| 肏逼视频日本| 2020天天色综合| 99热超碰| 蜜乳Av成人片网站| 思思热一热婷婷热一热| 91四海无码日韩欧美| 欧美熟女激情| 欧美人人AAA| 欧美三级中文字幕hd| 久久国产熟女影院| 欧美97av| 亚洲色综网| 香港成人一级视频在线青青草| 色婷视频| 久久视频,这里只有精品| 国产动漫操逼视频| 太久视频|