国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

臥槽!用代碼實(shí)現(xiàn)冰墩墩,太浪漫了吧

共 18513字,需瀏覽 38分鐘

 ·

2022-02-10 18:48

????關(guān)注后回復(fù) “進(jìn)群” ,拉你進(jìn)程序員交流群????


作者丨dragonir

來源:思否

原文鏈接:

https://segmentfault.com/a/1190000041363089


北京冬奧會正在如火如荼的進(jìn)行中,其吉祥物 —— 冰墩墩也非常受大家的喜愛。

你搶到冰墩墩了么?

沒搶到也沒關(guān)系,作為一名程序員,我們有屬于自己的浪漫,搶不到就自己做一個(gè)!

這不,思否的一位大佬 dragonir ,憑借高超的前端技術(shù)和建模技術(shù),使用 Three.js + React 技術(shù)棧,自己創(chuàng)造了一個(gè)充滿趣味和紀(jì)念意義的冬奧主題 3D 頁面!

效果

實(shí)現(xiàn)效果如以下 ?? 動(dòng)圖所示,頁面主要由 2022 冬奧會吉祥物 冰墩墩 、奧運(yùn)五環(huán)、舞動(dòng)的旗幟 ??、樹木 ?? 以及下雪效果 ?? 等組成。按住鼠標(biāo)左鍵移動(dòng)可以改為相機(jī)位置,獲得不同視圖。


?? 在線預(yù)覽:https://dragonir.github.io/3d/#/olympic (部署在 GitHub,加載速度可能會有點(diǎn)慢 ??

看了之后,就想說兩個(gè)字:臥槽!(奈何小編沒文化,一句臥槽走天下)

下面分享一下這個(gè)網(wǎng)頁的實(shí)現(xiàn)過程(作者:dragonir)。

知識點(diǎn)

本文涉及到的知識點(diǎn)主要包括:TorusGeometry 圓環(huán)面、MeshLambertMaterial 非光澤表面材質(zhì)、MeshDepthMaterial 深度網(wǎng)格材質(zhì)、custromMaterial 自定義材質(zhì)、Points 粒子、PointsMaterial 點(diǎn)材質(zhì)等。

實(shí)現(xiàn)

引入資源

首先引入開發(fā)頁面所需要的庫和外部資源,OrbitControls 用于鏡頭軌道控制、TWEEN 用于補(bǔ)間動(dòng)畫實(shí)現(xiàn)、GLTFLoader 用于加載 glbgltf 格式的 3D 模型、以及一些其他模型、貼圖等資源。

import React from 'react';
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls";
import { TWEEN } from "three/examples/jsm/libs/tween.module.min.js";
import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader";
import bingdundunModel from './models/bingdundun.glb';
// ...

頁面DOM結(jié)構(gòu)

頁面 DOM 結(jié)構(gòu)非常簡單,只有渲染 3D 元素的 #container 容器和顯示加載進(jìn)度的 .olympic_loading元素。

<div>
  <div id="container"></div>
  {this.state.loadingProcess === 100 ? '' : (
    <div className="olympic_loading">
      <div className="box">{this.state.loadingProcess} %</div>
    </div>

  )}
</div>

場景初始化

初始化渲染容器、場景、相機(jī)。關(guān)于這部分內(nèi)容的詳細(xì)知識點(diǎn),可以查閱我往期的文章,本文中不再贅述。

container = document.getElementById('container');
renderer = new THREE.WebGLRenderer({ antialiastrue });
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.shadowMap.enabled = true;
container.appendChild(renderer.domElement);
scene = new THREE.Scene();
scene.background = new THREE.TextureLoader().load(skyTexture);
camera = new THREE.PerspectiveCamera(60window.innerWidth / window.innerHeight, 0.11000);
camera.position.set(030100);
camera.lookAt(new THREE.Vector3(000));

添加光源

本示例中主要添加了兩種光源:DirectionalLight 用于產(chǎn)生陰影,調(diào)節(jié)頁面亮度、AmbientLight 用于渲染環(huán)境氛圍。

// 直射光
const light = new THREE.DirectionalLight(0xffffff1);
light.intensity = 1;
light.position.set(16168);
light.castShadow = true;
light.shadow.mapSize.width = 512 * 12;
light.shadow.mapSize.height = 512 * 12;
light.shadow.camera.top = 40;
light.shadow.camera.bottom = -40;
light.shadow.camera.left = -40;
light.shadow.camera.right = 40;
scene.add(light);
// 環(huán)境光
const ambientLight = new THREE.AmbientLight(0xcfffff);
ambientLight.intensity = 1;
scene.add(ambientLight);

加載進(jìn)度管理

使用 THREE.LoadingManager 管理頁面模型加載進(jìn)度,在它的回調(diào)函數(shù)中執(zhí)行一些與加載進(jìn)度相關(guān)的方法。本例中的頁面加載進(jìn)度就是在 onProgress 中完成的,當(dāng)頁面加載進(jìn)度為 100% 時(shí),執(zhí)行 TWEEN 鏡頭補(bǔ)間動(dòng)畫。

const manager = new THREE.LoadingManager();
manager.onStart = (url, loaded, total) => {};
manager.onLoad = () => { console.log('Loading complete!')};
manager.onProgress = (url, loaded, total) => {
  if (Math.floor(loaded / total * 100) === 100) {
    this.setState({ loadingProcessMath.floor(loaded / total * 100) });
    // 鏡頭補(bǔ)間動(dòng)畫
    Animations.animateCamera(camera, controls, { x0y-1z20 }, { x0y0z0 }, 3600, () => {});
  } else {
    this.setState({ loadingProcessMath.floor(loaded / total * 100) });
  }
};

創(chuàng)建地面

本示例中凹凸起伏的地面是使用 Blender 構(gòu)建模型,然后導(dǎo)出 glb 格式加載創(chuàng)建的。當(dāng)然也可以只使用 Three.js 自帶平面網(wǎng)格加凹凸貼圖也可以實(shí)現(xiàn)類似的效果。使用 Blender 自建模型的優(yōu)點(diǎn)在于可以自由可視化地調(diào)整地面的起伏效果。

