日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
一本一首道人妻少妇免费久久| 国产三级多多影院2022国产AA一级毛片无码| 亚州精品丝袜-不卡成人免费| 精品国产乱码久久久久久久久久毛片| 乱伦3P视频| 婷婷丁香五月综合| 91欧美 | 学生妹天天看| 天天天天天超碰| 久久久久密臀一区二区| 美女裸体麻豆天美蜜桃91| 不卡在线一区,精品一区二区三区中| 色婷婷影视| 久热9| 亚洲精品丝袜-不卡成人免费……| 3p国产欧美99热| 无码视频黄色网战| 亚洲色婷婷| 国产精品久久久亚洲一区| 日韩AV一区二区三区四四| 91干熟女| 日本三级久| 在线看免费无码AV天堂的| 国产精品久久久| 亚洲黄网在哪免费看| 天堂国产AV| AAAA级日本片免费视频| 精品妇操一区二区三区| 亚洲四虎熟女精品| 国产精品久久久久久高清无码免费看 | 免费人成毛片乱码| 国产91 丝袜在线播放00-百度| 综合视频91| 日韩一区二区精彩视频| 亚洲精品天天影视综合网| 84YTCOM性无码| 中文字幕一区二区三区字幕| 午夜精品久久久久久久久久蜜桃| 日日碰狠狠添天天爽超| 无码少妇精品一区二区60岁老人| 少妇综合网| 最近2019中文字幕国语免费版| 91黑人无码激情在线| 日韩乱码Av| 中文幕97| 中文字幕,人妻,日韩| 天天干天天拍| 欧美人妖内射| 夜色AV无码手机在线影院| 超碰 97国产熟女| 91 天天综合| 中国乱伦一区二区| 加勒比av中文| 国产日韩欧美中文在线播放| 久久久不能久久久久| 亚洲国产中文字幕| 草草网站影院白丝内射| 欧美熟妇亚洲版| 搡老女人老妇女AAA一VU麻豆| 狠狠97| 成人看片网站| 黑人与人妻| 国产辣妈在线视频福利| 国产久久久9999| 精品人妻中文字幕高清| 性欧美精| 亚洲av国产av综合av卡| 加勒比AV网| 亚洲麻豆18发?| 青青草原狼av| 国产欧美日本亚洲精品| 四季av一区二区凹凸精品小说| 亚洲成?V人片在线观看福利| 国产精品制服丝袜清纯唯美| 日韩性爱小视频| 国产在线综合福利网站| 曰本人妻人人澡人人夹| 国产少妇与亚洲av| 91爱做| 91n免费处女| 欧美淫乱视频| 国产成年女黄特黄| 国产成人网址| 在线播放成人网站| 亚洲欧美日韩综合在线尤物| 欧美熟爽综合| 欧美热图99| 日产操逼| 狠狠色婷婷777| 精品一区二区三区蜜桃臀赵总 | 天天天做天天天爱天天天爽| 精品免费一区| 国产精品久久久久久无码红治院| 亚洲国产日韩欧美熟妇在线| 午夜激情床戏激情| 97se综合网| 97精品人妻一二三四| 亚洲色图欧美色图另类图片| 丁香六月婷婷| 91伊人久久在线| 97超碰日韩| 7777奇米影视久久| 韩日精品福利视频一区不卡在线免 | 97鸡把在线视频| 丰满人妻一区二区三区在线| 好一吊区二区| 中国一区二区亚洲人妻| 色综合久久88色综合久久天天| 国产91乱伦| 久久久草成人网站久久久草成人久久久草久久久 | 亚洲91大片| 99九九久久| A级在线视频| 狠狠躁天天躁日日躁| 亚洲色香| 日韩中文字幕国产| 高清不卡国产| 神马麻豆福利院| 在线免费观看日韩一区| 97在线欧洲| 97色碰| 人妻AV在线| 精品久久99| 加勒比海人人操超碰在线| 欧美黄片免费在线观看视频| 亚洲日产专区婷婷| 在线观看啊啊啊啊啊| 欧美日韩不卡a片| 亚洲s在线观看| 亚洲欧美97| 欧美激情亚洲情色| 国产精品久久久久久久久久梁医生| 日日碰狠狠添天天爽超| 蜜桃臀久久| 亚洲国产成人精品久久久国产成人一区二区 | 色色毛片| 97精品中文字幕| 天天射网| 欧美+日产+中文| 狠狠色综合网| 999综合网| 日本福利社| 色香伊人| 一区二区三区精品视频| 亚洲欧美91√| 五月激情影院| 精品中文日韩字幕视频| 97任你吞精| 舔舔啊| 秋霞曰韩R级| 日本精品九九九| 久久三| 日韩AV噜噜噜一区二区三区四区 | 亚州欧美另类| 国产 v乱码一区二| www久久久| 亚洲 欧美 色图| 久久久久13| 日韩欧美日韩| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 26uuu久久| 色99视频| 日韩亚洲欧美中文字幕| 欲女人妻性色av| 女人高潮大叫一级毛片| 欧美超碰97| 亚洲美女 晚间男人天堂 | 国产精品人妻免费精品| 97视频网站在线观看| 日韩性爱一级片| 9 9无尺码天堂网| 亚洲色欲天天人妻无码系列专区| 亚洲资源一区| 九九拍拍精品视频在线播放| 成 人 A V免费视频在线观看| 国产天天看| 日韩少妇一区二区三区| 欧美色图91| baiduhicn.com。| 日韩人成网站在线播放| 久久高潮妇女视频| 精品一国2| 亚洲第一综合| 久久久久久人妻一区精品色欧美| 九久久精| 亚拍在线| 国产精品一区二区黄片| 欧美精品99久久久**| 中精品一区二区三区| 国产suv精品一区二区四区999| 蜜臀AV午夜精品久| 人人妻人人爽一区二区三区| 2017天天透天天通天天擦| 婷婷综合视频| 开心五月深爱五月| 免费精品人妻一区二区三| 男人天堂最新手机版在线青青草| 激情五月天色播| 国产亚洲性生活视频播放| 素人伊尹大香蕉免费下载视频| 欧美久久九九| 狠狠亚洲| 神马久久69| 久久这里| 天天α片| 亚洲天天综合| 色九月婷婷| 亚州国产精品乱| 综合 青草 伊久久 影院 综合| 欧美 亚洲 综合 制服 另类| 欧美色院| 啪啪啪精品视频| 午夜超爽| 亚洲nv男人的天堂网| 亚洲精品国产av天美传媒| av 模特一区了| 中日韩免费看男女操逼大全| 啊啊啊com| 一区二区首页| 色网站导航大全| 欧美日综合| 超碰97在线色男人??| 久久久久亚洲三级电影| 91一区二区| 加勒比无码毛片| 日韩中文字幕在线视频观看| 亚洲日本韩国极品一区二区| 久久99国产综合精品女同| 精品日日人妻| 午夜福利久久久噜久噜久久综合| 风月影院十八禁| 国产精品美女久久久久AⅤ国产馆| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | Blackedraw视频一区二区| 日本日日色视频| 亚洲一区二区三区春色| 亚洲男人的天堂AV| 国产精品视频白浆免费| 青草综合| 大香蕉伊然在亚洲91| 日韩激情啪啪啪| 欧美日韩国产人人| 黄色乱论网站| 天天操天天插| 精品欧美不卡在线播放| 一二三四区电影| 日韩熟女精一区二区三区不卡| 亚洲av综合伊人久久| 蜜桃精品视频一区二区三区| 丁香五月影院| 五月丁香综合网| 天天色欧美| 后入式视频国产自| 欧美午夜色妇色鬼| 九热视频| 韩国一级做A片免费的| 另类图片综合| 国产精品伦理| 亚洲丝袜天堂| 伊人国产av| 91婷婷| 无码av永久免费专区网站| 日韩综合无码色欲vv| 日韩不卡网操逼中文字幕日韩| 成人国产精品三级A片| 人人搞人人插人人操| 青青久日| 亚洲色婷婷综合久久一区二区三区| 色网综合网| 国模限制级电影| 亚洲天堂中文字幕无码男同| 天堂8在线新版官网| 国产av又色又爽又黄| 日韩中文字幕国产| 一个国产在线综合网站| 久久91视频| 91丨熟女丨丰满熟女| 欧美一级特黄淫片在线观看| 丰满人妻av一区二区三区| 久久伊人亚洲AV无码网站| 伊色久人大在线| 美女高潮国产高清| 国产成人亚洲精品无| 在线A日本| 天天爽夜夜爽夜夜爽精| 亚洲麻豆18发?| 国精品一区二区三| 国产精品久久久无码aV去| 欧美天天性| 欧美一级在线观看成人| 亚洲成人激情小说视频| 青草草免费网站av| 一级性爱aaaa| 久偷拍| 116美女午夜| 偷拍五区| 国产亚洲精品美女久久久| AV在线性爱| 国产无马视频| 日日干夜夜操视频h| 青青草日韩免费观看高清在线| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚洲欧美日韩偷拍色图| 亚洲精美粉嫩嫩泬在线观看 | 欧美真人抽搐一进一出gif| 777AV电影| 综合久| 午夜情侣自拍网站| 九九九不卡| 国产欧美日本亚洲精品| 成人免费在线网站| 国产精品另类一区大香蕉| 夜夜爽夜夜高潮夜夜爽| 国产超碰| 亚洲欧美啪啪| 国产精品一二三在线看| 天天天堂影视日韩亚洲91| 久久色网| 日本久久久久久久久| 噜噜噜亚洲精| 丁香五月性| 超碰久久性爱| 日本成熟少妇A∨网站| 久久精品一区| 久久久精品一区二区| 亚州操逼图| 一区二区激情国产熟女 | 日日日日做夜夜夜夜做无码97| 天天舔天天日天天射| 美女高潮国产高清| 欧美一区二区三区日韩| AV麻豆免费一区| 91视频观看网站| 国产日韩无码一区二区三区久久区| 亚洲 欧美 中文 日韩超碰 | 亚洲污污网站| 亚洲经典啪啪| 91狠狠综| 色偷偷色偷偷欧美日韩| 国产精品青草综合久久| 精品一级毛片在线观看| 99青青草国产视频| 色婷婷影院| 成人久久久| 天天综合,91综合永久| 插入逼91| 久久人妻一区二区三区高清| 综合网,亚洲,欧美| 美女被艹尤物视频| 欧美aa一级片| 97啪啪| 亚洲天堂第一页| 黄片免费看黄片免费看| {男男暴菊gay无套网站| 超碰色中文| 亚欧国产无码精品在线| 秋霞网无码| 91N综合网| 蜜臀AV成人精品蜜臀| 操淫穴亚洲五月丁香 | 激情黄色五月天| 天天干美少妇一区| 夜间福利片1000无码| 91人妻在线视频| 日韩欧美中文字亚洲慕| 加勒比伊人综合| 欧美日韩淫加| 天天综合香 ld视频| 精品无码一区二区| 久久精彩视频9| 中文字幕日韩精品一区二区三区| 亚洲有薄码区日本系列中文字幕| 最新中文字幕在线亚洲| 国产区性爱在线视频秋霞豆| 国产无码久久高清| 影音先锋少妇| 99久久精品无码一区二区毛片免费| 天堂网亚洲区手机版| 色综合 加勒比| 伊人亚洲综合| 2020中文字幕在线观看| 亚洲精品97| 免费精品无码一级毛片牛牛影视 | 91老熟女视频| 日韩欧美aⅴ综合网站发布| 国产精品视频麻豆入口| 大香蕉丝袜一级片| 中文字幕视频2区| 激情图片亚洲色图| 精品久操| 亚洲精品一区二区精品| 狠狠穞A片一區二區三區| 五月天综合网| 欧美在线中M| 亚洲精品国产拍免费91在线| 无码粉嫩白虎一线天b区| 久久超碰com| 大香蕉中文网| 国产精品久久99日日| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 成人午夜高潮av猛片| 久久久久亚洲AV无码专区少妇| 国产精品999zyz| 欧美乱色| 欧美综合中文| 国产精品午夜高潮呻吟久久av| 色欲天天综合网| 日本淫穴在线| 狠狠操官网| 再深点灬舒服灬太大了添视频| 激情小说图片亚洲首页| 五十路熟女人妻一区二区三区四区五| 一区二区三区四区理论片| 婷婷探花久久精品一区| 日日玩天天干| 国产精品一二三区18| 精品蜜乳AV免费观看| 人妻啪| 天天搞在线综合网| 96久久精品一二三区色欲| 男女一级A片大黄,一进一出| 99精品在线| 亚洲.欧美.丝袜.中文.综合| 330Dv国产女人终合视频极品人与兽 | 一级毛片电影免费看| 先锋影音av先锋一区| 欧美偷拍区| 国产9 9在线 | 亚洲| 天天干天天燥| 婷婷在线视频| 国产偷仑| 久久久精精精| 亚洲αv一区二区三区| 92人人操人人| 日本精品一区三区| 女人的天堂大香蕉网| 2023天天操夜夜操| 色婷婷五月综合激情中文字幕| 色五月激情网| 免费看污网址| 好爽免费视频| 大香蕉丝袜一级片| 久操在97| 欧美在线91| 国产91精品福利在线| 久久欧美1卡2卡3| 亚洲日韩乱码中文无码蜜桃臀网站| 中文字幕激情小说| 操操逼视频| 九九内射在线| 老熟女阿 国产91| 在线有码中文字幕| 四虎AV在线观看| 91精品少妇搡搡搡| 九九干| 欧美一区二区在线资源| 少妇色欲综合网2| 欧美亚洲国产91在线| 婷婷五月天福利| 欧美色图在线视频少妇| 97在线精品观看视频| 久久久久久午夜男人的天堂| 2019亚洲男人天堂| 日韩在线性爱免费视频| 亚洲美女精品| 精品人妻一区二区三区视频在线| 性爱乱伦一区| 91爱欧美| 亚洲欧美日韩中文播放| 亚洲色图在线视频| 欧美九九九九九| 性爱av网站| 欧日韩在线观看| 国产偷人伦激情在线观看| 国产刺激视频| 人妻精品一区二区| 99综合免费视频| 丰满人妻一区二区中文| 成人激情无码在线视频| 亚洲日韩久久精品一区| 亚洲精品国产无码高清| 嗯嗯啊好大| 欧美日产国产在线成人第一区| 亚洲18禁| 乱伦色图网址是多少| 日韩传媒在线| 国产人妖视频一区在线观看| 久久精品电影| 黄片aaaaa一区| 亚洲风情综合网| 青娱乐日韩无码| 青青草原伊人网| 久久久九九网站| 999国产精品999久久久久久| 亚洲精品 大香蕉| 久久女人| 热久久这里只有精品| 黄页| 97 色综合| 国产高清1234区| 国产午夜精品在线观看| 色性综合| 91在线视频观看国产| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 午夜啊啊| 久久久亚洲精品电影免费看| 爱妃国产亚洲视频中文字幕| 色香伊人| 天美国产三级传媒| 色欲无码人妻日韩欧美精品| 国内成人圈中文字幕无码视频| 日本性爱少妇| 99re这里只有| 日本少妇va7777| 最新啪啪视频| 超碰97护士| 国产地址二三| 五月丁香激情综合| 激情小说图片亚洲首页| 国产欧美后入| 国产亚洲禁久一区二区| 亚洲97超碰| 欧美性,色九九| 久久亚洲AV成人精品无码| 99久在线精品99re8蜜桃| 欧美综合区| 69丨亚洲丨精品丨入口免费播放| 91午夜无码| 日本久久女同性恋视频| 丝袜高跟澳门91视频| 天天综合网站| 综合欧美日韩在线观看| 亚洲精品精品一区二区| 国产亚洲精品美女久久久m| 日韩色| 久久精品国产97欧美精品亚洲 | 亚洲AV在线资源| 人人么人人操| 大香蕉碰碰| 又粗又长又爽在线观看| 2020中文字幕在线观看| 亚洲情色综合网| 淫色网综合| 亚洲天堂7777| 久久成人国产精品| 美女91在线| 熟妇无码视频三区| 亚洲999综合| 日韩图区| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 婷婷中文网| 一级做a爰片性色毛片久久| 97久操| 欧美青青草视频| 丁香九月激情| 五月婷色| 女人高潮大叫一级毛片| 深夜激情无码| 国产精品无码av| 久久社区一区二区三区| 91AV入口| 青草综合| 国产真乱mangent| 美女诱惑一区| 国产精品 视频| 久久精品无码专区| 欧美亚洲系列| 亚洲熟女人妻中文字幕一区二区| 亚洲人妻久久久| 日韩无码精品综合久久| 97色97干| 97伊人超碰| 97最新在线播放视频| 性开放中文AV高清无码免费看| 激情小说日韩无码| 精品高潮| 亚洲精品黑丝| 天天干1区2区在线| 思思久热在线精品66| 色区97| 日本道人妻久久久在线不卡色视频| 懂色av中文字幕一区二区三区天美| 国产成自自拍在线观看| 精品无码久久久久| 精品婷婷| 国产探花日韩援交| 一类av片在线看| 97超碰欧美精品| 国产视频一区二区在线观看| 97资源超碰| 色哟哟-国产专区| 欧美色图亚洲特色| 操逼999| 人妻超碰青青草98| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 亚洲国产成人精品久久久国产成人一区二区三.| 操我无码| 亚洲人人夜夜澡人人爽| 久艹日日日| 99热婷婷一区二区三| 99久久婷婷丁香| 国产欧美日本亚洲精品 | 日韩欧美字幕亚洲一区二区| 久久久国产精品亚洲精品| 九九九九日本| 国产免费一区在线观看| 五月天婷婷小说| 神马久久中文字幕| 欧美91网| 国产女人和拘做爰视频| 97久久超碰| 黄色大片一区二区密桃丝袜| 天美传媒av在线| 天天躁日日躁狠狠狠躁| 999精品国产高清一区二区| 精品一区二区综合熟妇| 乱精品一区字幕二区| 欧美亚洲宗合色性图| 91成人精品| 国产一级操B视频| 98色网| 麻豆天美在线喷水AV| 亚洲图片91| 噜噜噜噜久久久精品免费| 日本成人A片网站| 96AV精品| 97久久超碰亚洲| 免费福利视频中文字幕| 伊人亚洲国产一成人久久精品,久久| 91高跟美女在线播放| 久久专区| 中文字幕黄色片| 亚洲AV永久无码精品成人调教| 歐美一級亂黃99在綫精品| 超碰在线第一页| 亚洲h片在线免费观看| 69人妻精品一区二区绯色| 天天综合精品| 67914亚洲精品| 国产精品久久久久久久久久梁医生| 操逼网站网站| 韩国一级做A片免费的| 欧美一二三区四五区| 欧洲亚洲少妇| 亚洲欧美激情在线视频| 99999这里都精品| 性色综合网| 国产成人精品亚洲日本| 国产精品视频在线播放| 91九色蝌蚪在线观看| 人人爱夜夜爱| 熟妇乱伦一区二区| 国产极品一区二区三区三州| 亚洲AV不卡在线观看尤物| 色在线视频导航| 新版天堂中文资源8在线| 亚洲精品1区| 综合操逼| 东北女人的毛片| 欧美日韩插逼视频| 91久久久视| 亚欧性爱无码| 97网址97| 一区在线精品中文字幕| 亚洲一级黄色毛片| 天天激情干| 亚洲欧美国产成人综合不卡| 天天上日日上日韩精品| 青娱乐国产盛宴视频| 色狠狠一区二区三区香蕉| 三级色影综合网| 亚洲欧美九九| 欧美视频一| 麻豆天美久久91| 蜜臀一区二区三区在线| 国产精品嫩草影院午夜两性| 五月婷婷大香蕉| 九九九久久久W精品| 色色色五月婷婷| 四虎在线视频| 色综合一区二区三巨| 日韩欧美操逼xxx| AV天堂电影网| 久久永久无码人妻视频| 51一区二区三区| 丁香五月电影| 综合亚洲欧美精品日韩?v| 丝袜AV一二三区| 精品小视频在线| 欧美999| 丁香六月激情| 久久成年片色大黄全免费网站| 91热情品| 中文字幕在线观看视频www| 先锋女优在线观看视频| 国产无遮挡| 永久免费发布性爱网| 午夜美女诱惑电源网| 中文字幕一区av| 亚洲?V无码专区在线电影| 密臀AV在线| 噜噜噜无码AV一级一级久久影院| 久久91| 中文字幕精品亚洲熟女| 殴美牲| 影音先锋国产精品| 大香蕉日韩| 99re8免费高清在线| 欧美做爰无码A片视频| 国产精品高潮久久久无码| 亚洲精品久久久久久| 69超碰综合| 在线观看日韩av不卡| 日本孕妇一区二区视频操逼免费看 | 日韩亚洲中文字幕在线| 妇女一区二区三区| 啊啊啊啊啊好舒服视频| 99青草| 日本午夜久久电影| 人人人摸人人| 色偷偷综合91久久噜噜| 操人妻逼91| 中文字幕第页| 色综合网1| 国产精品久久久久无码A√| 欧美一区二区| 午夜福利区| 台湾佬激情综合| 做爱A级亚欧| 91AV入口| 精品熟妇视频一区二区| 亚洲九九视频在线观看| 每日更新AV| 国产女s强制榨精视频| 超碰97COm中文| 校园春色美腿丝袜 | 中文字幕一区 二区三四五 区日 日骚| 亚洲成a人片在线观看中文!!!| 中文字幕一区二区免费在线| 2023天天操夜夜操| 国产精品人妻无码久久久老鸭窝| 天天日夜干| 校园春色综合网| 男人天堂欧美| 亚洲人成网站7777| 3571色综合一区二区二区| 妺妺跟我一起洗澡没忍住| 国产91精品福利在线| 中文字幕一区二区在线日韩精品| 人人操人人爽人人操人人| 9久9久| 亚洲第一男人天堂| 亚洲AV永久无码精品成人调教| 中国黄色特级精品一区二区三区片| 99综合网| 看一级黄色视频| 日本五十路熟女一区二区| 亚洲国产另类在线中文| 狠狠操狠狠操操| 秋霞Av理论一级在线| 秋霞 色色| 久热这里只有精品9| 日日躁狠狠躁天天躁精品| 欧美日韩亚洲少妇寂寞影院正在播放 | 亚洲欧美日韩偷拍色图| 精品九九| 日韩无码a片| 国产熟女乱论| 亚洲欧美精品一区天堂久久 | 久久久夜夜嗨免费视频| 性做久久久久久免费观看软件| 亚洲天堂无码| 岛国天天午夜影院传媒网| 九9热伊人| 97欧美性爱| 亚瑟国产精品久久无码| 精品欧美А∨无码黑人大荫蒂| 日韩激情中文字幕有码| 色婷婷影院| 午夜黄色免费在线观看| 天天干少妇| 99啪啪| 国产精品久久久久绯色| 欧美亚洲AN| 九九九九九九免费视频| 国产美女自拍AV| 中文字幕久热视频在线| 超碰成人免费| 后入福利| 欧美日韩性爱电影在线| 男人的天堂一区三区| 色女99一级片在线观看| 成年人黄色| 亚洲精品视频在线播放| 久久久99999久网站| 久久久久久免费电影| 日韩精品在线观看观看| 日韩精品亚洲专区在线影视| 开心五月婷婷激情| 无码9区| 青草伊人网| 做爱福利视频一区二区| 久操在97| 欧美亚洲91| 欧美日韩 强奸乱伦| 91视频国品一二三区| 久久婷婷亚洲欧| 青青草好吊色| 3PAV乱伦视频| 亚洲成?V人片在线观看福利| 天天综合日韩网| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 男人天堂2019| 强奸乱伦大香蕉| 丰满人妻-区二区三区免费| 九九九九精品一区| 久久成年片色大黄全免费网站| 高清国产av无码| 青娱乐手机日韩在线视频| 99热国产精品| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 国产美女91视频| 国产青青美女玩逼视频| 偷拍综合网| 4399成人黄A片| 亚洲AV在线资源| 亚洲蜜乳av| 青青草视频在线观看一区二区| 97亚洲色图| 粉嫩av在线一区二区| 亚洲素人网| 青娱乐福利99| 日本九九久久99播| 老熟乱一区二区三区四区| 91精品无码人妻系列| 骚女高跟AV在线| 伊色综合天堂色97| 久久超碰天天| 玖玖婷婷五月天| 天天综合站| 丝袜剧情| 欧美亚洲国产日本在线,久久精品国产| 八戒午夜福利理论片| 性色高清在线| 久久久久久久强迫| 久久久久久久久久久久久久久乱码| 91综合站| 久久超碰久| 麻豆色约约| 五月丁香色色网| 欧美日韩在线小说| 久操99| 少妇的嫩逼图片| 91色久| 欧美激情综合| 一二三啪啪专区| 99视频这有这里有精品| 青青11操操操操操操操操| 天天噜| 九一综合精品视品av| 日韩欧无码一区二区三区免费不卡| 999狠狠综合| 99色网| 欧美精品双插| 亚洲精品xxx| 亚洲女人毛茸茸91| 超碰91在线| 综合色一区三区二区| 91久久久视| 岛国毛片手机在线观看| 久久久精选| 另类图片五月| 亚洲成人免费中文字幕| 区一二区日韩亚洲乱码av电影| 99re公开精品免费视频| 另类图片五月天| 国产剧情一区在线观看| 女生看匆91网站| 久久少妇| 99激情视频| 日韩成人高清一区二区| 91天堂视频| 玖玖爱免费观看视频| 97超级久久| 家庭乱伦国产| 亚洲成a人v欧美综合天堂下载 | 亚洲棕合电彰| 亚洲影院无码在线| 大香蕉92| 日韩三级久久久| 91久久青青草原精品| 3571色综合一区二区二区| 五月亭亭六月丁香| 久久怡红院| 78操B| 国产怡红院在线| 国产玖玖| 国产最新小视频在线播放下载 | 97天天综合网| 国产人妻天天干精品| 蜜臀中文字幕| 色九九综合AV| 色九九九| 亚洲人人操| 最新中文字幕精品在线| 亚州Av天美传媒| 搡老女人老妇女老妇老熟女怎么读| 999精品国产高清一区二区| 九九热精品视频六| 干B| 男人的天堂2010| 综合免费无码中文| 97超碰站| 91制服丝袜| 韩国一级婬片A片AAAAA| 人妻色偷色噜| 性一级黄色录像片网站导航| 啊啊啊啊啊啊啊啊啊啊在线观看| 极品丝袜无码| 欧美一级做a爰片免费视频| 欧美黄片免费在线观看视频| 91丨人妻丨国产丨丝袜| 久久久久久无码人妻中文字幕| 色婷婷激一区二区三区| 91综合在线| 中文字幕人乱码中文字的预防方法| 欧美午夜精品久久久久久3D| 逼操网站| 亚洲精品九九九| 北野未奈加勒比av| 91精品国久久久久久无码| 亚洲欧美一区二区三区在钱蜜桃| 成人福利视频网| 一级黄色视频网| 人人操人人干xxx| 国产91精品在线免费| 男女啊啊啊啊啊| 骚日日av| Julia Annxxxxx| 好爽免费视频,| 丰满精品人妻少妇久久字幕| 国内91熟女人妻丝袜天天精品视频在线| 欧美日韩国产中文精品字幕自在自线| 第四色奇米影视777| 精品无码久久久久久久杏吧| 色香av| 亚洲人妻精品一区二区| 亚洲精品91| 久热热| 一中国女人毛片水真多| 老熟女阿 国产91| 99色热| 91丝袜美女视频| 日韩十八禁| 五月婷亚洲精品天堂| 超碰九7免费| 人人妻人人爱人人玩| 精品黄色电影| av黄图片在线观看| 中文字幕精品探花视频| 神马久久久久久| 欧美高清无码免费视频高清版| 成人26uuu| 97视频免费在线观看| 任你干在线视频| 色噜噜国产在线| 精品国产72| 女上位精品在线| 高精欧美色| 亚洲风情综合网| 欧美综合777| 麻豆91熟妇人妻中文字幕茄子| 91性情| 起碰97| 亚洲av综合伊人久久| 亚洲系列第一页| 精品高清一区二区三区三州| 亚洲AV永久无码一区仙野| 国产精品亚洲一级av第二区| 亚洲高清无码在线桃色| 国产九月婷婷| 秋霞男人网| 97在线播放| 97超碰日韩| 久久午夜鲁丝片| 一区二区影院| 长长久久曰曰夜夜成人网| 久久伊人在线五区| 有码免费观看| 久久综合女优| 91精品人妻一品二品三品| 女沟厕偷窥piss小便| 久草免费福利在线播放| 亚洲老熟妇xxx| 国产精品欧美激在线| 9Ⅰ超碰| 无码高清操逼网址| 久久久人妻| 免费看污网站| 天欧美在线| 超碰免费人妻人人| 熟女乱伦二区| 国产丝袜美腿美女麻豆| 99热精品在线观看| 蜜臀99久久精品久久久懂爱| 亚洲第一黄色av网站| 97干在线看| 黑人粗大V S日韩女优视频| 日韩av性爱在线播放| 日本久久女同性恋视频| 啊视频在线| 青青伊人加勒比海| 9I1性色影院| 久久鲁干| 开心六月色| 国产精品久久久亚洲第一牛牛_在线观看 | 中英熟女操女| ,成人免费啪啪视频| 色五月网址| 欧美精品久久| 国产精品久久久久久久电影渣男| 久久精品欧美一区蜜桃| 超碰在线1234区| 一级@啪啪视频| 婷婷五月综合在线| 九九九精品色乱九九九| 中文字幕精品一区二| 口爆综合网| 欧美丝袜美女电影一二三四区| 九九精品99| 99999精品视频| 久热精品在线| 搡老熟女老女人老熟妇免费视频| 成人综合网 欧美| 成人小说另类在线| 无码最新| 色偷偷色偷偷欧美日韩| 乱性AV| 久久婷色| 校园春色第一页| 亚洲熟女中文字幕在线| 亚洲 综合 第一页| 3028国产精品| 91劲爆| 人妻精品一区二区在线| 99热日| 天天操天天舔| 射欧美综合| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 日韩二级| 97超级久久| A V视频日本| 久久久九九九九| 97精品熟女少妇一区| 爆乳免费黄网站| 国产成人欧美精品在线| 91人妻超碰| 91国产操逼视频| 伊人网在线视频| 在线观看黄色电话| 久久久96精品| 色色综合网站| 色欧美综合| 一牛影视久久久一区二区三区| 天天操天天7| 国产福利精品最新在线 | 艳美熟妇先锋一二三区| 国产在线视频午夜精华在 | 国产在线精品电影观看| 中文字幕亚洲热播人妻| 一二区在线观看视频| 99人人干| 91 丝袜在线播放| 韩国一级做A片免费的| 九色97| 亚洲乱码精品一区二区| 日少妇亚洲版| 一级做a爰片久久毛片图片| 69综合网| 超97在线精品视频| 精品视频久久区| 天天爽人人综合免费7799| 91黑丝操| 亚洲91色| 九九英色视频| 无码抄逼网| 骚女天天综合网| 国产精品91ai| 黄色小视频日本txt| 大香蕉男人的天堂| 操逼啊啊啊91| 亚州一区二区| 久久婷婷在线观看视频| 欧美亚洲| 2017av无码免费无线播| 日本新免费二区三区| 色爱综合网| 久久青青草原免费视频| 91天堂丝袜美腿| 丰满少妇人妻久久久久久| 激情五月天插| 国产人妖的免费的视频| 99精品人人爽| 国产日逼视频| 综合五月天| 老师充足的奶水小说| 99视频自拍| 国产一区二区三三视频| av橘色网站| 国产夜夜操| 免费一级视频特黄色大片| 亚洲福利影院一区久久| 茄子社区国产精品| 97超碰无码网| 色婷网| 97在线免费观看视频| 长久操视频| 免费看污网站| 丁香五月性| 操我无码| 黑人精品XXX一区一二区| 欧美日韩制服| www.AV有限公司一区| 中文字幕黑人大片| 家庭乱伦国产| 午夜美女福利视频| www.人人摸在线视频| 欧美视频激情久久久久久| 日日狠狠久久偷偷色综合免费| 欧美1区二区三区公司 | 久久伊人东京热| 人人操天天爽| 91美女丝袜诱惑视频| 国产欧美日韩在线不卡第一页| 亚洲αv一区二区三区| 爱妃国产亚洲视频中文字幕| 亚洲影视综合| 在线五区| 色www精品视频在线观看| 精品亚洲俞拍视频一区| 成人影 天天操 亚洲| 五月综合激情网| 国产精品电影| 五月婷婷激情网| 久久五月综合| 日韩高清黄片| 精品国产一区二区三区香蕉欧美| se吧提供国产乱老熟视频胖女人| 97 色综合| 97综合| 日韩性爱啪啪视频| 国产91 丝袜在线播放| 欧美色道啊| 久久女同性恋一二区| 国产一区二区三区,在线观看观看 五月开心久久AV官网 | 久久女人一区二区三区| av国产无码| 婷婷久草| 日本在线不卡123| 亚洲操逼网|