精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

通過漫天花雨來入門 Three.js

開發 前端
Three.js 用于渲染一個 3D 的場景,里面會有很多物體,比如立方體、圓柱、圓環、圓錐等各種幾何體(以 Geometry 為后綴),比如點(Points)線(Line)面(Sprite)等基礎物體。

[[436062]]

隨著元宇宙概念的火爆,3D 渲染相關的技術頻繁被提及,而 Three.js 是基于 WebGL 的 api 封裝的用于簡化 3D 場景的開發的框架, 是入門 3D 的不錯的抓手,今天我們就來入門下 Three.js。

我們基于 Three.js 來實現一個花瓣雨的效果。

Three.js 的基礎

Three.js 用于渲染一個 3D 的場景,里面會有很多物體,比如立方體、圓柱、圓環、圓錐等各種幾何體(以 Geometry 為后綴),比如點(Points)線(Line)面(Sprite)等基礎物體。這些所有的物體怎么管理呢?

用一個場景 Scene 來承載,所有的物體都會被添加到 Scene 里。

所以有這樣的 api:

  1. const scene = new THREE.Scene(); 
  2.  
  3. scene.add(xxx); 
  4. scene.add(yyy); 

當然,物體之間可以做分組 Group,組內的物體可以統一管理,之后再添加到 Scene 里。

  1. const scene = new THREE.Scene(); 
  2.  
  3. const group = new THREE.Group(); 
  4.  
  5. group.add(xxx); 
  6. group.add(yyy); 
  7.  
  8. scene.add(group); 

這種場景、物體、分組的概念,在很多游戲引擎中也有類似的 api,大家都是這么來管理的。

可以添加到 Scene 中的物體,除了幾何體(Geometry)、點線面等,還有輔助工具,比如坐標系工具(AxisHelper)。其實這些工具也是用集合體、點線面封裝出來的,只不過是作為工具來臨時添加到 Scene 中。

  1. const axisHelper = new THREE.AxisHelper(max); 
  2. scene.add(axisHelper) 

有了場景和場景中的各種物體,怎么渲染出來呢?

調用 Renderer,這個類是專門負責渲染 Scene 中各種物體的。

但是還有個問題,三維的世界(scene)怎么渲染到二維的屏幕呢?

如圖,從一個點找個角度來看三維世界,或者從一個平面來平行的看三維世界,看到的就是二維的。

這兩種方式,第一種叫做透視、第二種叫做正交。

生成二維圖像,就像照相機的功能一樣,所以這種概念叫做 Camera。

在 Three.js 里面有 PerspectiveCamera (透視相機)和 OrthographicCamera(正交相機),分別對應上面兩種三維轉二維的方式。

這兩個 Camera 的參數還是挺多的,但是理解了也挺簡單:

  1. new Three.PerspectiveCamera( fov, aspect, near, far ) 
  2. new Three.OrthographicCamera( leftrighttop, bottom, near, far ) 

先看透視相機的,它要看三維世界,那就要有一個最近和最遠兩個位置,然后從一個點看過去會有一個視野的角度,看到的畫面還有個寬高比。

這就是為什么 PerspectCamera 有 near、far、fov、aspect 這四個參數。

正交相機的參數也是差不多的意思,不過因為不是從一個點,看的,而是從一個面做的投影,那么就沒有角度的參數,而是有上下左右的四個面位置的參數。

正交相機的上下左右位置也不是隨便的,比例要和畫面的寬高比一樣,所以一般都是這么算:

  1. const width = window.innerWidth; 
  2. const height = window.innerHeight; 
  3. //窗口寬高比 
  4. const k = width / height; 
  5. //三維場景的顯示的上下范圍 
  6. const s = 200; 
  7.  
  8. // 上下范圍 s 再乘以寬高比 k 就是左右的范圍,而遠近隨便設置一個數就行 
  9. const camera = new THREE.OrthographicCamera(-s * k, s * k, s, -s, 1, 1000); 