var loader = new THREE.GLTFLoader(manager);
loader.load(landModel, function (mesh{
  mesh.scene.traverse(function (child{
    if (child.isMesh) {
      child.material.metalness = .1;
      child.material.roughness = .8;
      // 地面
      if (child.name === 'Mesh_2') {
        child.material.metalness = .5;
        child.receiveShadow = true;
      }
  });
  mesh.scene.rotation.y = Math.PI / 4;
  mesh.scene.position.set(15-200);
  mesh.scene.scale.set(.9.9.9);
  land = mesh.scene;
  scene.add(land);
});

創(chuàng)建冬奧吉祥物冰墩墩

現(xiàn)在添加可愛的冬奧會吉祥物熊貓冰墩墩 ??,冰墩墩同樣是使用 glb 格式模型加載的。它的原始模型來源于這里,從這個(gè)網(wǎng)站免費(fèi)現(xiàn)在模型后,原模型是使用 3D max 建的我發(fā)現(xiàn)并不能直接用在網(wǎng)頁中,需要在 Blender 中轉(zhuǎn)換模型格式,還需要調(diào)整調(diào)整模型的貼圖法線,才能還原渲染圖效果。

原模型

冰墩墩貼圖:

轉(zhuǎn)換成Blender支持的模型,并在Blender中調(diào)整模型貼圖法線、并添加貼圖:

導(dǎo)出 glb 格式

??Blender 中給模型添加貼圖教程傳送門:在Blender中怎么給模型貼圖

仔細(xì)觀察冰墩墩 ??可以發(fā)現(xiàn),它的外面有一層 透明塑料或玻璃質(zhì)感外殼 ,這個(gè)效果可以通過修改模型的透明度、金屬度、粗糙度等材質(zhì)參數(shù)實(shí)現(xiàn),最后就可以渲染出如 ?? banner圖 所示的那種效果,具體如以下代碼所示。

loader.load(bingdundunModel, mesh => {
  mesh.scene.traverse(child => {
    if (child.isMesh) {
      // 內(nèi)部
      if (child.name === 'oldtiger001') {
        child.material.metalness = .5
        child.material.roughness = .8
      }
      // 半透明外殼
      if (child.name === 'oldtiger002') {
        child.material.transparent = true;
        child.material.opacity = .5
        child.material.metalness = .2
        child.material.roughness = 0
        child.material.refractionRatio = 1
        child.castShadow = true;
      }
    }
  });
  mesh.scene.rotation.y = Math.PI / 24;
  mesh.scene.position.set(-8-120);
  mesh.scene.scale.set(242424);
  scene.add(mesh.scene);
});

創(chuàng)建奧運(yùn)五環(huán)

奧運(yùn)五環(huán)由基礎(chǔ)幾何模型圓環(huán)面 TorusGeometry 來實(shí)現(xiàn),創(chuàng)建五個(gè)圓環(huán)面,并調(diào)整它們的材質(zhì)顏色和位置來構(gòu)成藍(lán)黑紅黃綠順序的五環(huán)結(jié)構(gòu)。五環(huán)材質(zhì)使用的是 MeshLambertMaterial

const fiveCycles = [
  { key'cycle_0'color0x0885c2position: { x-250y0z0 }},
  { key'cycle_1'color0x000000position: { x-10y0z5 }},
  { key'cycle_2'color0xed334eposition: { x230y0z0 }},
  { key'cycle_3'color0xfbb132position: { x-125y-100z-5 }},
  { key'cycle_4'color0x1c8b3cposition: { x115y-100z10 }}
];
fiveCycles.map(item => {
  let cycleMesh = new THREE.Mesh(new THREE.TorusGeometry(100101050), new THREE.MeshLambertMaterial({
    colornew THREE.Color(item.color),
    side: THREE.DoubleSide
  }));
  cycleMesh.castShadow = true;
  cycleMesh.position.set(item.position.x, item.position.y, item.position.z);
  meshes.push(cycleMesh);
  fiveCyclesGroup.add(cycleMesh);
});
fiveCyclesGroup.scale.set(.036.036.036);
fiveCyclesGroup.position.set(010-8);
scene.add(fiveCyclesGroup);

?? TorusGeometry 圓環(huán)面

TorusGeometry 一個(gè)用于生成圓環(huán)幾何體的類。

構(gòu)造函數(shù)

TorusGeometry(radius: Float, tube: Float, radialSegments: Integer, tubularSegments: Integer, arc: Float)
  • radius:圓環(huán)的半徑,從圓環(huán)的中心到管道(橫截面)的中心。默認(rèn)值是 1

  • tube:管道的半徑,默認(rèn)值為 0.4。

  • radialSegments:圓環(huán)的分段數(shù),默認(rèn)值為 8

  • tubularSegments:管道的分段數(shù),默認(rèn)值為 6

  • arc:圓環(huán)的圓心角(單位是弧度),默認(rèn)值為 Math.PI * 2

?? MeshLambertMaterial 非光澤表面材質(zhì)

一種非光澤表面的材質(zhì),沒有鏡面高光。該材質(zhì)使用基于非物理的 Lambertian 模型來計(jì)算反射率。這可以很好地模擬一些表面(例如未經(jīng)處理的木材或石材),但不能模擬具有鏡面高光的光澤表面(例如涂漆木材)。

構(gòu)造函數(shù)

MeshLambertMaterial(parameters : Object)
  • parameters:(可選)用于定義材質(zhì)外觀的對象,具有一個(gè)或多個(gè)屬性。材質(zhì)的任何屬性都可以從此處傳入。

創(chuàng)建旗幟

旗面模型是從 sketchfab 下載的,還需要一個(gè)旗桿,可以在 Blender中添加了一個(gè)柱狀立方體,并調(diào)整好合適的長寬高和旗面結(jié)合起來。

旗面貼圖

旗面添加了動(dòng)畫,需要在代碼中執(zhí)行動(dòng)畫幀播放。

loader.load(flagModel, mesh => {
  mesh.scene.traverse(child => {
    if (child.isMesh) {
      child.castShadow = true;
      // 旗幟
      if (child.name === 'mesh_0001') {
        child.material.metalness = .1;
        child.material.roughness = .1;
        child.material.map = new THREE.TextureLoader().load(flagTexture);
      }
      // 旗桿
      if (child.name === '柱體') {
        child.material.metalness = .6;
        child.material.roughness = 0;
        child.material.refractionRatio = 1;
        child.material.color = new THREE.Color(0xeeeeee);
      }
    }
  });
  mesh.scene.rotation.y = Math.PI / 24;
  mesh.scene.position.set(2-7-1);
  mesh.scene.scale.set(444);
  // 動(dòng)畫
  let meshAnimation = mesh.animations[0];
  mixer = new THREE.AnimationMixer(mesh.scene);
  let animationClip = meshAnimation;
  let clipAction = mixer.clipAction(animationClip).play();
  animationClip = clipAction.getClip();
  scene.add(mesh.scene);
});

創(chuàng)建樹木

為了充實(shí)畫面,營造冬日氛圍,于是就添加了幾棵松樹 ?? 作為裝飾。添加松樹的時(shí)候用到一個(gè)技巧非常重要:我們知道因?yàn)闃涞哪P头浅?fù)雜,有非常多的面數(shù),面數(shù)太多會降低頁面性能,造成卡頓。本文中使用兩個(gè)如下圖 ?? 所示的兩個(gè)交叉的面來作為樹的基座,這樣的話樹只有兩個(gè)面數(shù),使用這個(gè)技巧可以和大程度上優(yōu)化頁面性能,而且樹 ?? 的樣子看起來也是有 3D 感的。

材質(zhì)貼圖

為了使樹只在貼圖透明部分透明、其他地方不透明,并且可以產(chǎn)生樹狀陰影而不是長方體陰影,需要給樹模型添加如下 MeshPhysicalMaterialMeshDepthMaterial 兩種材質(zhì),兩種材質(zhì)使用同樣的紋理貼圖,其中 MeshDepthMaterial 添加到模型的 custromMaterial 屬性上。

 let treeMaterial = new THREE.MeshPhysicalMaterial({
  mapnew THREE.TextureLoader().load(treeTexture),
  transparenttrue,
  side: THREE.DoubleSide,
  metalness.2,
  roughness.8,
  depthTesttrue,
  depthWritefalse,
  skinningfalse,
  fogfalse,
  reflectivity0.1,
  refractionRatio0,
});
let treeCustomDepthMaterial = new THREE.MeshDepthMaterial({
  depthPacking: THREE.RGBADepthPacking,
  mapnew THREE.TextureLoader().load(treeTexture),
  alphaTest0.5
});
loader.load(treeModel, mesh => {
  mesh.scene.traverse(child =>{
    if (child.isMesh) {
      child.material = treeMaterial;
      child.custromMaterial = treeCustomDepthMaterial;
    }
  });
  mesh.scene.position.set(14-90);
  mesh.scene.scale.set(161616);
  scene.add(mesh.scene);
  // 克隆另兩棵樹
  let tree2 = mesh.scene.clone();
  tree2.position.set(10-8-15);
  tree2.scale.set(181818);
  scene.add(tree2)
  // ...
});

實(shí)現(xiàn)效果也可以從 ?? 上面 Banner 圖中可以看到,為了畫面更好看,我取消了樹的陰影顯示。

??3D 功能開發(fā)中,一些不重要的裝飾模型都可以采取這種策略來優(yōu)化。

?? MeshDepthMaterial 深度網(wǎng)格材質(zhì)

一種按深度繪制幾何體的材質(zhì)。深度基于相機(jī)遠(yuǎn)近平面,白色最近,黑色最遠(yuǎn)。

構(gòu)造函數(shù)

MeshDepthMaterial(parameters: Object)
  • parameters:(可選)用于定義材質(zhì)外觀的對象,具有一個(gè)或多個(gè)屬性。材質(zhì)的任何屬性都可以從此處傳入。

特殊屬性

  • .depthPacking[Constant]depth packing 的編碼。默認(rèn)為 BasicDepthPacking。
  • .displacementMap[Texture]:位移貼圖會影響網(wǎng)格頂點(diǎn)的位置,與僅影響材質(zhì)的光照和陰影的其他貼圖不同,移位的頂點(diǎn)可以投射陰影,阻擋其他對象,以及充當(dāng)真實(shí)的幾何體。
  • .displacementScale[Float]:位移貼圖對網(wǎng)格的影響程度(黑色是無位移,白色是最大位移)。如果沒有設(shè)置位移貼圖,則不會應(yīng)用此值。默認(rèn)值為 1
  • .displacementBias[Float]:位移貼圖在網(wǎng)格頂點(diǎn)上的偏移量。如果沒有設(shè)置位移貼圖,則不會應(yīng)用此值。默認(rèn)值為 0

?? custromMaterial 自定義材質(zhì)

給網(wǎng)格添加 custromMaterial 自定義材質(zhì)屬性,可以實(shí)現(xiàn)透明外圍 png 圖片貼圖的內(nèi)容區(qū)域陰影。

創(chuàng)建雪花

創(chuàng)建雪花 ??,就要用到粒子知識THREE.Points 是用來創(chuàng)建點(diǎn)的類,也用來批量管理粒子。本例中創(chuàng)建了 1500 個(gè)雪花粒子,并為它們設(shè)置了限定三維空間的隨機(jī)坐標(biāo)及橫向和豎向的隨機(jī)移動(dòng)速度。

// 雪花貼圖
let texture = new THREE.TextureLoader().load(snowTexture);
let geometry = new THREE.Geometry();
let range = 100;
let pointsMaterial = new THREE.PointsMaterial({
  size1,
  transparenttrue,
  opacity0.8,
  map: texture,
  // 背景融合
  blending: THREE.AdditiveBlending,
  // 景深衰弱
  sizeAttenuationtrue,
  depthTestfalse
});
for (let i = 0; i < 1500; i++) {
  let vertice = new THREE.Vector3(Math.random() * range - range / 2Math.random() * range * 1.5Math.random() * range - range / 2);
  // 縱向移速
  vertice.velocityY = 0.1 + Math.random() / 3;
  // 橫向移速
  vertice.velocityX = (Math.random() - 0.5) / 3;
  // 加入到幾何
  geometry.vertices.push(vertice);
}
geometry.center();
points = new THREE.Points(geometry, pointsMaterial);
points.position.y = -30;
scene.add(points);

?? Points 粒子

Three.js 中,雨 ???、雪 ??、云 ??、星辰 ? 等生活中常見的粒子都可以使用 Points 來模擬實(shí)現(xiàn)。

構(gòu)造函數(shù)

new THREE.Points(geometry, material);
  • 構(gòu)造函數(shù)可以接受兩個(gè)參數(shù),一個(gè)幾何體和一個(gè)材質(zhì),幾何體參數(shù)用來制定粒子的位置坐標(biāo),材質(zhì)參數(shù)用來格式化粒子;
  • 可以基于簡單幾何體對象如 BoxGeometrySphereGeometry等作為粒子系統(tǒng)的參數(shù);
  • 一般來講,需要自己指定頂點(diǎn)來確定粒子的位置。

?? PointsMaterial 點(diǎn)材質(zhì)

通過 THREE.PointsMaterial 可以設(shè)置粒子的屬性參數(shù),是 Points 使用的默認(rèn)材質(zhì)。

構(gòu)造函數(shù)

PointsMaterial(parameters : Object)
  • parameters:(可選)用于定義材質(zhì)外觀的對象,具有一個(gè)或多個(gè)屬性。材質(zhì)的任何屬性都可以從此處傳入。

?? 材質(zhì)屬性 .blending

材質(zhì)的.blending 屬性主要控制紋理融合的疊加方式,.blending 屬性的值包括:

  • THREE.NormalBlending:默認(rèn)值
  • THREE.AdditiveBlending:加法融合模式
  • THREE.SubtractiveBlending:減法融合模式
  • THREE.MultiplyBlending:乘法融合模式
  • THREE.CustomBlending:自定義融合模式,與 .blendSrc, .blendDst.blendEquation 屬性組合使用

?? 材質(zhì)屬性 .sizeAttenuation

粒子的大小是否會被相機(jī)深度衰減,默認(rèn)為 true(僅限透視相機(jī))。

?? Three.js 向量

幾維向量就有幾個(gè)分量,二維向量 Vector2xy 兩個(gè)分量,三維向量 Vector3x、y、z 三個(gè)分量,四維向量 Vector4x、yz、w 四個(gè)分量。

相關(guān)API

  • Vector2:二維向量
  • Vector3:三維向量
  • Vector4:四維向量

鏡頭控制、縮放適配、動(dòng)畫

controls = new OrbitControls(camera, renderer.domElement);
controls.target.set(000);
controls.enableDamping = true;
// 禁用平移
controls.enablePan = false;
// 禁用縮放
controls.enableZoom = false;
// 垂直旋轉(zhuǎn)角度限制
controls.minPolarAngle = 1.4;
controls.maxPolarAngle = 1.8;
// 水平旋轉(zhuǎn)角度限制
controls.minAzimuthAngle = -.6;
controls.maxAzimuthAngle = .6;
window.addEventListener('resize', () => {
  camera.aspect = window.innerWidth / window.innerHeight;
  camera.updateProjectionMatrix();
  renderer.setSize(window.innerWidth, window.innerHeight);
}, false);
function animate() {
  requestAnimationFrame(animate);
  renderer.render(scene, camera);
  controls && controls.update();
  // 旗幟動(dòng)畫更新
  mixer && mixer.update(new THREE.Clock().getDelta());
  // 鏡頭動(dòng)畫
  TWEEN && TWEEN.update();
  // 五環(huán)自轉(zhuǎn)
  fiveCyclesGroup && (fiveCyclesGroup.rotation.y += .01);
  // 頂點(diǎn)變動(dòng)之后需要更新,否則無法實(shí)現(xiàn)雨滴特效
  points.geometry.verticesNeedUpdate = true;
  // 雪花動(dòng)畫更新
  let vertices = points.geometry.vertices;
  vertices.forEach(function (v{
    v.y = v.y - (v.velocityY);
    v.x = v.x - (v.velocityX);
    if (v.y <= 0) v.y = 60;
    if (v.x <= -20 || v.x >= 20) v.velocityX = v.velocityX * -1;
  });
}

?? 完整開源代碼:https://github.com/dragonir/3d/tree/master/src/containers/Olympic

總結(jié)

?? 本文中主要包含的新知識點(diǎn)包括:

  • TorusGeometry 圓環(huán)面
  • MeshLambertMaterial 非光澤表面材質(zhì)
  • MeshDepthMaterial 深度網(wǎng)格材質(zhì)
  • custromMaterial 自定義材質(zhì)
  • Points 粒子
  • PointsMaterial 點(diǎn)材質(zhì)
  • 材質(zhì)屬性 .blending、.sizeAttenuation
  • Three.js 向量

進(jìn)一步優(yōu)化的空間:

  • 添加更多的交互功能、界面樣式進(jìn)一步優(yōu)化;

  • 吉祥物冰墩墩添加骨骼動(dòng)畫,并可以通過鼠標(biāo)和鍵盤控制其移動(dòng)和交互。



真的是太硬核了!dragonir 同學(xué)寫的那么詳細(xì),看來他是真的想教會我們。

?? 點(diǎn)擊下方閱讀原文直接查看網(wǎng)頁,3D 可視化方向的同學(xué),也可以看源碼來學(xué)習(xí)哦~

-End-

最近有一些小伙伴,讓我?guī)兔φ乙恍?nbsp;面試題 資料,于是我翻遍了收藏的 5T 資料后,匯總整理出來,可以說是程序員面試必備!所有資料都整理到網(wǎng)盤了,歡迎下載!

點(diǎn)擊??卡片,關(guān)注后回復(fù)【面試題】即可獲取

在看點(diǎn)這里好文分享給更多人↓↓

瀏覽 30
點(diǎn)贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評論
圖片
表情
推薦
點(diǎn)贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 日韩三级小说| 亚洲一区二区久久| 电家庭影院午夜| 日本免费高清视频在线观看一区 | 午夜成人免费视频| 婷婷九月| 国产黄色免费电影| 国产成人欧美| 日韩一本道在线| 岛国av片| 不卡一二三区| 日韩高清无码免费| 黄色片A| 婷婷香蕉| 一级无码高清| 成人高清无码视频| 无码一级二级| 我爱大香蕉| 懂色av懂色av粉嫩av| 大鸡巴日小逼| 丝袜东京热AV高清| 日韩黄色电影在线免费观看 | 懂色av懂色av粉嫩av无码| 成人黄色电影在线| 人人摸人人看人人草| 浙江妇搡BBBB搡BBBB| 91含羞草www·Com| 俺去俺来WWW色官方| 久久久久久久久久成人| 日本亚洲精品秘入口A片| 就爱操逼网| 狼友在线视频| av在线精品| 嫩小槡BBBB槡BBBB槡漫画| 国产三级三级三级| 成人免费网站黄| 五月天婷婷无码| 三级片网页| 国产精品91久久久| 欧美激情伊人久久五月天| 亚洲黄色影院| 男女日比视频| 大香蕉亚洲在线| 亚洲成人77777| 亚州黄色电影| 亚洲AV无码一区毛片AV| 大鸡巴日| 男人午夜AV| 东京热在线观看| 久久精品夜色噜噜亚洲A∨| 日本亚洲中文字幕| 99无码精品| 日韩免费性爱视频| 日韩精品无码av| 日本欧美中文| 国产免费视频69| 天天干天天做| 亚洲欧美成人在线观看| www高清无码| 日韩码波多野结衣| 97人妻人人澡人人爽人人| 国产亚洲精品久久久久久桃色| 欧美自拍第一页| 97成人精品| 性爱av在线观看| 五月天色婷婷丁香| 黄色免费视频网站| 2017天天干天天射| 操碰在线观看| 特级特黄AAAA免费看| 日韩熟妇人妻中文字幕| 成人A片免费在线观看| 2024av在线| 成人伊人| www.干| 乱子伦】国产精品| 丁香五月色情| 波多野成人无码精品视频| 亚洲高清无码一区二区三区| 亚洲综合干| 九色av| 欧美精品毛片| 大香蕉第一页| 无码婬片A片AAA毛片艳谭| 天天操天天射天天爽| 中文字幕无码A片久久| 女人的天堂网| 天堂中文在线a| 亚洲成人黄色在线| 免费爱爱视频网站| 成人精品一区二区无码| 91丨PORN丨国产| 国产激情视频网站| 精品动漫3D一区二区三区免费版| 色老板最新地址| 可以在线观看的AV| 精品亚洲无码视频| 免费看黄色录像| 一道本不卡视频| 天天色天天干天天| 日韩无码人妻系列| 亚洲色婷婷五月| 国产精品午夜在线观看| 黄色的视频网站| 自拍偷拍综合| 四川少妇搡bbbbb搡多人| 亚洲无码三级| 白虎高清无码大尺度免费在线观看| 91夫妻交友视频| AV网站入口| 狠操网| 久久精品国产AV一区二区三区| 亚洲最新AV在线| 波多野结衣av一区| 五月天福利影院| а中文在线天堂精品| 欧美久久久久久| 91久久爱| 国产成人av网站| 国产又大又粗又长| 性爱乱伦视频| 国产欧美一区二区三区视频在线观看| 成人在线不卡| 国产精品欧美精品| 久久久久久久亚洲| 岛国av免费| 91亚洲精品视频| 国产精成人品| 69毛片| av资源免费观看| 69国产精品| 日韩人妻无码一区二区| 香蕉成人网| 国产欧美一区二区三区视频| 91久久久裸身美女| 色就色欧美| 五月丁香激情在线| 免费看操逼逼| 91免费成人电影| 日韩无码黄片| 青青伊人网| 狠狠干亚洲视频| 91麻豆精品91久久久久同性| 韩国无码成人电影啊荒| 亚洲A∨无码无在线观看| 大香蕉大香蕉视频网| 一级A毛片| 中文字幕日韩美| 懂色AV成人| 嫩小槡BBBB槡BBBB槡免费-百度| 亚洲色,天堂网| 免费播放婬乱男女婬视频国产| 美女天堂网| 北条麻妃91| AA片视频| 在线免费观看中文字幕| 久久五月天婷婷| 日韩成人免费视频| 国产另类自拍| 亚洲无码人妻在线| 久久成人无码| 小黄片在线看| 中文字幕+乱码+中文乱码www | 精产国品一区二区区别| 玖玖爱AV| 国产A毛片| 成人AV在线资源| 一级性爽A√毛片| 97人妻视频| 91AV在线播放| 成人性生活影视av| 一级操逼视频| 日韩另类| 欧美一级片网站| 大色AV| 国产精品欧美一区二区| 一级特黄AA片| 九九热在线观看| 97人人艹| 99re热在线视频| 亚洲色啪| 九九韩剧网最新电视剧免费观看| 粉嫩小泬BBBB免费看-百度 | 无码av高清| 国产高清中文字幕| 西西人体444rt高清大胆模特| seseav| 奇米色色| 久久久久久无码视频| 中文字幕五月天| jlzzzjlzzz国产免费观看 | 欧美黄色操逼| 国产在线性爱视频| 色网站在线| 丁香五月激情小说| 欧美三P囗交做爰| 亚洲精品一区无码A片丁香花| 亚洲A片免费看| 人人草人人舔| 欧美成人性爱图片| 中文字幕在线观| 婷婷五月天视频| 日韩乱轮小说与视频| 天天草天天爽| 黄色视频a| 最近2019中文字幕mv第三季歌词 | 国产在线观看自拍| 一级做a视频| 国产黄片在线播放| 久久婷婷青青| 欧美成人三级在线播放| 亚洲精品久久久久久久久久久| 北条麻妃人妻中文无码| 午夜精品久久久久久久99老熟妇| 欧美熟妇擦BBBB擦BBBB| 男人的天堂一区| 91人妻人人澡人人爽人妻| 成人精品国产| 亚洲成人一区二区| 亚洲AAA电影| 日韩群交视频| 国产尤物视频| 亚洲人妻在线视频| 日韩人妻无码一区二区三区七区 | 无码三级在线免费观看| 国产性播放| 青草一区| 一区二区三区精品视频| 91精品一区| 国产麻豆精品ThePorn| 精品国内视频| 天天日天天搞| 大香蕉69| 婷婷九月色| 亚洲色图欧美在线| 日本少妇BBW| 日批视频网站| 粉嫩一区二区三区四区| 无码人妻一区二区三区蜜桃视频| 高清无码二区| 韩国成人啪啪无码高潮| 瘦精品无码一区二区三区四区五区六区七区八区 | 日韩和的一区二区| 亚洲无码精品专区| 俺去| 日韩成人在线视频| 丁香五月激情啪啪| 国产伦子伦一级A片在线| 欧美中文字幕在线视频| 乌克兰xxxx| 高清无码小视频| 波多野结衣一区二区三区在线观看| 国产在线小电影| 久久久久久久香蕉视频| 人成在线观看| 国产女同性系列| 中文在线视频| 伊人视频网| 国产区欧美去区在线| 国产56页| 日韩一区二区AV| 国产AV无码精品| 一本一道无码免费看视频| 中文字幕日韩精品人妻| 国产精品人妻无码一区牛牛影视| 91麻豆精品视频| 国产高清无码免费| 99久久精彩视频| 探花在线综合| 搡BBBB搡BBB搡五十| 国内综合久久| 天天日夜夜拍| 尻屄视频在线观看| 亚洲第一色在线| 人人天天爽| 亚洲精品成人无码毛片| 国产毛片一照区| 在线观看精品视频| 97香蕉久久国产超碰青草专区| 午夜操逼| 国产一级网站| 日本A级毛片| 亚洲第一中文字幕网| 日韩激情一区二区| 丁香五月激情五月| 色欧美大香蕉| 91天天看| 在线免费观看黄| 欧美激情性爱网站| 精品视频在线观看免费| 天天操天| 日韩激情视频在线观看| 亚洲天堂无码高清| 中文字幕无码在线| 一本之道高清数码大全| 亚洲色婷婷综合| AV热热| 免费黄色视频网站在线观看| 国产三级片在线视频| 亚洲综合免费| 毛片黄色视频| 黄色一级网站| 蜜桃影院| 亚洲视频中文| 日本成人激情视频| 41ts午夜福利| 五月丁香在线观看| 91理伦| 午夜无码精品一区二区三区99午| 欧洲肥胖BBBBBBBBBB| 国产在线高清| 黄色大片在线免费观看| 免费看黄色A片| 成人做爰A片免费看网站| 色AV高清| 1区2区视频| 日韩在观看线| 夜夜操狠狠操| 九九热国产视频| 狠狠撸天天日| www.91AV| 亚洲成人高清| 伊人影院在线看| 国产欧美综合一区二区三区| 色婷婷91| 自拍成人视频| 日本AI高清无码在线观看网址| 成人精品一区二区三区无码视频| 色五月视频| 青娱乐国产精品一区二区| 99热这里精品| 91黄色毛片| 18禁污网站| 无码一道本| AV中文无码| 白嫩外女BBWBBWBBW| 一道本不卡视频| 新妺妺窝窝777777野外| 2025最新偷拍| 中文在线免费看视频| 内射视频网站| 黄色操逼大片| 夜夜国自一区| 夜夜骑夜夜撸| 亚洲久久视频| 国产成人精品a视频一区| 一级黄色视频在线观看| 高清无码久久| 99久在线精品99re8热| 亚洲无码激情在线| 波多野结衣一区二区三区在线观看| 久久久一区二区三区四曲免费听| 久久久免费观看视频| www.蜜桃| 免费毛片在线| 久草资源在线| 免费自拍视频| 高清无码在线看| 影音先锋中文字幕av| 黄色成人网站在线免费观看| 国产精品国产三级国产| 青青草99| 午夜无码福利在线观看| 久久久亚洲| 激情五月天开心网| 狼友视频在线播放| 日韩精品无码人妻| 无码一区二区免费| 中文人妻无码| 久久午夜夜伦鲁鲁一区二区| yjizz视频网| 毛片内射| 99免费小视频| 蜜桃一区二区三区| 日韩欧美黄色电影| 伊人午夜| 色网站操逼| 18禁网址| 国产v在线观看| 韩剧《邻居的妻子》电视剧| 免费观看AV| 久草视频99| 黄色操逼| 久久久免费黄色视频| 强开小嫩苞一区二区电影| 另类视频区| 国产专区在线| 久久蜜桃成人| 最新国产av| 另类国产| 黄色视频在线观看网站| 国产毛片毛片| 女同二人91| 九九久久99| 日韩精品一区二区三免费视频| 日批国产| 最新av网| 一二三四在线视频| 人妻18无码人伦一区二区三区精品| 蜜臀久久99精品久久久电影| 亚洲一区久久| 91青青草| 成年人免费电影| 成人A片在线播放| 婷久久| 91伊人久热精品| 熟妇人妻中文字幕无码老熟妇| 免费在线观看一区| 日韩无码人妻| 少妇bbb| 国产香蕉视频免费| 日韩欧美精品在线观看| 北条麻妃九九九在线视频| 热99| 中文字幕AV第一页| 中文字幕在线观看完整av| 成人v| 国产一级a毛片| 骚逼综合| 久久久久亚洲AV无码专区| 操操操操操操| 亚洲熟妇在线| 熟女人妻一区二区三区免费看| 欧美性爱福利| 亚洲欧美在线视频观看| a无码| 五月婷婷六月丁香综合| 超碰a片| www.污| 激情视频综合网| 亚洲秘无码一区二区三区欧美| 人妻人人骑| 超碰最新在线观看| 爱爱一区| 国产精品不卡在线| 黑丝一区| 残忍另类BBWBBWBBW| 精品啪啪| 日本东京热视频| 男人午夜天堂| 日韩免费看片| GOGO人体做爰大胆视频| 日韩av中文| 色老师综合| 久久成人片| 可以免费看的黄色| 操你啦青青草| 亚洲少妇一区| 欧美操逼大片| 日韩精品一区二区三区四在线播放| 99无码国产成人精品| 99久久网站| 日韩在线一区二区| 欧美A黄| 激情婷婷六月| 免费在线观看黄| 一区二区黄| 中文字幕成人免费视频| 欧亚毛片| 国产精品视频免费在线观看| 久久中文无码| 99精品视频在线| 韩国无码片| 少妇搡BBBB搡BBB搡18禁| 欧美另类色图| 3344在线观看免费下载视频| 96精品| 91水蜜桃| 一级特黄AA片| 99热精品免费观看| 健身房被教练3p喷水了| 俺去| 美女天天日| 国产老熟女高潮毛片A片仙踪林 | 国产欧美成人| 欧美成人性爱在线| 国产人国产视频成人免费观看…| 亚洲视频中文| 亚洲高清超级无码在线视频观看| 日逼网站国产| 麻豆免费视频| 国产中文在线视频| 亚洲中文无码在线观看| 天天日天天草| 色网站在线观看| 青春草在线视频免费观看| 婷婷色网| 91精品久久久久久粉嫩| 仓井空一区| 肏逼视频免费看| 日韩三级在线| 日本中文字幕不卡| 国产精品高清网站| 亚洲视频在线观看| 成人肏逼视频| 18禁污网站| 黄色美女毛片| 日韩一级片在线观看| 麻豆内射| 久久久久999| 精品一区二区三区av| 久久高清无码视频| 国产做爱| 韩国gogogo高清在线完整版| 在线中文字幕在线观看| 麻豆91精品人妻成人无码| 精品人伦一区二区三区| 亚洲最新在线观看| 狠狠的操| 午夜免费视频1000| 九九热视频在线观看| 港澳日韩黄片| 免费一区二区三区| 久草美女| 国产探花| 日韩三级黄色| 亚洲精品97久久| 欧美色图在线播放| 中文字幕乱码中文字幕| 无码三级av| 日韩老熟妇| 国产视频导航| 亚洲天堂男人| 日本有码在线| 精品狼友| 亚洲性爱AV网站| 亚洲精品AⅤ一区二| www.狠狠爱| 男人插女人网站| 蜜臀久久99精品久久一区二区| 91精品一区| 无码爱爱视频| 欧美黄色精品| 狠狠色狠狠撸| 久久国产热在8| 91精品福利| 99热99在线| 操逼逼综合网| 在线色综合| 麻豆成人无码| 男女日逼视频| 三级精品| 乱伦综合网| 99精品视频网站| 成人黄网站免费观看| 国产成人一区| 91在线播放视频| 黄色无码电影| 中文字幕超清在线观看| 亚洲无码成人AV| 日逼片A| 狠狠操在线视频| 亚洲乱码日产精品BD在线观看| 噜噜噜在线视频| 国产内射久久| 黑人av在线观看| 国产欧美日韩| 激情色播| 国产激情啪啪| 97视频国产| 欧美成人精品激情在线观看| 亚日韩在线| 天天操操| 婷婷日韩一区二区三区| 国产午夜成人| 熟妇人妻中文| 亚洲第一黄色视频| 中文字幕AV免费观看| 五月天激情午夜福利| 日韩高清AV| 成人特级毛片全部免费播放| 高清无码视频观看| 北条麻妃在线一区二区| 欧美日韩国产成人在线观看| 好吊视频一区二区三区红桃视频you| 日韩爱爱| 婷婷伊人綜合中文字幕| 欧美日韩国产精品成人| 国产乱子伦一区二区三区在线观看| 色中色av| 国产婷婷精品| 青娱乐在线成人| 91搞搞| 91爽爽| 欧美久久精品| 一级A色情大片| 国产精品久久久久久无人区| 一级婬片A片AAAAA毛片| 大香蕉伊人成人| 国产肏逼视频| 色婷婷AV一区二区三区之e本道| 99热这里只有精品7| 色资源在线观看| 大香蕉伊人手机在线| 精品AV无码一区二区三区| 青娱乐大香蕉| 3D动漫啪啪精品一区二| 国产婷婷色一区二区在线观看| 翔田千里無碼破解| 韩国人妻无码| 亚洲少妇人妻| 色中色av| 在线不卡无码| 欧美理伦| 国产在线在线| 天天爽夜夜爽夜夜爽精品视频| 亚洲久久无码| 日本黄色免费看| 超碰人人人人人| 国产精品午夜福利视频| 久久久精品久久久| 日日99| 成人理论片| 国产精品免费一区二区三区四区视频 | 91av在线电影| 欧美成人免费精品| 亚洲成人在线视频观看| 亚洲精品一区二区三区蜜桃| 69av在线| 国内特级毛片| 欧美一级婬片免费视频黄| 欧美老熟妇乱大交XXXXX| 婷婷内射| 99热这里精品| 午夜福利1000| 高清无码免费看| AV黄色在线| 日韩AV中文字幕在线播放| 草久伊人| 成人在线18| 成人精品亚洲人成在线| 久久日韩无码| 成人黄色毛片视频| 欧美黄片AAA| www.爆操| 大色欧美综合| 亚洲成人视频| 麻豆一级片| 国产精品免费在线| 九九热在线视频| 污视频在线免费观看| 成人免费无码婬片在线观看免费 | 日韩欧美视频一区| 在线观看成年人视频| 9l农村站街老熟女| 人人插人人爽| 初尝人妻滑进去了莹莹视频| 97AV人妻无码视频二区| 国产黄色小视频在线观看| 中文字幕AV一区| 一级香蕉视频| 日本免费不卡视频| 欧美日韩婷婷| 中文精品在线| 国产91久久婷婷一区二区| 欧美视频区| 十八禁网站在线播放| www日本在线| 婷婷中文字幕亚洲| 特黄无码| 免费看无码| 亚洲AV图片| 男人操女人免费网站| 屁屁影院CCYYCOM国产| 二区三区视频| 亚洲无码中| 精品欧美成人片在线| 激情播播网| 91久久精品日日躁夜夜躁欧美| 黄色永久免费| 日韩欧美一区二区在线观看| 影音先锋av在线资源| 日韩精品小电影| 91丨九色丨老熟女探花| 国产精品精品精品| 青青色在线视频| 精品国产重口乱子伦| 无码人妻丰满熟妇区蜜桃| 成人无码免费看| 欧美V∧| 三级片中文| 成人免费毛片蓝莓| 一级a一级a爱片免费免免高潮| 成人三级片免费| 少妇人妻无码| 午夜在线观看视频18| 中文字幕中文字幕| 五月激情视频| 人人妻人人骑| 猫咪视频大全视频| 亚洲AVA| 成人A电影| 视频一区二区免费| 久久天堂av| 亚洲成人精品一区| 国产在线1| 国产乱伦内射视频| 毛片资源| 人人爽久久涩噜噜噜网站| 911精品人妻一区二区三区A片| 大香蕉精品在线视频| 日韩性爱视频网站| av无码观看| 欧美在线综合| 亚洲三级片在线播放| yw在线观看| 99热最新| 99极品视频| 成人日韩精品| 操逼网123首页| 婷婷五月丁香在线| 日韩专区在线观看| 国产精品AV在线观看| 青青色在线观看| 亚洲无码精品在线观看| 国产av中文字幕| 操逼动漫| 韩日无码| 国产一区二区久久| 久热中文在线观看精品视频| 久久久久久久AV| 日韩精品在线视频观看| 欧美日韩中文在线| 成人午夜黄片| 国产九九九九| 无码av在线播放| 黄色欧美视频| 极品美女扒开粉嫩小泬高潮一| 久久黄色A片| 天天毛片| 手机看片国产| 五月丁香婷婷色色| A片视频免费观看| 欧美日韩无码| 少妇搡BBBB搡BBB搡澳门| 性爱无码视频| AV草逼| 理论毛片| 免费在线观看视频a| 色播一区| 亚洲无码在线视频播放| 丁香五月综合啪啪| 黄色小说视频| 操逼三级| 中文字幕精品无码一区二区| 逼网站| 三级片无码| 亚欧av无码| 午夜老湿机| 国产18水真多18精品| 中文字幕在线观看二区| 国内成人AV| 爱射综合| 爱搞视频在线观看| 国产在线在线| 精品一本道| 黄片高清无码在线观看| 91天堂在线| 精品国产一区二区三区久久久蜜月| 亚洲无码高清视频在线观看| 日韩免费高清| 肏逼视频免费看| 好好的日视频| 日韩欧美在线中文字幕| 一道本视频| 天天操综合| 蜜桃视频| 婷婷激情五月天丁香| 91嫖妓站街埯店老熟女| 日韩欧美在线中文字幕| 日韩欧美123| 网站你懂得| 你懂的在线视频| 小黄片高清无码| 粉嫩99精品99久久久久久特污| 欧美AAA在线观看| 欧美第一夜| 操逼逼网| 二区三区不卡| 亚洲熟妇在线观看一区二区| 色欲网址| 久久一二三区| 玉米地一级婬片A片| 色欧美大香蕉| 国产波霸爆乳一区二区| 欧日韩在线| 精品四区| 3D动漫精品啪啪一区二区免费| 国产欧美精品成人在线观看 | 日本黄色电影在线观看| 777视频在线观看| www.插插插| 午夜性爽视频男人的天堂| 国产欧美一区二区三区特黄手机版| 九一国产在线| 中文字幕在线视频免费观看| 一本道高清无码视频| 日韩精品在线免费视频| 九月婷婷综合| 日比视频网站| 国产精品无码成人AV在线播放| 成人自拍偷拍视频| 一本色道精品久久一区二区三区 | 人人看人人摸人人搞| 2021无码| 国产成人AV免费观看| 亚洲欧美日韩免费| 影音先锋乱伦| 麻豆成人无码精品视频| 国产在线一区二区| 成人午夜视频精品一区| 波多野结衣国产区42部| 大黄网站在线观看| 探花av| AV一二区| 欧美污视频在线观看| 国产迷奸视频| 中文字幕网站| 国产欧美二区综合中文字幕精品一 | 国产中文字幕在线播放| 亚洲色视频在线观看| 热九九热| www.午夜| 天天天天天天干| 黑人中文字幕| 国产AV无码专区| 五月天婷婷基地| 成人伊人网| 夜夜天天人人| 国产一级a毛一级a毛视频在线网站) | 一区视频在线| 亚洲黄色成人网站| 亚洲综合网在线| 成人亚洲欧美| 北条麻妃网址| 久久成人123| 91av在线观看视频| 极品久久| 精品偷拍| 人妖黃色一級A片| 欧美成人精品网站| www.污| 成人操B视频在线观看| 蜜桃视频app| 久久成人小电影| 911精品国产一区二区在线| 操操操操操操| 日韩精品一区二区三区在线观看免费 | 人人操人人爽人人妻| 少妇bbw搡bbbb搡bbbb| 亚洲午夜久久久久久久久久久| 热久久最新地址| 国产做爱| 免费v片| 国产精品v欧美精品v日韩精品| 亚洲理论视频| 国产乱子伦-区二区三区| 91精品少妇| 亚洲精品久久久久avwww潮水| 欧美日韩操| 五月天福利网| 簧片在线免费观看| 日韩爱爱| 神马午夜影院| 999一区二区三区| 日韩国产欧美| 午夜久| av无码中文| 免费射精一二三区| 日韩一区二区三区免费视频| 国产无码区| 久久久久久无码日韩欧美电影 | 欧美日韩在线视频播放| 木下凛凛子AV888AV在线观看| 欧美日韩一区二区在线| 国产色视频在线| 欧美成人黄色小视频| 黄色操逼大片| 久久精品成人电影| 欧美在线va| 天天爱综合| 国产精品秘久久久久久免费播放| 无码人妻一区二区三区三| 青青国产在线| 一区二区三区精品| 欧美日黄| 亚洲清高毛无码毛片| 91视频青青草| 北条麻妃波多波多野结衣| 久久久久久久国产精品| 精品操逼视频| 超碰人人91| 免费射精一二三区| 国产高清a| 婷婷99狠狠躁天天躁| 伊人影院麻豆| 亚洲a片在线观看| 久草福利| 色五月激情小说| 欧美丰满少妇人妻精品|