当前位置: 首页 > news >正文

网站挂马解决360优化大师官网

网站挂马解决,360优化大师官网,做网站中心,网站订票策划方案33. Three.js案例-创建带阴影的球体与平面 实现效果 知识点 WebGLRenderer (WebGL渲染器) WebGLRenderer 是 Three.js 中用于渲染 3D 场景的核心类。它负责将场景中的对象绘制到画布上。 构造器 new THREE.WebGLRenderer(parameters)参数类型描述parametersObject可选参数…

33. Three.js案例-创建带阴影的球体与平面

实现效果

效果

知识点

WebGLRenderer (WebGL渲染器)

WebGLRenderer 是 Three.js 中用于渲染 3D 场景的核心类。它负责将场景中的对象绘制到画布上。

构造器
new THREE.WebGLRenderer(parameters)
参数类型描述
parametersObject可选参数对象,用于配置渲染器的各种属性。

常用参数:

  • antialias:布尔值,是否开启抗锯齿,默认为 false
  • alpha:布尔值,是否允许透明背景,默认为 false
  • premultipliedAlpha:布尔值,是否使用预乘 alpha,默认为 true
  • preserveDrawingBuffer:布尔值,是否保留绘图缓冲区,默认为 false
  • depth:布尔值,是否创建深度缓冲区,默认为 true
  • stencil:布尔值,是否创建模板缓冲区,默认为 true
  • logarithmicDepthBuffer:布尔值,是否使用对数深度缓冲区,默认为 false
  • powerPreference:字符串,指定 GPU 的性能偏好,可选值为 defaulthigh-performancelow-power
方法
  • setPixelRatio(value):设置设备像素比。
  • setSize(width, height, updateStyle):设置渲染器的尺寸。
  • setClearColor(color, alpha):设置渲染器的背景颜色。
  • render(scene, camera):渲染场景。

Scene (场景)

Scene 是 Three.js 中用于存储和管理所有 3D 对象的容器。

构造器
new THREE.Scene()

PerspectiveCamera (透视相机)

PerspectiveCamera 是 Three.js 中用于创建透视投影的相机。

构造器
new THREE.PerspectiveCamera(fov, aspect, near, far)
参数类型描述
fovNumber视野角度,以度为单位。
aspectNumber相机的宽高比。
nearNumber近裁剪面距离,小于该距离的对象不会被渲染。
farNumber远裁剪面距离,大于该距离的对象不会被渲染。
方法
  • position.set(x, y, z):设置相机的位置。
  • lookAt(vector):使相机看向指定的点。

SpotLight (聚光灯)

SpotLight 是 Three.js 中用于创建聚光灯的光源。

构造器
new THREE.SpotLight(color, intensity, distance, angle, penumbra, decay)
参数类型描述
colorColor光源的颜色。
intensityNumber光源的强度,默认为 1。
distanceNumber光源的最大影响距离,默认为 0(无限远)。
angleNumber光源的光照角度,默认为 Math.PI/3。
penumbraNumber光源的半影区域,默认为 0。
decayNumber光源的衰减,默认为 1。
属性
  • castShadow:布尔值,是否投射阴影,默认为 false

Mesh (网格)

Mesh 是 Three.js 中用于创建 3D 对象的基本类。

构造器
new THREE.Mesh(geometry, material)
参数类型描述
geometryGeometry网格的几何体。
materialMaterial网格的材质。
属性
  • castShadow:布尔值,是否投射阴影,默认为 false
  • receiveShadow:布尔值,是否接收阴影,默认为 false

SphereBufferGeometry (球体几何体)

SphereBufferGeometry 是 Three.js 中用于创建球体几何体的类。

构造器
new THREE.SphereBufferGeometry(radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength)
参数类型描述
radiusNumber球体的半径。
widthSegmentsNumber经度方向上的分段数,默认为 8。
heightSegmentsNumber纬度方向上的分段数,默认为 6。
phiStartNumber经度起始角度,默认为 0。
phiLengthNumber经度范围,默认为 2 * Math.PI。
thetaStartNumber纬度起始角度,默认为 0。
thetaLengthNumber纬度范围,默认为 Math.PI。

PlaneGeometry (平面几何体)

PlaneGeometry 是 Three.js 中用于创建平面几何体的类。

构造器
new THREE.PlaneGeometry(width, height, widthSegments, heightSegments)
参数类型描述
widthNumber平面的宽度。
heightNumber平面的高度。
widthSegmentsNumber宽度方向上的分段数,默认为 1。
heightSegmentsNumber高度方向上的分段数,默认为 1。

MeshNormalMaterial (网格法线材质)

MeshNormalMaterial 是 Three.js 中用于显示网格法线的材质。

构造器
new THREE.MeshNormalMaterial(parameters)
参数类型描述
parametersObject可选参数对象,用于配置材质的各种属性。

常用参数:

  • wireframe:布尔值,是否以线框模式显示,默认为 false
  • transparent:布尔值,是否允许透明,默认为 false

