国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

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
返回資訊列表
久久国产在线一区二区| 青青草一区二区三区四| 欧洲成人性爱视频| 97色碰| 亚洲吊色| 九九天堂| 色婷婷电影网| 国产AV超爽| 国产丝袜欧美在线视频| 久久久精品| 精品中文一区二区| 99re6国产精品99re| 国产精品网站免费| 日韩中文9| 啊好大好舒服| 丰满少妇高潮无码| 天美一二三在线观看Av| 久久一本大香蕉| 久久秀这里有精品| 屌逼传媒| 99国产在线绯色一区| 91五月天| 五月丁香综合| 亚洲激情四射| 大鸡巴久久久| 91在线综合网| 啊啊啊啊啊啊啊好爽不要| 爽爽淫人网| 五月丁香影院| 激情文学网伊人| 爱媛媛久久国产福利| 亚洲天堂人妻熟妇视频| 日韩av在线免费网站| 偷拍亚洲熟女视频播放| 国产成人自拍视频视频| 婷婷五月成人| 丁香五月偷拍| 天天干美少妇一区| 色老汉玖玖爱| 午夜精品久久久99| 色拍偷亚洲| 校园春色亚洲无码| 久久久久96| 日韩AV噜噜噜一区二区三区四区| 欧美第五页| 99精品无码| 久久成人精品| 九九九精品美女| 欧美第五页| 一本色道人妻久久| 久综合国内精品自在自线| 成人免费毛片| 99热网站| 亚洲永久永久永久永久一级一级一级精品| 熟啊v色欧美热| 欧美91久久久久| julia ann久久| 欧美线天码中字| 97超碰9| 人妻色偷色噜| 精品视频免费在线一区| 久久老子无码午夜伦不卡| 久9视频| 亚洲欲色9532548967一区| 97超碰逼| 97久久综合网| 欧美日韩另类在线播放| 欧亚在线视频| 国产夜夜艹| 亚洲91大片| 伊人嫩草| 久久无码一区二区二三区性色| 大黄片做爱的大的| 青青网三级视频| baiduhicn.com。| 少妇内射www在线观看视频| 日韩欧美天堂| 亚洲在线网站| 国产AV超爽| 丝袜美腿欧美| 加勒比av网| 天天看天天日| 五月天社区| 欧美97在线观看| 无码九九| 收看日本人日bb| 色色无码| 日韩欧美中文字| 91一区二匹| 亚洲一区二区三区不卡国产欧美| 日本超碰在线国产一区| 无码78| 青娱乐亚洲自拍| 爽爽淫人网| 欧美亚州色的图| 丝袜足交视频| 欧美拳交在线播放| 日韩兔费看黄片| 国产 v乱码一区二| 国产女主播视频在线观看| 新亚洲无码| 啪啪一区| 日本一卡二区在线| 无码免费精品高清| 日本一久是| 久久六六| 亚洲蜜臀懂色| 国产婷婷综合在线观看| 北京专精特新企业招聘信息| 亚洲色图欧美| 发朗少妇买婬全视频中文| 97欧美久久久久久久| 性久久久| 伊人性在线视频| 逼逼逼逼操操操操操操操操操午夜剧场| 五月丁香六月激情综合| 欧美精品系列| 久久国产精品一级二级三级| 久久午夜神马| 男人的天堂不卡一区二区| 九九九九97| 日本高清_区二区三区| 99精品热| 精品久久久久久中文| 丁香婷婷激情五月天无毒不卡| 91内射| 黑操B| 欧美性夜| 久操九九九九| 国内毛片国产欧美拍| 亚洲淫乱骚妇AV| 爽极品影院| 91处女视频在线观看| 人妻啪| 安徽熟妇视频| 亚洲成人免费中文字幕| 大香蕉2017| 激情五月天丁香| 蜜臀Av一区二区三区| 青青草天天亲夜夜操网| 黑人综合网| 老熟女91av| 操逼视频国产无套| 欧美在线第五页| 欧美亚洲中文字幕| 亚洲男人天堂网| 日本一区99| 午夜乱轮操逼视频免费看| 亚洲国内精品成人不卡| 中文字幕日本久久| 日本精品五区| 日韩精品一区二区人人人| 日本 成 人 小说 电影 一区二区| AAAA欧美日韩| 啊啊啊啊啊舒服| 色婷婷丁香五月天| 永久免费av无码网站国产app| 人妻内射一区二区在线视频| www.婷婷| 乱伦a片视频| 日日AAvv| 熟女欧美日韩综合婷婷| 日本精品成人无码| 嗯啊抽插大香蕉网页| 玖玖无码超碰| 天天综合网亚洲综合网| 色性荡荡荡荡视频| 欧美强奸乱| 狠狠爱大香蕉| 97超级色碰碰| 色娱乐色呦呦夜夜夜夜av| 人人透人人操| 欧美呦呦性爱| 久久啊啊| 91在线丝袜| 你草精品在线视频| 大香蕉宗合网在线| 欧美丰满熟妇XXXX性ppX人交| 亚洲欧洲av影音| 色网亚洲人| 午夜天堂精品久久| 91超碰人人| 婷婷五月激情综合| 强奸乱伦αv片| 天天看天天在线精品| 91熟女网| 日本孕妇一区二区视频操逼免费看 | 日韩性爱视频在线免费观看| 久久久日本电影| 国产蜜臀在线| 欧美丝袜亚洲| 骚货 中文字幕 av| 亚洲欧美日韩中文久久自慰| 99久久综合| 又大又黄国产| 日韩久久超碰色| 男人兔费天堂| 五月婷婷丁香| 激情五月天网| 精品超碰中文在线| 99国产天美| 91色噜噜狠狠| 亚熟在线| 学生妹天天看| 91久久久久久久| 欧美A√综合网| 日日干日日操五月天伦理视频| 大香樵伊人网| 亚洲精品久| 伊人97超碰| 亚州少妇| 国产丰满少妇久久久精品影院| 久久精品免费| 夜夜国产一区| 欧美 综合 亚洲| 久久久久久少妇| 久久成人午夜狠狠| 久久伊人影院| 久久综合九色综合欧洲98| 人人操人人色网| 无码不卡亚洲成?人片| 91东北熟女| 婷婷久久五月综合激情| 影音先锋少妇| 亚洲日韩成人性爱视频| 大鸡巴久久久| 成人青青草原伊人| 国产肏逼网站| 国产精品人妻熟女aⅴ| 超碰在线观看av不卡| 成人激情无码在线视频| 啊啊啊啊嗯嗯嗯用力好爽 | 操啊国产| 国产三级日产三级韩国三级| 亚洲色偷偷色噜噜狠狠99网| 99爱久久视频频| 日韩久久艹| 国产激情在线| 免费少妇一区二区| 国产高清无码一区二区三区四区皇冠| 99这里有精品视频| 天天做天天爱天天爽AV| 麻豆色约约| 一起草三级AV电影在线观看| 18禁免费视频| 一区二区三区日韩欧美 | 无套内射人妻在线播放| 丁香五月偷拍| 偷拍色图| 中文乱码字字幕在线第5页| 国产高清免费不卡av| 亚洲欧美国产日本一区二区三区| 99热导航| 亚洲综合20p| 高清无码 国产精品| 久久老子无码午夜伦不卡| 久久的网站啊啊啊啊啊| 加勒比久久av| 不卡一区二区日本视频| 黄色二级片网站| 国产精品一区二区麻豆| 日韩免费三级黄片电影| 久久人妻丝袜一区二区三| 天天干天天中出av| 性爱视频免费网址| 国产欧美伊人| 91综合在线| 五月色网| 安微少妇操BBB| 黄片视频观看| 丁香五月色| 超碰日韩美妻| 俄罗斯一区二区视频在线观看| 久久99久久99久久99人受| 日韩美女,国产传媒,视频一区| 一起草视频在线| 九九探花视频在线观看| 超碰97在线色男人??| a片自拍直播视频| 久草婷婷| 易易A毛视频| 高清在线偷拍自拍视频| 女上位精品在线| 草莓精品视频在线免费观看| 97天天操天天干| 亚洲色图亚洲| 久久9 9 9精品| 极品白嫩美少妇在地板上位骑射淫水泛滥| 人妻少妇久久久| 伊人精品久久网站| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 久久爱超碰网| 精品国产一区二区三区香蕉欧美| 久久伊人网视频一区二区三区| 丝袜综合网| 717影院理论午夜伦八戒| 久久 久久国内精品亚洲| 婷婷在线视频在线观看| 久久一区,青青青青草视频在线播放| 精品一区二区三区丰满熟女-亚洲欧美一区| 亚洲国产欧美中文永久| 91成人18| 性欧美天天| 日本精品中文字幕视频| 超碰综合色| 五十路六十路素人熟女| 亚洲综合情色| 99免费视频| 特污精品女优骚货黄色视频在线免费观看| 乱精品一区字幕二区| 国产免费内射视频| 精品四五区| 一级做受视频免费是看美女| 婷婷综合在线观看| 浪人综合网| 老熟妇一区二区三区| 久久人人看| 精品人妻一区二区三区不卡断| 五月婷视频| 视频一区二区免费在线| 久久99草| 欧洲熟妇xxXx欧美老妇裸体 | 亚洲国产欧美中日韩成人综合视频| 97超级色碰碰| 亚洲丝袜二区| 国产黄色视频久久| 久久机热| 亚洲综合113页| 高清国产成人无码| 欧美熟妇精品黑人巨大91| 偷拍网站久久男女男| 黄色av网站在线播放| 亚洲97网站| 日韩精品99999| 无码久久亚洲高清,| 国偷自 一区二区| 97国产精选| 麻豆啪啪啪视频| 欧美激情综合| 国产精品久久久久久久久久久久久久吹 | 日韩av女优在线免费一区| 欧美少妇人妻| 亚洲色图欧美色图综合| 极品内射| 亚洲 综合 欧美| 国产毛片久久久久久久| 九久9精品| 无码男人天堂| 奸色色 男人天堂 天天射| 日本羞羞的视频在线播放| 青青草男人天堂| 中文自拍欧美影视| 3PAV乱伦视频| 精品人妻视频一区二区在线播放| 超碰在线香蕉| 囯产精品久久久久久久久久二区三区 | 国产乱人伦AVA麻豆软件.| 猛猛干| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 一区二区三区四区姦女| 日韩熟女精品无码专区一区二区 | 啊a一区在线| 国产精品无套内谢| 欧美人人曰人人操人人射射| 亚洲丝袜诱惑| 久久久天堂| 日韩 欧美 国产 麻豆| 岛国小电影| 天天色播| AAA久久| 久久久久久国产无码精品| 翔田千里无码一区| 啪啪免费| 国产三级日产三级韩国三级| 久操网线| 婷婷久久大香蕉| 婷婷伊人网| 探花精品视频| oumeisetu综合| 国色天香av| 91色鬼| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 久久综合中文国产| 今日头条成人一区二区三区四虎精品| WWW.加勒比人妻一区不卡.com| 粉嫩AV一区夜夜嗨| 天天躁日日躁狠狠狠躁| 欧美日韩在线视频网站| 美女一区二区国产精品| 日韩精品 资源| 欧美中文字幕男人天堂久久精品 | 高精欧美色| 日韩999| 日韩久久超碰色| 一区二区播放| 天天色,天天干,天天干| 人人操天天爽| 九色黄站| 色色五月丁香| 日日干夜夜欢| www亚洲免费| 日本大片日本一区二区免费高清| 精品人妻一区二区三区夜夜| 曰韩中文人妻视频| 五月婷婷色| 欧洲大香蕉| 精品无码久久久久久久杏吧| 99视频只有精品| 欧美 亚洲 另类 综合| 蜜乳中文字幕a在线| 7月婷婷综合| 亚洲AV成人精品网站在AV| 超碰亚洲97| 欲香欲色| 欧美久久婷婷| 欧美日韩操操操| 欧美老妇综合网| 十八禁视频一区二区| 91视频国品一二三区| 91精品操美女| 96精品在线| 国产一级高清免费观看| 99亚洲天堂| 国产熟女二区| 蜜乳AV网址| 久久同城AV| 台湾成人无码AV| 少妇内射www在线观看视频| 成人av性爱电影在线观看| 大香蕉97久久| CCYY草草影院地址入口| 好看的91视频| 午夜精品久久久久久久99蜜桃一| 综合干干干av久久久综合网| 亚洲成a人v欧美综合天堂下载| 九九热精品视频在线观看| 亚洲诱惑天堂| 91亚·色| 国产亚洲精品美女久久久m| 伊人伊人LD| 成人八戒网站| 亚洲男人天堂AV| 蜜桃视频一区二区三区 | 激情久久av一区av二区av| 色综合一本| 色色97爱| 女人香蕉久久毛毛片精品| 亚洲欧美综合色| 色五月激情网| 九九无码视频| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 欧美最婬乱婬爆婬性视频 | 蜜臀AV一区二区三区激情综合| 免费?级毛片无码?∨蜜芽试看| 欧美性色欧美| 日韩BBN| 亚洲天堂日本| 美国久久一二三四| 97干天天| 亚洲亚洲亚洲天堂天堂 | 爱妃国产亚洲视频中文字幕| 精品午夜福利| 欧美黑人熟妇精品91| 超碰在线综合97| 人人操人人射人人干| 国产精品suv一区| 免费农村成人少妇人妻Aa一区二区视频| 综合色播| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 黄色激情电影在线观看| 日操粉逼逼| 91黑人无码激情在线| 婷婷久草一区二区三区| 日少妇亚洲版| 伊人久久蜜月| 亚洲风情综合网| 91精产一区二区三区| 操高情无码| 精品97久久| 日比av无码| 久久久91| 久久久久亚洲| 天天激情干| 国产精品久久久久久片| 温婉少妇玩3p| 九九成人| 99天天超碰| 欧美熟女逼久久久久久| 久久久久久九九九| 探花熟女,姿勢到位,體驗感也到位| 69精品久久久久中文字幕| 黄色网址久久精品欧美喷水| 亚洲91网。| 熟女熟妇一区二区三区视频| 欧美亚洲自拍另类人妻| 亚洲色综合| 97在线欧洲| 久草电影网| 久久久久久久伊人精品| 刺激性视频黄页| 香蕉精品二区二区| 国精精品无码一二三区水多多| 九九久久九九久久| 午夜经典| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 超碰97人妻在线| 久久综合99| 久久国产对白激情浪潮| 人人妻人人玩人人澡人人爽| 人妻另类 专区 欧美 制服| 五月婷婷爱六月丁香色| 日韩一级二级三级免费看完整版国语版 | 久久久久久精| 啪啪91| 大色综合| 老司机午夜福利视频一区二区| 最新的亚洲无吗| 91劲爆| 伊人久久艹| 久午视频| 亚洲中文电影| 九九aV| 久久香蕉国产线看观看亚洲女人 | 亚洲天堂性爱| 思思热久久成人| 欧美色图99| 中文字幕55555| 一级啊性爱在线视频| 亚洲少妇视频| 色综合20p| 久久99精品视频| 男同专区一区二区三区在线| 久久超碰大香蕉| 日人妻视频91| 视频二区美腿制服人妻欧美| 日韩三四五区| 一级AV性爱| 久久草视频污视频| 天天综合91在线| 亚洲欧美中文一区二区三| 欧洲色综合| 国产黄a三级三级三级av在线看| 激情熟女12P| 婷婷九月丁香| 亚洲伊人久久精品影院| 欧美 亚洲 制服 精品| 国产亚洲色婷婷久久99精品91葵花宝典 | 人妻嗯啊啊在线播放| 日韩免费在线视频观看| 少妇无码999| 久草在| 亚洲aw毛茸茸在线| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 色吧91| 九九这里只有精品| 欧美在线第五页| 午夜成人福利影视| 99re95| 99热导航| 无码人妻精品一区二区三区九九 | 大香蕉欧美伊| 久9久| 在线啊啊啊啊| 偷窥自拍亚洲色图| 久久熟妇五十路一区| 91丝袜美腿网站| 国产乱婷婷精品二区三区| 国产精品91一样| 神马福利久草| 天天做天天爱天天爽AV| 中国黑人三级片网站上区| 天天干2区3区| 大色综合| 五月丁香啪| 欧美日本成人一区二区| 97欧美日韩综合| 日本高清一本二本免费不卡| 一区二区三区 日韩欧美| 日韩在线性爱免费视频| 正在播放国产精品一区| 色狠狠综合噜一二三区| 五月婷亚洲精品天堂| 一级黄色影片| 少妇的嫩逼图片| 九九99精品视频在线观看| 五月天九九日国产精品一区二区三区| 天天草天天干天天日| 九九免费影片| 中国探花熟女| 97超碰欧美手机在线| 欧美精品1区2区3区| 国产第12页| 91社操逼| 99最新日韩偷拍视频| 操比国产| 女优大全 - 91n| 五月天伊人| 校园春色综合网| 天天干天天日天天射黄色片| 国产精品无码久久久久2028| 日韩综合97P| 91九色在线| 精品传媒在线一区| 家庭乱伦国产精品| 五月天开心网| 国产又黄又粗又猛大片| 亚洲视频一二区| 国产女人操逼视频| 亚洲视频精选| 久久亚洲天天做| 久9久9久9久9久9久9 | 精品熟妇视频一区二区| www.色99| 粉嫩av平台| 激情四射熟女丝袜| 六月丁香啪啪啪| 天天做天天爱夜夜爽毛片试看| a人欧美综合天堂麻豆| 中文字幕123| 性色综合网| 青青草在线视频人人想人人上| 99国产在线 精品 视频| 天天日天天干天天摸天天操| 黄片www视频免费| 精品视频在线观看| 综合色播| 美女啊啊啊啊啊| 一级免费啪啪片| 蘋果手機免費看成人Av| 操日韩第| 免费视频a级毛片免费视频| 天天拍夜夜| 久久久久久波多野吉衣高潮| 欧美性爱另类综合| 免费A片三p视频| 国产精品动态一区二区三区四四| 女人妻一区| 丝袜熟女一区二区三区| 日本中文熟女视频| 欧美日韩人妻精品系列一区二区三区| 人人综合| 国产成人亚洲精品自产在线| 精品亚洲国产成人精品| 秋霞网无码| 欧美亚洲天天| 老熟妇一区二区三区啪啪| 美欧色综合| 91美女视频电影| 日本九九久久99| 九九九国产| 久久露脸国产老熟女| 丝袜天堂| 肉嘟嘟www视频在线观看高清| 欧美第二页午夜| 日韩素人无码一区二区三区三州| 边做饭边操逼逼| 欧美日动态视频| 综合欧美亚洲| 91天天看| 黄色一区二区秘书性感| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 久操操| 一个人免费视频观看在线WWW| 午夜噜噜噜| 国产AV天美传媒一区二区三区 | 蜜桃狠狠色伊人亚洲综合 | 美欧老女人97| 台湾肥佬网一区二区三区| 伊人综合色网| 超91综合网| 屌色在线97视频| 一起草av| 久久黄黄| 久久亚洲影院一区二区| 日韩精品 资源| 人妻少妇精品一区二区三区| 五月丁香狠狠爱| 日本色色网| 99热最新网址| 五月激情小说| 亚洲一区深夜| 熟女丝袜视频| 内射中出日韩在线观看视频| 天堂资源欧美| 欧洲亚洲人妻无码中字久久三区四区| 久久夜嗨| 日本超碰97日韩精品人妻| 超碰人妻中文在线| 97精品在线| 亚洲好色人妻| 就去色综合| 另类欧美色| 又大又大又大又粗爽高潮观看| 97综合国产| 免费中文综合精品| 99老司机精品视频在线观看| 曰本人妻人人澡人人夹| 黄色一级视| 91综合在线| 91美女视屏| 蜜臀久久在线视频| 午夜无码熟妇丰满人妻| 人妻激情视频| 蜜臀久久99精品久久久| 91AV入口| 蜜臀精品1区2区| 中文字幕免费观看| 好爽免费视频,| 亚洲欧美国产精品久久久久久久| 97色综合中文网| 欧美极品美女aaaaaa级黄片| 岛国片在线播放| 国产 热久久久久国产精品| 韩国黄色片精品久久久| 日韩在线女优天天干| 天天日天天操VV| 亚洲欧美综合图片| 蜜臀99久久| 久久亚洲AV无码专区国产精品| 亚洲成人综合在线| 久久这里精品国产99丫e6| 久久99精品九九久久久婷婷| 欧美一区二区| 影音先锋每日最新资源在线观看| 强奸乱伦动态污图免费| 97亚洲性爱| 吊色| 亚洲中文字幕熟女| 另类一区| 欧美综合第一| 国产嫩草精品A88AV| 久久性爱视频免费看| 久久久久久久国产a∨| 天天日日舔舔| 五十路成人在线视频二区三区| 亚洲色图欧洲| 亚洲女毛多水多21P| 青青草日逼视频| 97超碰中文字幕| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 欧美日韩99| 9久久美女首页| 91国模| 91成人久久 | 91久久久久久| 97超碰超欧美。| V A在线| 五月丁香六月婷| 蜜桃视频一区二区三区| 国产精品99999| 国内精品久久久久影院亚洲| 大香蕉综合久久| 蜜臀99久久| 色婷婷激情| 一摸二插三插| 乱伦图一区| 岛国人妻少妇av在线观看| 中文字幕制服诱惑| 在线观看精品国产免费| 无码人妻精品一区二区三区九九| 日本影视久久免费| 天天干天天插| 久久蜜桃一区二区| 综合视频91| 麻豆成人影音在线| 中文字幕日韩电影人妻| 人妻夜夜爽天天爽麻豆三区网站 | 中文字幕啊啊啊在线观看视频| 欧美综合777| 日韩av电影成人在线| 日韩无码嘿咻黑热久| 日本大香蕉综合网| 狠狠色丁香| 男同专区一区二区三区在线| 婷婷视频网| 国产9熟妇视频网站| 国产麻豆一级精品视频| 超碰97导航| 九九探花视频在线观看| 欧美最大综合网| 秋霞免费AV| 欧美日韩系列| 97在线精品| 欧美碰碰综合色| 久久麻豆一区二区| 中文字幕后石码四区五区| oumeisetu综合| 久久精品一区二区三区四区五区| 粉嫩国产精品久久粉嫩| 亚洲九九九| 色哟哟-国产专区| www久久国产精品| AV在线资源| 欧美一区二区观看在线| 伊人四虎综合| 天天爽人人综合免费7799| 啊啊啊水好多| 香蕉99秘 精品一区丁香| 一中国女人毛片水真多| 东北女人| 国产小u女在线观看| 欧美综合色图网| 97久精品| 久久无码成人| 四虎精品亚洲| 色香阁在线| 8x福利精品第一福利视频导航| a片亚洲一本通视频| 日本国产欧美高清在线| 久久精品超碰| 欧亚第一综合网| 在线中文字幕极品av| JuliaAnnXXX888| 男人下部插入女人下部 | 国产品精品自在在线午夜免费| 久久伊人网视频一区二区三区| 大黄片做爱的大的| 中文字幕1区2区| 99999精品视频| 久久精品毛片免费不卡| 亚洲一区二区av| 天天摸夜夜摸| 亚洲欧美日韩精品久久久一区二区| 99少妇| 亚洲免费精品一区| 福利伊人玖玖国产| 日韩猛交| 久久久久大香青草精品综合| www.99热| 中文字幕亚洲热播人妻| 天美传媒AV在线| 夜精品久无码| 91oumei| 亚洲国产成人精品久久久国产成人一区二区三.| 91精品操美女| 亚洲欧洲无码97久久精品| 久久婷色| 多毛小伙内射老太婆| AV中亚| 懂色av中文字幕一区二区三区天美 | 国产精品不卡少妇白| 亚洲欧洲久久天堂| 国产欧美日韩在线观看麻豆传媒公司| 国产精品一区av在线| 97天天操| 一区二区播放| 夜夜国产一区| 亚洲春色激情小说| 熟女视频久久| 淫荡少妇免费| 色色毛片| 91美女小视频| 久久久免费高清中文视频| 久久超碰免费的| 韩国久久97| 欧美视频在线视频免费va| 亚洲一区二区久久久久| 午夜精品久久久| 精品一区二区三区18| 九九九九一级| 色综合1991| 人妻黑丝袜电影| 色婷婷成人综合| 超91综合网| 日本综合久久| 国产日本久久免费精品| 国产探花精品在线| 午夜福利一区二区影院| 亚洲天堂男人| 一起草在线视频| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 午夜精品人妻二区三区| 伊人991| 欧美午夜色妇色鬼| 成人精品电影| 亚洲精品久久久久久久久豆丁网| 激情五月天色播| 日韩av乱伦| aⅴ日韩成人电影av在线免费看av大全 | 人妻丰满熟妇av无码区蜜桃| 日本免费一区二区不卡| 亚洲 另类 丝袜 自拍 动漫| 区一二区日韩亚洲乱码av电影| 天天操天天射青青草| 国产欧美精品日韩区二区麻豆天美| www.zbzhongsen.com| 一区二区三区欧美激情| 日本精品不卡一二三区| 亚洲Av无码成人精品国产| 亚洲最大的综合性av| 成年人性爱日韩| 久久九九国产精品| 探花一区在线| 国产97色在线| 久热9| 免费视频无码| 亚洲91少妇| ss久久| 天天做天天爱天天爽AV| 亚州 综合 色图| 97精品97久久| 5252色欧美在线男人的天堂| 日韩三级av片| 2019天天干| 色网站导航大全| 尤物黄色在线观看网站| 亚洲国产成人精品无码专区| 中国亚洲呦女专区| 日本三级韩国三级99| 欧插网站| 一区二区三区无卡视频在线观看| 久久久禁| 一本大道青青| 亚洲牲交| 色天使亚洲综合在线观看| 屁屁影院一区二区三区国产| 日韩精品一区二区三区色欲| 色色无码| 日韩人妻无码精品系列| 91老熟女91老女人| 色97干| 国产9 9在线 | 亚洲| 亚洲色图欧美色图日韩色图| 亚洲aV性爱| 东北黄色电影| 好看的久久不射无码影视影院| 久久妇| 91成人无码| 另类小说综合网| 成年女人18级毛片毛片免费观看| 天天综合91在线| 欧美中字二区| 人妻91少妇| 乱伦一区二区三区‘| 97人人模人人爽人人| 人妻日日夜夜精品| 少妇久久久免费| 97久久久| 欧美强奸乱能| 亚洲 欧美 中文 日韩超碰| 麻豆国产成人精品| 男人精品区| 视频黄色国产一级| 亚洲夜色在线| 丝袜色综合| 亚洲精品久久久久毛片A片拉屎| 欧美操逼熟女| 精品夜夜澡人妻无码| 久欲AV| 国产精品一二三区18| 天天插天天操| 亚洲免费97免费| 久久久久久久性爱| 黄骗免费| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 亚洲第一精品在线视频| 激情五月天色播| 亚洲国产中文字幕| 中国操逼无码| 一区二区激情国产熟女| 亚洲熟女乱色一区二区三区久久久| 亚洲高清自拍| 欧美啪啪女女| 国产欧洲精品亚洲午夜拍精品| 日韩免费a级毛片无码a∨| 人妻99p| 久久人妇| 色婷婷六月丁香七月婷婷| 熟妇熟女视频一区二区三区| 超碰9 7女人| 密乳AV免费观看| 高清不卡视频| 欧美色图亚洲激情| 伊人婷婷五月天| 麻豆a'v电影| 多毛小伙内射老太婆| 天天做天天爱天天爽AV| 成年无码动漫av片无尽在线| 天天日天天操心| 亚洲国产97在线精品一区| 天堂无码精品国产久| 秋霞午夜视频一区二区| 18禁在线视频| 一区二区三区男女操逼黄色小电影| rion磁力链接| www.狠狠操| AV色女综合| 九九黄色网| 欧美综合色,www| 色色色欧美| 中国91AV| 欧美性爱五月天| 天堂网亚洲区手机版| 韩国一级婬片A片AAAAA| 激情文学小说一区二区 | 亚洲男人久久综合天堂| 亚洲一区二区三区麻豆传媒| 2023天天操夜夜操| 青青操97| 26uuu成人影片| 国产AV人人 夜夜人人澡| 成人AV超碰免费在线| 加勒比综合九九99视频在线播放| 老熟女乱伦一区| 久久鲁夜| 欧美大香蕉专区网| 9 1超碰九色| 狠狠色婷婷7777久| 青草成人免费视频一COm| 蜜桃成人1区2区3区| 欧美天天| 老汉网| 91足交| 欧美激情 一区| 中文字幕五区| 麻豆国产97在线| 国产白领连续中出在线播放| 亚洲欧洲精品视频发布| 久久久少妇诱惑精品视频| 国产成人网站在线观看| 天堂性色| 亚洲三级网址久久最新| 国产精品一级特黄aaa大片在线观看| 色踪合AV| 日产狠狠干| 日日干天天干夜夜爽| 亚洲天堂日本| 大香蕉综合| 色综合一本| 操91| 国产91美女高潮| 欧美的性爱网站免费| 超碰碰小说97| 先锋精品av色鲁| 一级人妻性爱视频| 91老熟女91老女人| 国产成人亚洲精品自产在线| 精品日韩人妻精品一二三区| 精品乱码在线观看| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 午夜福利精品| 啊啊啊好舒服视频| 试看福利| 五月激情综合网| 亚洲成aⅴ人片不卡无码| 99最新日韩偷拍视频| 玖玖97综合 | 狠狠操夜夜| 91少妇人妻| 欧洲精品网| 亚洲天堂区| 欧美激情另类一区二区| 91性情| 97丝袜亚洲在线播放| 91精品91久久久中77777| 国产美女自拍AV| 日日躁夜夜躁狠狠躁超爽| 亚洲蜜臀懂色| 五月丁香六月激情综合| 欧美丰满少妇xx高潮| 亚洲欧美日韩激情不卡| 亚洲天堂美臀在线| 99热这里只有精| 自拍偷拍2025在线观看| 色欲久久久久综合网| 亚州欧美在线| 97视频900| 久视频在线观看| 色婷婷香蕉| 天天操天天射天天日| 69一区二区三区| 99日视频在线免费| 四虎884a| 人妻夜夜爽天天爽麻豆三区网站| 亚洲欧洲国产综合av| 中文色综合| 欧美综合自拍| 91男女啊啊啊| 亚洲国产精品成人久久蜜臀| 亚洲国产成人高清在线| 欧美桃色网| 欧美亚洲日本激情在线| 操我啊啊啊啊啊| 啊啊啊啊啊啊好多水| 日本在线播放不卡一区| 人妻一区二区三区| 日本阿v天堂在线观看| 久都青青视频| 国产对白刺激视频| 91久久久老司机| 飘花国产午夜精品不卡| 亚洲情色婷婷五月天| 91少妇高潮| 久久精品国产亚洲AV成人直播| 1204av韩国| 国产在线综合福利网站| 97人肏| 伊人欧美大香蕉视频| www.99视频| 日韩欧美aⅴ综合网站发布| 好色综合| 欧美综合第一| 亚洲欧美在线观看免费| 富二代亚洲精品99| 久久精品熟妇丰满人妻99| 黑人精品成人一区二区三区| 秋霞福利网| 涩涩这里只有精品视频| 欧美AB在线| 亚洲熟女性高潮久久久| 亚洲国产ⅴ高清在线观看| 超碰在线人妻中文字幕| 午夜精品久久一区二区| 国产强奸乱伦第1页| 色悠久| 少妇综合网| 无码一区免费在线不卡| 午夜小电影在线插入淫高潮| 天天射夜夜操| AVE乱伦| 欧美性爱18观看| 久久久精品91八戒| 日韩国产欧美伦理在线| 天天色天天干天天射| 乱论91| www.av在线观看| 五月天激情小说| 欧美嫩性色| 久久精品一区| 久久99草| 亚洲九九视频| 欧美资源| 亚洲春色欧美激情自拍| 日韩国产欧美伦理在线| 国产午夜无码片在线观看影视 | 久久系列| 极品销魂美女一区二区| a片 xxxx受爽视频| 麻豆国产视频精品观看| 天天操天天干一区二区 | 99热婷婷| 天天肏美女| 久久久久七视频| 91美女国产在线| 91人妻熟女| 黄色激情电影在线观看| 亚洲色图亚洲无码强奸乱伦| 色婷婷影视| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 五月情色天| 探花熟女,姿勢到位,體驗感也到位| 顶级丝袜熟女一区二区三区| 色色婷婷五月天| 超碰色中文| 伊人在线大香蕉视频久久| 后入人妻无码| 日本视频在线中文字幕| 影音先锋视频在线| 亚洲综合在线视频| 国模不卡一本二本三电影|