上面的正交相機的參數里面,遠近可以設置為 1 和 1000,上下設置為 200,左右就可以根據寬高比算出來。這就是相機所看到的二維畫面的范圍。

有了場景 Scene 中的各種物體,有了照相機 Camera,就可以用渲染器 Renderer 渲染出畫面來了。

  1. const renderer = new THREE.WebGLRenderer(); 
  2. //設置渲染區域尺寸 
  3. renderer.setSize(width, height) 
  4.  
  5. renderer.render(scene, camera) 

不過,一般不會只渲染一幀,有動畫效果的話,會使用 requestAnimationFrame 的 api 一幀幀的不停渲染。

  1. function render() { 
  2.     renderer.render(scene, camera) 
  3.  
  4.     requestAnimationFrame(render) 
  5. render(); 

這就是 Three.js 的大概流程:Scene 中有幾何體Geometry、點線面、輔助工具等各種物體,物體還可以做分組,然后通過正交或者透視相機來設置看到的二維畫面,之后用 Renderer 渲染出來。有動畫效果的話,要用 requestAnimationFrame 來一幀幀的渲染。

下面我們來實現一下花瓣雨的效果。

花瓣雨實現

首先我們要創建場景 Scene 中的物體,也就是各種花瓣,這個需要顯示的是一個平面,可以用 Sprite。

Sprite 是精靈的意思,在 Three.js 中,它就是一個永遠面向相機的二維平面。

我們給 Sprite 貼上花瓣的紋理就可以了。

我們先準備一些花瓣的貼圖,類似這種:

花瓣的數量有很多,我們生成 400 個,加到花瓣分組里,然后添加到場景中:

  1. const scene = new THREE.Scene(); 
  2. /** 
  3.  * 花瓣分組 
  4.  */ 
  5. const petal = new THREE.Group(); 
  6.  
  7. function create() { 
  8.     var texture1 = new THREE.TextureLoader().load("img/h1.png"); 
  9.     var texture2 = new THREE.TextureLoader().load("img/h2.png"); 
  10.     var texture3 = new THREE.TextureLoader().load("img/h3.png"); 
  11.     var texture4 = new THREE.TextureLoader().load("img/h4.png"); 
  12.     var texture5 = new THREE.TextureLoader().load("img/h5.png"); 
  13.     var imageList = [texture1, texture2, texture3, texture4, texture5]; 
  14.  
  15.     for (let i = 0; i < 400; i++) { 
  16.         var spriteMaterial = new THREE.SpriteMaterial({ 
  17.             map: imageList[Math.floor(Math.random() * imageList.length)],//設置精靈紋理貼圖 
  18.         }); 
  19.         var sprite = new THREE.Sprite(spriteMaterial); 
  20.         petal.add(sprite); 
  21.  
  22.         sprite.scale.set(40, 50, 1);  
  23.         sprite.position.set(2000 * (Math.random() - 0.5), 2000 * Math.random(), 0) 
  24.     } 
  25.     scene.add(petal) 
  26.  
  27. create(); 

400 個 Sprite 隨機貼上了不同的花瓣的紋理貼圖,然后設置了下放縮,之后隨機設置了一個在場景中的位置。

我們在 Scene 中加入坐標系輔助工具來看下坐標:

  1. const axisHelper = new THREE.AxisHelper(1000); 
  2. scene.add(axisHelper) 

紅色是 x 軸,向右是遞增的,綠色是 y 軸,向上是遞增的。z 軸我們暫時用不到。

所以,根據代碼,花瓣的 x 的范圍就是隨機的 -1000 到 1000,y 的范圍就是 0 到 2000。

然后,我們創建正交相機:

  1. const width = window.innerWidth; 
  2. const height = window.innerHeight; 
  3. //窗口寬高比 
  4. const k = width / height; 
  5. //三維場景的顯示的上下范圍 
  6. const s = 200; 
  7. const camera = new THREE.OrthographicCamera(-s * k, s * k, s, -s, 1, 1000); 

設置下相機的位置和方向:

  1. camera.position.set(0, 200, 500) 
  2. camera.lookAt(scene.position) 

我們創建相機的時候指定了二維能顯示的范圍,相機在這個范圍內的哪個位置都行。

然后創建渲染器,設置下大小和背景顏色,把渲染到的 canvas 元素插入到 dom 中。

  1. const renderer = new THREE.WebGLRenderer(); 
  2. //設置渲染區域尺寸 
  3. renderer.setSize(width, height) 
  4. //設置背景顏色 
  5. renderer.setClearColor(0xFFFFFF, 1) 
  6. //body元素中插入canvas對象 
  7. document.body.appendChild(renderer.domElement) 

之后就用 requestAnimation 不斷地一幀幀渲染就行了。

  1. function render() { 
  2.     petal.children.forEach(sprite => { 
  3.         sprite.position.y -= 1; 
  4.         sprite.position.x += 0.5; 
  5.         if (sprite.position.y < -400) { 
  6.             sprite.position.y = 800; 
  7.         } 
  8.         if (sprite.position.x > 1000) { 
  9.             sprite.position.x = -1000 
  10.         } 
  11.     }); 
  12.  
  13.     renderer.render(scene, camera) 
  14.  
  15.     requestAnimationFrame(render) 

每次重新渲染之前,我們修改下花瓣的位置,產生下落效果,如果超出了范圍,就移到上面去重新開始落,這樣就是不間斷的花瓣雨效果。

完整代碼如下:

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3. <head> 
  4.     <meta charset="UTF-8"
  5.     <title>花瓣雨</title> 
  6.     <style> 
  7.         body { 
  8.             margin: 0; 
  9.             overflow: hidden; 
  10.         } 
  11.     </style> 
  12.     <script src="js/three.min.js"></script> 
  13. </head> 
  14. <body> 
  15. <script> 
  16.  
  17.     const scene = new THREE.Scene(); 
  18.     /** 
  19.      * 花瓣分組 
  20.      */ 
  21.     const petal = new THREE.Group(); 
  22.  
  23.     const width = window.innerWidth; 
  24.     const height = window.innerHeight; 
  25.     //窗口寬高比 
  26.     const k = width / height; 
  27.     //三維場景的顯示的上下范圍 
  28.     const s = 200; 
  29.     const camera = new THREE.OrthographicCamera(-s * k, s * k, s, -s, 1, 1000); 
  30.  
  31.     const renderer = new THREE.WebGLRenderer(); 
  32.  
  33.     function create() { 
  34.         //設置相機位置 
  35.         camera.position.set(0, 200, 500) 
  36.         camera.lookAt(scene.position) 
  37.      
  38.         //設置渲染區域尺寸 
  39.         renderer.setSize(width, height) 
  40.         //設置背景顏色 
  41.         renderer.setClearColor(0xFFFFFF, 1) 
  42.         //body元素中插入canvas對象 
  43.         document.body.appendChild(renderer.domElement) 
  44.  
  45.         // const axisHelper = new THREE.AxisHelper(1000); 
  46.         // scene.add(axisHelper) 
  47.  
  48.         var textureTree1 = new THREE.TextureLoader().load("img/h1.png"); 
  49.         var textureTree2 = new THREE.TextureLoader().load("img/h2.png"); 
  50.         var textureTree3 = new THREE.TextureLoader().load("img/h3.png"); 
  51.         var textureTree4 = new THREE.TextureLoader().load("img/h4.png"); 
  52.         var textureTree5 = new THREE.TextureLoader().load("img/h5.png"); 
  53.         var imageList = [textureTree1, textureTree2, textureTree3, textureTree4, textureTree5]; 
  54.  
  55.         for (let i = 0; i < 400; i++) { 
  56.             var spriteMaterial = new THREE.SpriteMaterial({ 
  57.                 map: imageList[Math.floor(Math.random() * imageList.length)],//設置精靈紋理貼圖 
  58.             }); 
  59.             var sprite = new THREE.Sprite(spriteMaterial); 
  60.             petal.add(sprite); 
  61.  
  62.             sprite.scale.set(40, 50, 1);  
  63.             sprite.position.set(2000 * (Math.random() - 0.5), 2000 * Math.random(), 0) 
  64.         } 
  65.         scene.add(petal) 
  66.     } 
  67.  
  68.  
  69.     function render() { 
  70.         petal.children.forEach(sprite => { 
  71.             sprite.position.y -= 1; 
  72.             sprite.position.x += 0.5; 
  73.             if (sprite.position.y < -400) { 
  74.                 sprite.position.y = 800; 
  75.             } 
  76.             if (sprite.position.x > 1000) { 
  77.                 sprite.position.x = -1000 
  78.             } 
  79.         }); 
  80.  
  81.         renderer.render(scene, camera) 
  82.  
  83.         requestAnimationFrame(render) 
  84.     } 
  85.  
  86.     create() 
  87.     render() 
  88. </script> 
  89. </body> 
  90. </html> 

總結

Three.js 是為了簡化 3D 渲染的框架,它提供了場景 Scene 的 api,里面可以包含各種可渲染的物體:立方體、圓錐等各種幾何體 Geometry、點線面、坐標系等輔助工具。這些物體還可以通過 Group 分組來統一管理。

Sence 要渲染出來需要指定一個相機,分為從點去看的透視相機 PerspectiveCamera,從平面去投影的正交相機 OrthographicCamera。理解了它們的原理才能理解 Camera 的參數。

之后通過 Renderer 渲染出來,如果有動畫需要用 requestAnimationFrame 來一幀幀的渲染。

這是 Three.js 的大概渲染流程。

之后我們實現了一個花瓣雨的案例。用到了 Sprite 這種物體,它是一個永遠面向相機的平面,用來做這種效果很合適。

當然,Three.js 的東西還是比較多的,這篇文章只是入下門,后面我們會繼續深入,做更多的有意思的 3D 場景和效果。

 

責任編輯:姜華 來源: 神光的編程秘籍
相關推薦

2017-05-08 11:41:37

WebGLThree.js

2021-04-23 16:40:49

Three.js前端代碼

2025-05-15 08:45:00

開源前端手勢

2019-11-29 09:30:37

Three.js3D前端

2022-07-15 13:09:33

Three.js前端

2024-07-18 06:58:36

2021-04-21 09:20:15

three.js3d前端

2021-12-14 11:44:37

可視化Three.js 信息

2022-01-16 19:23:25

Three.js粒子動畫群星送福

2021-12-03 07:27:30

全景瀏覽Three.js

2022-03-07 09:20:00

JavaScripThree.jsNFT

2022-07-08 10:39:09

Three.js元宇宙VR

2025-03-13 10:54:18

2025-09-19 09:29:53

Web 3D引擎Three.jsGalacean

2025-06-17 08:15:00

VTK.jsThree.js3D

2025-06-26 01:11:00

2020-11-23 07:43:18

JS

2021-11-23 22:50:14

.js 3D幾何體

2021-11-27 10:42:01

Three.js3D可視化AudioContex

2025-05-13 02:01:00

Three.jsSprite粒子
點贊
收藏

51CTO技術棧公眾號

色婷婷精品大在线视频 | 在线观看欧美成人| 青青在线视频免费| 国产一区久久精品| 成人一区二区三区视频在线观看| 欧美最顶级丰满的aⅴ艳星| 2019男人天堂| 国产精品一线| 欧美日韩第一区日日骚| 久久久亚洲国产精品| www.视频在线.com| 成人精品高清在线| 国产精品日韩一区| 亚州国产精品视频| 婷婷综合激情| 亚洲人成网站999久久久综合| 不卡的在线视频| 无码小电影在线观看网站免费| 一区在线中文字幕| 久久久久久久久一区二区| 97人妻一区二区精品免费视频| 在线视频日韩| 欧美美女15p| 一级二级黄色片| 日韩欧美天堂| 精品国产一区二区亚洲人成毛片 | 亚洲在线资源| 日本二三区不卡| 日韩精品在线观看av| 在线观看免费网站黄| 国模人体一区二区| 精品国产网站| 亚洲精品理论电影| 欧美国产日韩在线视频| 78精品国产综合久久香蕉| 五月婷婷欧美视频| 50度灰在线观看| 欧美a免费在线| 久久精品在线免费观看| 国产一区二区不卡视频在线观看| 国产免费一区二区三区最新不卡| 日韩中文字幕一区二区三区| 国产91对白在线播放| 日韩免费一二三区| 亚洲深深色噜噜狠狠爱网站| 日韩最新免费不卡| 日本猛少妇色xxxxx免费网站| 曰本一区二区三区视频| 亚洲精品日韩丝袜精品| 添女人荫蒂视频| 久久夜色精品国产噜噜av小说| 精品日韩99亚洲| 美女被艹视频网站| 精品国产一区二区三区性色av| 9191久久久久久久久久久| 中文av一区二区三区| 欧美日韩在线精品一区二区三区激情综合 | av不卡在线观看| 国产精品视频免费一区| 日韩一级片免费| 99久久婷婷国产| 久久草.com| 黄色片在线播放| 国产三级一区二区三区| 日本一区二区三区四区在线观看| 国产一区精品| 国产精品高清亚洲| 国产成人精品免费看在线播放| 在线āv视频| 亚洲福利电影网| 欧美三级一级片| 成人黄色免费短视频| 欧美视频一区二区三区在线观看| 九色porny自拍| 精品国产18久久久久久二百| 精品国产一区二区三区av性色 | av一区二区三| 高潮精品一区videoshd| 精品乱码一区二区三区| 九色在线观看| 成人欧美一区二区三区| 国产一级不卡视频| 华人av在线| 日本韩国一区二区三区视频| 成年人三级黄色片| 亚洲成人影音| 日韩精品欧美国产精品忘忧草 | 国产午夜在线观看| 中文字幕国产一区| 日本大片免费看| 国产精品粉嫩| 欧美老女人在线| 精品人妻伦一二三区久| 欧美视频免费| 欧美激情按摩在线| 无码无套少妇毛多18pxxxx| 狠狠色丁香婷综合久久| 黑人巨大精品欧美一区二区小视频| 精品一二三区视频| 亚洲免费观看视频| 麻豆av免费在线| 日本免费一区二区三区视频| 日韩精品在线看| 国产黄色小视频网站| 一本色道久久综合| 成人av.网址在线网站| 天堂网在线中文| 亚洲色图一区二区| 久久网站免费视频| 日韩一区免费| 中文字幕欧美在线| 国产成人亚洲精品自产在线| 九一九一国产精品| 欧美二区三区在线| 人交獸av完整版在线观看| 色狠狠av一区二区三区| 国产在线不卡av| 伊人青青综合网| 国产精品露脸av在线| 天堂在线观看视频| 一区二区久久久久久| 中文av一区二区三区| 亚洲三级精品| 性欧美暴力猛交69hd| 国产乱码久久久| 日本一区二区动态图| 欧美日韩在线中文| 一区二区三区欧洲区| 日韩三级成人av网| 国产乱码在线观看| 久久久久国色av免费看影院| 国产h视频在线播放| 亚洲精品一区在线| 久久高清视频免费| 一级黄色录像大片| 国产精品素人一区二区| 精品视频无码一区二区三区| 久久aimee| 欧美精品久久久久久久免费观看| 99久久国产热无码精品免费| 国产精品久久久久天堂| 另类小说色综合| 欧美日韩国产一区二区三区不卡| 日韩美女中文字幕| 韩国中文字幕2020精品| 色哟哟在线观看一区二区三区| 国产一级伦理片| 99精品国产福利在线观看免费| 国产精品swag| av在线不卡免费| 亚洲精品aⅴ中文字幕乱码| 久久这里只有精品国产| 国产成人精品免费网站| 久久这里只有精品18| 亚洲日本va午夜在线电影| 欧美激情欧美激情在线五月| 午夜久久久久久久久久| 午夜精品久久久久久久久| 中文字幕a在线观看| 国产亚洲成人一区| 久久综合一区二区三区| 亚洲承认视频| 色噜噜国产精品视频一区二区 | 在线观看精品| 国产亚洲欧洲高清| 中文字幕一区二区三区免费看| 国产精品色呦呦| 毛毛毛毛毛毛毛片123| 欧美日韩hd| 国产亚洲福利社区| 亚洲午夜天堂| 日韩在线www| www.综合色| 精品免费在线观看| 国精产品一区二区三区| 久久99精品一区二区三区| 麻豆md0077饥渴少妇| jazzjazz国产精品麻豆| 国产91ⅴ在线精品免费观看| av在线三区| 日韩一区二区三区av| 日本高清www免费视频| 欧美韩国日本不卡| 奇米777在线| 午夜在线a亚洲v天堂网2018| 先锋影音一区二区三区| 欧美欧美在线| 日本在线精品视频| 欧美日韩xx| 亚洲国产一区自拍| 在线观看免费视频a| 亚洲福利一二三区| 国产伦精品一区二区三区视频女| 国产一区二三区| 日本福利视频在线| 91久久久精品国产| 久久精品日产第一区二区三区乱码| 成人精品国产| 午夜精品理论片| 黄色网页在线播放| 亚洲美女av网站| 精品久久人妻av中文字幕| 色乱码一区二区三区88| 妺妺窝人体色www在线下载| 国产亚洲一区二区三区四区 | 琪琪久久久久日韩精品| 国产日韩在线免费| 中文在线а√在线8| 久久人人爽人人爽人人片亚洲| 牛牛澡牛牛爽一区二区| 日韩精品一区二区三区在线观看| 国产又粗又猛又黄视频| 亚洲国产美国国产综合一区二区| 性色国产成人久久久精品 | 青青青视频在线免费观看| www.66久久| gogo亚洲国模私拍人体| 日本不卡123| 欧美性大战久久久久xxx| 国产一区亚洲| av不卡在线免费观看| 精品国产aⅴ| 国产一区二区三区色淫影院| 亚洲啊v在线免费视频| 国产色婷婷国产综合在线理论片a| 自拍偷拍欧美视频| 午夜精品久久久久久久99热 | 四季av一区二区凹凸精品| 欧美成人在线免费观看| 精品一区二区男人吃奶| 99在线视频播放| 国产在线不卡一区二区三区| 国产综合久久久久久| 日本在线视频一区二区| 国产99久久精品一区二区永久免费| 国产夫妻在线播放| 久久免费视频在线观看| 美洲精品一卡2卡三卡4卡四卡| 久久夜色精品国产| 日本欧美在线视频免费观看| 色婷婷综合久久久久| 97超碰人人在线| 日韩在线观看免费网站| 永久av在线| 日韩最新中文字幕电影免费看| 99视频在线观看地址| 最近2019免费中文字幕视频三| www 日韩| 日韩中文字幕免费看| 日本中文字幕在线视频| 日韩视频免费看| 国产精品va在线观看视色| 久久精品视频在线| 精品视频在线一区二区| 久久av红桃一区二区小说| 午夜伦理大片视频在线观看| 色综合久久精品亚洲国产| 黄色小说在线播放| 国内伊人久久久久久网站视频 | 欧洲一级黄色片| 久久综合九色综合欧美就去吻| 永久免费看mv网站入口78| 国产人久久人人人人爽| 女人黄色一级片| 亚洲欧洲国产日韩| 免费一级全黄少妇性色生活片| 亚洲一区二区av电影| 在线观看亚洲天堂| 色综合av在线| 国产露脸91国语对白| 日韩欧美黄色影院| 人妻一区二区三区免费| 精品偷拍一区二区三区在线看 | 国产一区二区三区站长工具| 亚洲成人第一| 欧美精品入口| 一本大道熟女人妻中文字幕在线| 美国十次了思思久久精品导航 | 欧美成人午夜影院| а√天堂8资源中文在线| 日本欧美黄网站| www.久久久.com| 极品尤物一区二区三区| 成人羞羞视频播放网站| 黄色特一级视频| 狂野欧美一区| 久久黄色一级视频| 久久伊人中文字幕| 我要看黄色一级片| 粉嫩av一区二区三区免费野| 亚洲一区二区人妻| 精品国产精品网麻豆系列| 国产精品二线| 久久久久久69| 日韩三区四区| 久久精品欧美| 欧美国产先锋| 欧美性猛交久久久乱大交小说| 国产aⅴ综合色| 人妻互换一区二区激情偷拍| 性久久久久久久| 97超碰资源站| 亚洲色图av在线| 不卡av免费观看| 国产在线视频一区| 亚洲综合小说图片| 欧美日韩午夜爽爽| 免费精品视频在线| 中文字幕日韩三级片| 一区二区国产盗摄色噜噜| 欧美日韩在线视频播放| 亚洲第一精品福利| 成人三级网址| 国产欧美精品一区二区| 欧美男男gaytwinkfreevideos| www.欧美黄色| 精品亚洲国内自在自线福利| 久久精品视频18| 午夜精品成人在线| 国产av无码专区亚洲a∨毛片| 一本色道久久综合狠狠躁篇的优点 | gogogo高清在线观看免费完整版| 91av在线免费观看视频| 欧美一区在线观看视频| 艳色歌舞团一区二区三区| 丝袜美腿高跟呻吟高潮一区| 中文字幕乱码在线| 亚洲国产一区二区三区青草影视| 国产毛片在线视频| 日韩中文视频免费在线观看| 国产综合av| 欧洲精品国产| 爽爽淫人综合网网站| 右手影院亚洲欧美| 狠狠躁夜夜躁人人躁婷婷91| 五月婷婷综合久久| 久久人人爽人人爽人人片av高请| 亚洲免费一区| 一区二区三区不卡在线| 免费在线视频一区| 精品无人区无码乱码毛片国产| 欧美日韩在线一区| 日本中文字幕一区二区有码在线| 欧美亚洲成人网| 一区二区小说| 日韩欧美在线免费观看视频| 久久久久久久久免费| 9i精品福利一区二区三区| 亚洲免费中文字幕| 性感美女一区二区在线观看| 日韩精品av一区二区三区| 老司机精品福利视频| 少妇av片在线观看| 欧美私模裸体表演在线观看| 日本在线免费播放| 成人黄色片网站| 牛夜精品久久久久久久99黑人| 免费黄视频在线观看| 性久久久久久久久| 深夜视频在线免费| 国产精品高潮粉嫩av| 日韩欧美大片| 日本黄色一级网站| 一区二区三区**美女毛片| 午夜福利一区二区三区| 欧洲亚洲免费视频| 精品美女久久| 久久艹这里只有精品| 香蕉久久一区二区不卡无毒影院| 天天在线女人的天堂视频| 国产成人精品免高潮在线观看| 成人午夜国产| 丰满人妻一区二区三区免费视频棣| 婷婷成人激情在线网| 成年人视频在线观看免费| 91精品久久久久久久久| 国内精品久久久久久久影视蜜臀| 男男做爰猛烈叫床爽爽小说| 91国偷自产一区二区三区观看| 麻豆tv在线| 精品国产综合区久久久久久| 日本视频一区二区三区| 国产av 一区二区三区| 精品成人私密视频| 向日葵视频成人app网址| 懂色av一区二区三区四区五区| 成人精品视频一区二区三区 | 国产视频久久| 免费看黄色av| 精品无人乱码| 久久深夜福利免费观看| 99ri日韩精品视频| 国产av无码专区亚洲精品| 国产精品久久久久久户外露出| 性做久久久久久久久久| 日本久久亚洲电影| 午夜精品国产| 色婷婷av一区二区三区软件| 国产视频一二三四区| 欧美一乱一性一交一视频|