MeshStandardMaterial (网格标准材质)

MeshStandardMaterial 是 Three.js 中用于创建物理上准确的标准材质。

构造器
new THREE.MeshStandardMaterial(parameters)
参数类型描述
parametersObject可选参数对象,用于配置材质的各种属性。

常用参数:

  • color:颜色值,材质的颜色。
  • metalness:浮点数,金属度,默认为 0。
  • roughness:浮点数,粗糙度,默认为 1。

Vector3 (三维向量)

Vector3 是 Three.js 中用于表示三维向量的类。

构造器
new THREE.Vector3(x, y, z)
参数类型描述
xNumber向量的 x 分量。
yNumber向量的 y 分量。
zNumber向量的 z 分量。
方法
  • set(x, y, z):设置向量的各个分量。
  • multiplyScalar(scalar):将向量的各个分量乘以一个标量。

ShadowMap (阴影映射)

ShadowMap 是 Three.js 中用于启用和配置阴影映射的功能。

属性
  • enabled:布尔值,是否启用阴影映射,默认为 false

代码

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><script src="ThreeJS/three.js"></script><script src="ThreeJS/jquery.js"></script>
</head>
<body>
<div id="myContainer"></div>
<script>// 创建渲染器var myRenderer = new THREE.WebGLRenderer();myRenderer.setPixelRatio(window.devicePixelRatio);myRenderer.setSize(480, 320);myRenderer.setClearColor('white', 1);// 创建场景var myScene = new THREE.Scene();// 创建相机var myCamera = new THREE.PerspectiveCamera(45, 480 / 320, 0.1, 1000);myCamera.position.set(4, 4, 2);myCamera.position.multiplyScalar(2);myCamera.lookAt(new THREE.Vector3(0, 0, 0));// 启用阴影映射myRenderer.shadowMap.enabled = true;// 添加渲染器到容器$("#myContainer").append(myRenderer.domElement);// 创建聚光灯var mySpotLight = new THREE.SpotLight('white');mySpotLight.position.set(-3, 46, -1);mySpotLight.distance = 80;mySpotLight.angle = Math.PI / 50;mySpotLight.castShadow = true;myScene.add(mySpotLight);// 创建球体var mySphereGeometry = new THREE.SphereBufferGeometry(2, 36, 36);var mySphereMaterial = new THREE.MeshNormalMaterial({wireframe: true,transparent: true});var mySphereMesh = new THREE.Mesh(mySphereGeometry, mySphereMaterial);mySphereMesh.position.set(0, 2.5, 0);mySphereMesh.castShadow = true;myScene.add(mySphereMesh);// 创建平面var myPlaneGeometry = new THREE.PlaneGeometry(120, 120, 1, 1);var myPlaneMaterial = new THREE.MeshStandardMaterial({color: 'white'});var myPlaneMesh = new THREE.Mesh(myPlaneGeometry, myPlaneMaterial);myPlaneMesh.rotateX(-Math.PI / 2);myPlaneMesh.rotateZ(-Math.PI / 7);myPlaneMesh.position.set(0, -3.5, 0);myPlaneMesh.receiveShadow = true;myScene.add(myPlaneMesh);// 渲染场景myRenderer.render(myScene, myCamera);
</script>
</body>
</html>

演示链接

示例链接

http://www.yidumall.com/news/6525.html

相关文章:

  • 团购网站做二级域名影响seo排名的因素
  • 网站制作论文 优帮云广告公司联系方式
  • dede网站地图代码免费b站推广网站有哪些
  • 广州企业网页制作新乡seo公司
  • 网站验证码系统白酒最有效的推广方式
  • 防城港做网站国际最新新闻
  • 哪个网站可以做视频软件免费好用的crm软件
  • 建网页网站百度seo排名优化公司哪家强
  • 东莞市专注网站建设公司短视频培训学校
  • 第一源码交易平台关键词排名优化公司
  • 网页视频在线提取专业排名优化工具
  • 做网站应该学什么语言软文营销的五大注意事项
  • 重庆集团网站建设网络热词的利弊
  • 企业宣传片制作公司哪家好seo网站关键词优化哪家好
  • dw制作简单网站模板下载地址搜索关键词优化服务
  • 网页传奇游戏黑屏怎么解决seo学校培训
  • 怎样在百度上建网站百度指数特点
  • 太原做网站公司惠州网站推广排名
  • 景点网站开发积极意义厦门seo网络优化公司
  • 哔哩哔哩网站世界杯比分
  • 博客wordpress模板江西seo推广软件
  • 毕设代做的网站微信朋友圈广告30元 1000次
  • WordPress使用CDN无法登录seo服务公司
  • 网站换域名有没有影响免费数据分析网站
  • 中建人才网证书查询系统福州百度seo
  • 网站运营软件软文推广网
  • 777fj做最好的网站百度推广个人能开户吗
  • 成都新线加网站建设舆情系统
  • 幼儿园门户网站建设郑州seo外包收费标准
  • 重庆企业展厅设计贵州快速整站优化