日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
免费中文在线| 探花一区在线| 日本性感人妻91| 国产精品无码成人精品| 一区二区三区四区免费视频| 操屄不卡视频| 久草在| 91色s| 人妻丝袜一区二区三区在线| 欧美综合色,www| 思思性爱| 亚洲天堂少妇| 欧美极度丰满熟妇hd| 日韩情色AV| 啪啪91| 人妻少妇无码| 簧片免费看视频| 五月天久久婷婷亚洲| 日韩大香蕉AV影片| 99爱在线视频| 蜜臀av网址| 丝袜人妻av一区二区| 五月天婷婷成人网| 91综合色噜噜| 国产亚洲综合欧美一区| 蜜色网色哟哟| 91精品国产长腿丝袜美女| 97在线观看视频| 97摸视频| 欧美黄色手机在线观看| 91久操| 精品人妻一区二区三区视频在线| 伊人五月天| 操逼999| 免费精品无码一级毛片牛牛影视| 99丝袜福利在线播放| 亚洲午夜免费狠狠干| 日本韩欧美在线播放a| 欧美最大综合网| 手机在线观看不卡无码av| 伊人欧美大香蕉视频| 五月丁香婷婷综合| 午夜超爽| 免费精品AB| 日韩人妻操B| 国产一区二区在线播放量| 久久超碰免费的| 激情抓乳插进去啪啪啪日韩| 99re6在线视频播放免费精品| 猛交交| 天天干人人干天天日97| 午夜视频黄| nuu12国产麻豆精品| 亚洲91网。| 高清在线偷拍自拍视频| 13小男生GAY自慰脱裤子| 日本一级不卡一二区| 国产日韩精品suv| 国产suv精品一区| 91欧美长吊| 手机午夜电影神马久久| 三级色影综合网| 久草草一二三四区久久| 综合网亚| 九一精品牛牛一区二区| 麻豆久久精品亚洲精品88| 伊蕉97蜜桃97狠狠综合干| 德国一二三不卡| 亚洲第一综合| 嗯……啊…嗯嗯…啊…好舒服| 久久色情| 欧美三级免费伊人| 啊v视频在线观看| 国产亚洲精品自在线亚洲情侣| 国产精品999zyz| 色香欲影| 久综合国内精品自在自线| 欲香欲色综合天天伊人| 神马九九| 可以在线观看的黄色网址| 家庭乱伦国产精品| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 亚洲三级网址久久最新| 后入式五六区| 91国产操逼视频| 日本黄大片在线观看视频| 一区AV| 香伊人在线| 先锋色眉乱伦资源| www激情| 亚洲午夜AV| 人人操AV| 色综合一区二区三巨| 吉川爱美亚洲二区在线 | 黑丝少妇麻豆| 欧美性91| 性爱综合网| 精品999999| 国产又猛又粗又爽又黄| 亚洲欧美精品福利在线| 日日黄色三级网站| www.伪伪| 欧美亚州色的图| 97无码视频在线播放| 人人操人人摸人| 91色噜噜狠狠| 日韩 欧美 国产 麻豆| 黑丝91视频| 在线无码操| 强奸少妇AV导航网| 亚洲熟妇A V黑人| 日韩熟女操逼| 无码99| 国产青视频| 精品丰满熟妇人妻一区| 久久国内| 国产欧美日韩臀| 偷拍 欧美 日韩| 美女被艹尤物视频| 久久后入制服| 婷婷综合| 国产最火爆久久国产网站网站| 人妻久久久| 亚洲丝袜诱惑| 综合一区中亚洲国产成人综合精品 | 亚洲精品人妻吞精av| 最新中文字幕av| 操逼视频亚洲| 久9爱精品| 天天躁日日躁XXXXYY| 人人爽夜夜玩视频| 囯产乱伦一区二区三女 | 中文字幕在线免费观看2| 防屏蔽在线视频| 97超碰久久| 欧美中字二区| 国产精品青草综合久久| 在线亚洲 欧美 日本专区| 精品亚州18| 强奸国产在线| 污色区网站| 亚洲日韩久久精品一区| 激情五月天社区| 91少妇| 日韩无码久久熟女一级片| 啪啪啪东京| 日韩中文9| 蜜臀精品1区2区| 国产中文字幕曰本毛片| 91丨九色丨国产丨人妻在线| 97日视频| 丝袜狠狠草尤物人妻av91| 亚洲 自拍偷拍 欧美| 天天色综合影视网| 人妻在线中出视频| 日韩精品熟妇| 日本丝袜美腿人妻九九| 激情六月天| 九月丁香| 色嘟嘟人妻天堂网| 亚洲精品 大香蕉| 五月综合婷婷久久网站| 操逼操网| 欧美视频一区二区在线| 99久久精品无码一区二区| 91n欧美| 蜜臀99久| 欧美天天射| 亚洲高清综合网| 麻豆成人AV| 春色综合免费| 偷偷人人精品女女久久| 玖玖久久久| 欧美色图亚洲色,麻豆| 欧美三四五区| 国产又黄又爽| 欧美亚洲色图另类国产| 99久久婷婷国产综合| 探花一区在线| 免费视频在线观看啊啊啊啊啊| 日韩在线视频1234| 久久国产精品,久久国产| 日本三级日本三级99| 99久久久99久久91熟女| 99热超碰在线| 日韩AV中文字幕电影| 淫淫综合网| 友优传媒精品在线一区二区| 久久精品一区二区一8| 性爱视频无打码在线观看| 久久久久成人亚洲国产| 玖玖人人爱| 97中文天堂| 无码久| 97伊人| 国产一区二区a毛片| 婷婷伊人| 一起草视频在线| 色屁屁影院www国产| 噜噜噜无码AV一级一级久久影院| 日日日啊啊啊| 欧美—性—交—色| 亚洲黄色网址视频| 大香蕉综合网| 99在线精品视频| 狠狠色婷婷7777久| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 91超碰在线播放| 欧美第一页| 天天做天天爱夜夜爽毛片试看| 在线中文AV| 极品出轨视频网站| 在线岛国新天堂8| 成年女人一区| 操逼操2| 好一吊区二区| 青青草色情网站视频| 日本中文字幕熟妇| 欧美草草高清日韩视频| 亚洲图片欧洲图片aⅴ| 亚欧韩av| 东京热AV男人的天堂| 淮穴色AV| 操淫穴亚洲五月丁香| 美女操逼A A| 97人肏| 亚洲 日本 不卡| 99操逼| 久久久无码视频| 亚州精人品大香蕉| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 日韩免费中文字幕视频| 欧美在线色图| 97色综合中文网| 最新AVzaixian| 97人人夜| 久久亚洲人妻| 懂色AV一区二区三区| 国内毛片热久久思思热| 秘书高跟黑色丝袜国产91在线| 五月激情综合网| 国产精品欧美在线观看| 99热aaa| 亚欧高清v| 久久久免费高清中文视频| 97国产超碰| 97天天爽| 欧美毛片在线网| 一区二区三区欧美激情| 久久久精品视频免费观看| 秋霞一级A片黄色视频| 国产精品一区二区a| 啊v在线观看视频| 97露脸精品丝袜| 999综合色| 日韩精品系列| 九九九九免费| 成人亚欧免费视频| a网站免费观看| 亚洲欧美中文日韩视频中国语| 在线人人人人人人精品超 | 青青草白白色| 激情文学亚洲| 黑人白女精品一区| 久99热| 真实高潮91| 欧洲自拍第一页| 后入日本1234| 国产精品亚洲天堂网址| 色性综合| 亚洲素人综合| 国产精品ww久久| 久久性爱网站| 无码视频一区二区| 亚欧美色| 久久婷婷五月天| jiujiujiujingpin| A级毛片在线看免费| 五月综合色| 裸体美女久久久| 色香欲综合| 国产午夜无码片在线观看影视| 开心六月色| 青青草福利视频| 99操逼| 日本久久久精品电影| 色约约一区=区三区| 91久久午夜无码鲁丝片久久人妻| 欧美久久毛片基地| 人妻密肉在线观看| 国产亚洲在线| 囯产操逼片| 国产18精品亚洲精品| 国产人伦a片信息免费片| 夫妻天天操岛国视频| 成人久久久| 成年人网站在线免费观看| 亚洲国产福利视频| 久久只有精品| 激情网色| 夜夜爽33333| 97超碰jingpin| 欧美日韩大陆黑人少妇99| 国产操偷| 欧美性天天影视| 午夜毛片高清免费不卡| 亚洲精品欧洲色| 久久久久久久亚洲Av无码| 婷婷五月在线视频| 综合色欧美| 性色A∨91| 久久久久久久强迫| 国产动漫操逼视频| 天天日日本| 亚洲玖玖爱| 小视频国产| 色呦呦呦在线观看视频| 亚洲情色欧美| 青青11操操操操操操操操| 国内外色色色色色成人视频| 翔田千里AⅤHD无码| 老司机射| 十八禁电影伊人网| 影视综合无码少妇| 荡小穴在线观看| 欧美激情久久久久| 爽极品影院| 成视频在线观看免费看| 国产25页| 精品丝袜无码一区二区三APP| 色婷婷激情| 午夜精品人妻二区三区| 熟人人妻少妇精品久久| 国产家庭乱伦网址| 久久宗合亚洲| 激情视屏国产乱伦强奸| 欧美第五页| 日本操逼视频不卡直接放| 人人天天欧洲| 国产综合色精品在线观看| 99人人干| 国产精品国产精品国产| 五月久久HDAV| 国产自产一区视频在线| 中文日韩欧美熟| 久久成人东京热人妻| 亚洲第一视频 欧美风情 日韩| 国产一区自拍欧美日韩| 欧美在线伊人色| 在线视频 亚洲精品| 91美腿丝袜在线观看| 婷婷色色五月天| 久久二| 日韩三四五区| 久久久一区二区三区麻豆| 337p大胆噜噜噜噜噜91Av| 98超碰欧美| 另类专区在线观看| 亚洲av资源| 美女诱惑爱爱| 农村女一级毛卡片| 亚洲精品不卡一二三区| 亚洲少妇综合在线播放| 97精品97| 天天摸天天碰天天添青青| 午夜经典| 啊嗯嗯啊好大好爽| 国产精品小视频一区二区三区| 中文字幕一区二区三区人妻不卡| 久久一区无码| 国产精品视频白浆免费| 九九视频黄色片| 西西美女视频网| 无码天天操| 久久久久久久精| AV色女综合| 四虎AV影视国产精品亚洲精品| 成片免费播放| 操逼网免费无码视频| 2017av无码免费无线播| 色大师网站www永久网站视频| 婷婷综合| 一级做受视频免费是看美女| 91天美免费| 中文字幕人乱码中文字的预防方法 | 精品美女少妇一区二区| 日韩紧密久久| av天堂精品久久| 欧美色图综合| 欧美最婬乱婬爆婬牲视频| 清清草影| 91偷拍欧美亚洲| 狠狠色五月亚洲91| 国产成人99久久亚洲综合| 国产野战露脸在线播放| 人人看人人摸人人色| 91精品无码久久久久久久| 97超碰中文在线| 亚洲熟女诱惑| 高清国产精品福利网站| www.91理论| 99久久婷婷丁香| 黄片无码在线制服| www.色综合| 美女91在线观看| 综合久久99亚洲人妻中文在线| 九九久久九九久久| 久热精品色情| 蜜臀久久99精品久久久久久| 在线视频亚洲无码| 岛国免费黄色网址| 色色福利| 无码欧美有限公司| 熟女自慰久久久| 欧美一区二区情色| 超碰综合97在线| 又大又大又大又粗爽高潮观看| 日日操免费视频| V A在线| 老熟妇乱轮| 欧美日韩大香蕉| 亚洲第一成人影院色播| 久久国产三区| 欧美91丝袜| 午夜美女福利视频| 五月丁香六月婷综合成人综合| 欧美亚洲宗合色性图| 欧美色图下一页| 久热一区二区| 国产精品分类在线观看| 久久久久久欧美精品se一二三四| 偷拍超碰| 天天做天天爱| 五月综合久久| 91久久国产综合精品| 超碰97丝袜| 91精品无码人妻系列| 丁香五月影院| 久久岛国| 午夜精品五区| 欧美 日韩 婷婷 五月| 亚洲人久久久久日| 日本在线一二| 亚欧毛片基地国产毛片基地| 大稥蕉免费视频这里只有精品| 啊啊啊在线观看免费视频| 亚洲黄色| 99色悠悠| 亚洲网站一区二区在线| 国产女人91精品嗷嗷嗷嗷| 大香蕉 222| 8x福利精品第一福利视频导航| 五月天激情小说网| 亚洲欧洲日韩中文字幕一区| 亚洲最大无码中文字幕网站| 久久夜精品一区二区三区| 久久黄色视频一区二区三区| 伊人久久大香蕉线AV五月天| 亚洲国产成人精品久久久国产成人一区二区 | 超碰在线91| 717影院理论午夜伦八戒| 97人人色| 天天日B夜夜干B时时操B| 久久激情四射婷婷丁香五月天| 91粉芽高清在线一区二区| 免费精品无码一级毛片牛牛影视 | 久久一区二区三区入口| 北京美女一区二区| 婷婷丁香五月激情啪啪| 亚欧色图在线激情| 国产青青美女玩逼视频| 日本色婷婷| 久久只有精品| 国产风韵犹存熟妇三区| 男人的天堂2019AV| 另类小色呦| 麻豆天美在线| 色五月AV在线| 麻豆一区在线| 3571色综合一区二区二区| 国产成人精品必看| 久久九操在线观看| 亚洲成人精品久久久| 色综合天天| 超碰色图| 色777999综合| 超碰视97中文| 天天天乱色综合全| 日韩AV熟女乱伦| 秋霞一级A片黄色视频| 国语av狠狠色丁香婷婷综合激情| 高潮9999外国| xxx亚洲午夜天堂| 婷婷五月丁香五月| 国产黄片在线免费观看| 97超碰欧美手机在线| 久久国色天香香蕉| 欧美一二在线| 熟女在线视频| 刺激性视频黄页| 成人影 天天操 亚洲| 欧美男人一区| 骚逼高潮久久精品| 日本超碰在线国产一区| 丝袜美腿诱惑亚洲欧美视频在线观看 | 亚洲中文字幕妇伦久久| 制服乱伦| 久热69九色熟妇97| 亚洲国内精品成人不卡| 极品色电影院| 热G综合热G中文| 综合激情一一91| 强奸熟女一区二区三区| 91痴汉| 欧美AB在线| 日韩中文字幕精品一区在线| 欧美天天干| 激情久久久| 精品精品精品| 九九毛片这里只有精品| 色网综合网| 亚洲美女AV无码| 国产AV激情无码久久无码| 亚洲福利中文字幕在线| 激情五月天色播| 激情视屏国产乱伦强奸| 国产吞精a级片激情电影| 日韩黄色电影网站| 男人的天堂2018.| 4tube欧美女厕所| 岛国免费黄色网址| 久久久久久AⅤ无码免费肉站| 久久人妻一区二区三区高清| 男人的天堂免费| 久久国产免费激情视频| 色操逼网| 97欧美精品综合| 熟女熟妇一区二区三区视频| 久久久久久久| 国产乱人伦AVA麻豆软件.| 九九热免费国产视频婷婷伊人 | 免费成人在线熟妇网| 九热久| 99在线无码精品秘 入口黑人| 性爱1区| 天堂资源站| 玖玖综合网| 国产按摩一区二区三区| 狠狠入| 美女自卫慰黄网站免费| 久久久精品中文字幕麻豆| 欧美熟妇成人一区二区| 日韩性爱小视频在线观看| 中文字幕久久亚州无码| 最新av中文字幕高清| 亚洲天堂男人在线| 亚洲一区二区在线观看91| 91九色网| 99精品九九九九九九| 3p国产色噜噜一区| 久污| 久久精品国产亚洲AV片多多 | 淫荡少妇免费| 91香蕉国产尤物视频| 国产免费一区在线观看| 日本久久久久久久久久| 色婷婷导航| 极品出轨视频网站| 女色视频社区| 国产亚洲精品激情| 日本精品九九九| 国产自产22区| 97公开久久| 日本在线播放不卡一区| 蜜臀久久99精品久久久久久久久| 青青青操| 一本久道久久综合狠狠爱一密臀精| 国产51色综合久久免费| AA丁香综合激情| 俺也射| 亚洲天堂AV在线播放| 夜夜操91744565| 国产精品97超碰| 郑州宾馆老熟女露脸啪啪| 亚洲av热热色| 天天天乱色综合全| 青青青国产手线观看视频2| 伊人综合色网| 精品在线78| 操美女高潮抽搐白浆| 久久久精品中文字幕麻豆| 热99这里有精品综合久久 | 香港久久久| 日韩人妻免费精品| 色噜噜狠狠色综无码久久| 人妻中文字幕日韩电影| Julia Annxxxxx| 操高情无码| 天天看人人操屄犊摸阴| 91P0RNY大屁股人妻| 狠狠干狠狠色| 啊啊啊啊啊操我视频| 一二视频神马久久传媒| 亚洲图片偷拍视频区| 日产成人久久| 国产乱伦性爱AV| 久久宗合97| 伊人五月天激情| 日韩不卡网操逼中文字幕日韩| 亚洲自拍天堂| 九热超碰| 91无码中出人妻视频| 欧美人妻少妇| 99国产天美| 亚洲精品久久久久毛片A片拉屎| 国产原创精品| 又粗又长又爽在线观看| 超碰激情808| 综合在线导航一区| 97欧美久久久久久久| 成人午夜小视频手机在线看| 精品亚洲俞拍视频一区| 成全在线观看免费观看| 人人爱夜夜爱| 亚洲性爱免费电影| 91精品国久久久久久无码| 高清在线不卡一区二区 视频| 亚洲美女精品| 99在线无码精品秘 入口黑人| 91狠狠狠| 九九九九九九九九九九九免费国产| 国内精品a| 国色天香av| 亚洲精品毛片在线观看| 亚洲天天天| 日韩欧美女优电影| 狠狠中文字幕| 天堂综合网| 在线一区| 久都青青视频| 操逼1区| 蜜汁欧美| 色天堂在线观看| 97操97色| 欧美综合娱乐久久| 曰韩中文人妻视频| 久9爱精品| 久偷拍欧美日韩三区| 日韩精品99999| 不卡av在线中文字幕| 七月丁香婷婷| 亚洲另类色综合网站| 成年男人的天堂| 亚洲天堂人人妻| 色婷婷婷五月天激情四射| 欧美亚洲首页| 九九色精品| 中文字幕精品三级久久久| 男男H黄动漫啪啪无遮挡网站| 加勒比少妇AV婷婷六月天超碰超碰| 日本黄色大片一级视频免费麻豆| 人妻黑丝袜电影| 96AV精品| 操九九九九九九| 亚州综合色| 青青草视频久久久久| 久久免费精品视频免一| 国产精品又黄又猛又粗| 欧美天堂日韩三级国产传媒| 日韩簧片免费看| 少妇贴图| 中文字幕精品三级久久久| 在线天堂999| 91观看 国产白丝| 97天天爽| 久久九九99| 欧美日韩999| 免费中文在线| 91扒丝袜综合在线| 国产午夜无码片在线观看影视| 美欧色综合| 亚洲人体视频在线观看| 无卡一区=区| 国产极品美女高潮无套在线观看| 不卡视频一区蜜桃视频| 综合激情一一91| 日韩电影免费网站麻豆视频| 97爱爱官网| 丁香九月激情啪| 久久69精品久久久久久久| dy888午夜老子影视达达兔| 丁香色狠狠色综合久久小说| 精品久久在线区一区| 被男人添B超爽视频| 久久超碰97| 91色综合| 日韩一区二区三区四区五区| 亚洲男人的天堂一区二区| 国产无码一二三区| 日本熟妇人妻中出视频| 亚洲18禁| 99色骚| 日本日皮视频逼| 黄色视频60分钟| 无色无码| 久妇网| 亚洲美女黄色| 熟女精品一区二区在线观看| 物业黑人 AV一区| 久久久久久久久9| 九九九久| 人人么人人操| 超碰免费人人| 日本97久久| 岛国色情视频在线观看| 伊人网一本| 国产精品美女在线一区| 亚洲熟女乱色一区二区三区 | 久99| 久久↗↗| 欧美大香蕉专区网| 97超碰天天爱天天爱| 中文字幕熟女人妻丝袜| 欧美一级黄片免费播放| 熟妇艹鸡八| 无码78| 超碰97资源大奶| 偷拍亚洲高清图片| 在线五区| 久久久久久电影| 女优免费一区二区永久| 最新av在线| 91精品国| 亚洲一卡2卡3卡4卡乱码网站| 九九av| 日韩精品99999| 97在线视频观看| 草草草草视频| 香蕉欧美| 成 人 A V免费视频在线观看| 亚洲高清欧美总合| 欧美天天综合网| 欧美激情专区| 一级性爱视频免费在线| 在线毛片片免费观看| 欧美黄色手机在线观看| 秋霞一级鲁丝片A片| 日韩av乱伦| 热久日综合| 婷婷10月天青娱乐| 午夜啪啪片| 国产欧美日韩女同性恋ww喷水精品| 夜精品久无码| 中文乱码字字幕在线第5页| 啪啪啪大香蕉| 超碰9 7女人| 啪啪资源网| 大香樵伊人网| 人妻激情视频| 囯产操逼片| 欧美后入视频| 一级特黄aaa大片在线观看成人一级片在线观看 | 欧美激情一| 欧美三级免费伊人| www.色婷婷色综合| 中文日本免费高清| 久久久人妻| 久久人人爽人人爽人人片Ⅴ| 99热成人| 91精品国产91久久青草| 色综合五月天| 男女做爰猛烈动高潮A片免费应用| 宗合情欲网| 曰本人妻人人澡人人夹| 超碰在97| 大奶啊啊好爽| 91人妻最真实刺激绿帽| 天天干夜夜肏| 熟妇熟女亚洲天堂网| 91在线精品一区二区三区| 亚洲综合校园春色| 国产亚洲 中文欧美久久| wwwxxx日本爽| 久久久久久久综合,国产| 亚洲成人性| 国产成人网| 97久久精品亚洲| 91狠婷| 亚洲综合113页| 日韩少妇无吗| 男人天堂最新手机版在线青青草| 色婷婷久久综合超碰| 亚洲天堂另类美腿| 亚洲91网站| 伊人九九| 最新三级网址| 欧美在线官网| 秋霞福利网| 78操B| 日本熟女不卡视频| 欧美久久伊人| 欧美|91色综合| 最新av在线| 91熟女丨91老女人| 91人精品妻入口| 无码高清专| 精品免费一区二区三区在线亚洲人成| 熟女自慰久久久| 性爱av网站| 国产大学生口爆吞精合集| 91AV入口| 青娱乐国产剧情av一区| 精品免费一区| 中文字幕久久婷婷丁香五月天| 有码专区最新中文字幕有码| 亚洲乱熟女一区二区| 国产熟女自拍| 熟妇一区,二区,三区。| 91碰碰| 久久熟女精品不卡一区| 啊啊啊啊,啊啊好多水 | 丰满熟妇大乳做爰| 人妻精品一区一区三区蜜桃91| 欧美综合色| 欧美v日韩v亚洲v最新在线| 日韩黄色小说| 欧美性夜| 成人性爱美曰韩| 久插综合| 人人模人人看| 大香蕉啪啪啪| 97草草| 欧美极品性爱天天射| 第一高清av中文字幕| 五月天激情小说网| 久久综合久色欧美综合狠狠| 国产精品久久久久久久久久梁医生| 久久久久9999| 黄片aaaaa一区| 中文字幕一区av| 9久久美女首页| 78操B| 中文字幕精品一区二区精| 五月香婷婷| 加勒比东京热五月天天堂网| 国产精品操| 日韩欧美中文| 伊人久久国产免费观看视频| 久久久久久久久久久久欧美日| 超碰99re| 97久久久| 99久久网站| 久久久久斤小| 717影院理论午夜伦八戒| 91亚洲人电影| 色色九区| 最近的最新的中文字幕视频| 伊人青青草久久| 九九热三级片| 9l视频自拍9l九色成人| 欧美性五月| 青娱乐国产精品| 亚洲性少妇| 国产精品视频麻豆入口| 一区二区三区四区五区高清无码永久视频 | 99热99色| 99热大香蕉伊在线| 日韩一性一交一A片俄罗斯| 好看的91视频| 中国AAAAAA黄色片| 中文字幕在在线观看网站| 中文 人妻 制服| 亚洲人妻中文高清| 综合网亚洲1| 婷婷五月天色色| 香蕉精品二区二区| 中文字幕成人| 97啪啪| 校园春色综合色| 精品毛片av一区二区| 综合av影片| 91在线无码精品秘 软件| 福利天天都操| Av色五月| 韩日性爱av| 热热色综合网| 男人的天堂在线有码| 97亚洲精品超碰| 天天看人人操屄犊摸阴| 欧美强奸一区二区诱惑| 欧美劲爆第一页| 蜜桃在线观看一区二区三区| 在线A日本| 大香蕉中文在线| 91欧美美女日韩国产婷婷| 夜间福利片1000无码| www欧美91| 91超碰碰在线| 国产视频一区二区在线| 国产强奸超碰AV| 日本性交操一区二区不卡系列| 一区二三区四区视频大全套| 热久久这里只有精品| 国产91精品福利在线| 女人综合网| 天天操熟妇| 另类亚洲图色| 91bbbbbb| 99色视频| 亚洲国产一区二区日韩专区| 噜噜瑟| 中文久久96| 九九九久千久久激情蜜桃在线看 | 激情婷婷丁香| 蜜臀久久在线视频| 中文一区二区婷婷视频| 久久婷婷精品| 中文字幕日本久久| 国产精品999zyz| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 狠狠色色| 天天色天天干天天射| 亚洲国产美女久久久久 | 秋霞曰韩R级| 天堂8在线新版官网| 狠日操| 亚洲成?V人片在线观看福利| 新久久AV| av天堂5| 熟女被操视频网址| 麻豆国产尤物AV| 黄色网址久久精品欧美喷水| 亚州精品一区二区三区香中文字幕在线| 亚洲偷拍自拍在线视频| 激情久久av一区av二区av| 国模少妇一区二区三区| 人人扣人人操| 伊色综合天堂色97| 色噜噜人妻av 中文字幕| 欧美黄色图片| 天天综合麻豆视频| 99rre在线精品99re8| 色妺妺AⅤ| 欧美真人抽搐一进一出gif| 婷婷亚洲五月***久久| 日韩欧美大力操| 人妻aa| 超碰97欧美在线| 小草av不卡亚洲二区| 91黄站| 国产女人极品高潮毛片| 这里都是精品在线观看| 色丁香五月婷婷| 1204金沙人妻懂旧版免费| 五月开心久久AV官网| 99热精品在线观看| 亚洲色图91| a片自拍直播视频| 一区二区三区美女超清| 操逼逼福利视频| 熟女一区二区| 国产熟女一区二区| 一级黄色视频网| 男女91| 果冻传媒A片麻豆熟妇人妻| 无码国产Av| 嗯啊啊啊轻点视频| 天天欲望网| 久久欧美性爱视频| 性性欧美| 亚洲精品国产熟女| 久久本道| 在线视频97| 亚洲天堂,男人| 插插综合网天天影视网| 秋霞免费AV| 肉丝无码中文高清| 91高清无码下载| se,,,亚洲欧美| xxxx网站亚洲精品| 男人的天堂2019| 国产精品久久久久久久毛片1| 精品国产99| 国模私拍一区二区三区神乳| 欧美亚洲丝袜美女电影| 欧美片第一页| 好爽免费视频| 婷婷在线视频| 99色网| 精品久久久久黄少妇| 日韩有码中文字幕女同性恋| 丁香激情五月天| 国产精品福利视频| 精品一区二区麻豆| 美女操逼福利视频| 亚洲天天天| 99国产精品人妻人伦| 岛国1区2区3区在线观看| 91性感网站| 日韩三级视频一区二区三区| 成人五级久久| 久久久久极品| 性感女人网页在线观看视频| 蜜臀AV秘一区翔田千里| 福利大香蕉| 97资源超碰| 久久亚洲AV无码专区国产精品 | 欧美综合制服在线| 国产在线视视频有精品| 亚州综合网| 色偷综合| 暖暖精品二区三区观看| 人看人人摸人人操| 两女互慰AV高潮喷水在线观看| 色九九九九九九| 伊人久久国产免费观看视频| 亚洲精品a人片在线观看视| 在线αⅴ| 久久久久久九九九九| 亚洲亚洲亚洲天堂天堂 | 人人操人人干xxx| 国产精品网址| 亚洲国产福利视频| 97网址97| 欧美成人色| 97人人爱人人做人人乐| 日韩av影片在线观看| 中字幕人妻一区二区三区| 麻豆AV一区二区天美传媒| 任我爽在线视频免费观看| 欧洲亚洲人妻无码中字久久三区四区| 九九九九九九九精品视频| 日本操嫩b网| 亚洲A曰本VA欧美VA视频| 一直超碰| 日本亚洲熟女视频| 青草精品视频日本久久久久网站在线| 老女人爆菊| 人妻干天天| 久久宗合97| 精品网站9999| 亚欧无码在线| 91色欧美| 老汉网| 日本九九九九| AV乱伦国产| 熟女一区二区三区四区| 91色碰| 丰满岳乱妇一区二区三区| 人妻娇喘 激情视频| 美国久久一二三四| 中国国产精品一区视频| 欧美性爱一区二区三区| 欧美色日本| 婷婷五月成人| 在线有码中文字幕| 78m成人视线| 1204av韩国| 伊人五月天| 国产精品99精品视频网站| 午夜亚洲| 东北老女人的激情视频| 大香蕉综合| 国产Aα| 美女淫穴| 欧美日韩国产在线| 日本国产欧美高清在线| 精品国产Av无码久久久亚洲| 青青草一区二区三区四| 男女91| 欧美精品第3页| 人人操人人摸人人看人人干| 试看60秒 爽| 人人妻人人色一区二区三区| 狠狠爱综合网| 欧美大香蕉专区网| 无码精品久久| 欧美综合天天| 9.1小视频| 校园春色综合香蕉| 国产超碰在线一区| 99色热| 国产精品老师| 日韩成人性爱AV| 国产美女自拍AV| 啊啊啊啊网站| 日逼97| 9精品久久久久| 黑人精品久久97| 麻豆福利视频导航| 97资源超碰| AV一区观看| 国产成人拍国产亚洲精品| 97精品免费视频网站| 人妻熟女一区二区在线视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 国产美女激情| 美腿丝袜偷拍亚洲欧美| 日本天天吊| 爱射综合| 中文高清一区二区的| 五月色网| 操逼日韩无码 | 国产午夜激片Av毛片不卡| 操逼免费视频无码国产| 乱伦熟女论坛| 99久久无码| 国产精品一二三区18| 青青操网| 色色五月婷| 欧美在线干| 男人的天堂不卡一区二区| 成人麻豆av电影网站| 成年人三级黄色片视频| 欧美老妇曰批的视频| 久久久亚洲高清不打码| 秋霞成人一级在线观看| 免费1级a做爰片观看| 欧美黄片免费在线观看视频| 亚洲国产成人精品999| 久久久久亚洲三级电影| 久久久久人妻二区精品叶可怜| 激情文学88| 100啪啪视频大全| 草草影院日本第一页| 青椒国产97在线熟女| 乱论91| 999岛国大片| 日本福利社| 亚洲 91 在线| 99re在线观看| 中国熟女91| 九九九九九九综合| 淫淫综合网| 日韩免费a级毛片无码a∨| 少妇一区二区三区高速| 日韩精品字幕| 在线观看亚洲专区| 亚洲精品视频在线| 91亚洲不卡一区| 97色色国产视频| 天天爱综合网| 久久岛国| 中文字幕AV乱伦| 免费在线黄片视频| 99色视频| 青青久操| 婷婷激情五月综合| 97人人爱人人乐| 无码人妻一区二区三区色欲aⅴ | 蜜臀无码视频在线观看| 中文字幕亚洲永久精品| www久| 色综合加勒比四四季| 蘋果手機免費看成人Av| 中文字幕视频二区| 国产精品福利视频播放| 97人人干人人操| 91逼逼女人91| 怡红院亚洲怡春院av|