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

静态网站设计方案公司网站怎么建立

静态网站设计方案,公司网站怎么建立,wordpress产品详情页按钮,有源代码怎么做网站28. Three.js案例-创建圆角矩形并进行拉伸 实现效果 知识点 WebGLRenderer (WebGL渲染器) WebGLRenderer 是 Three.js 中用于渲染 3D 场景的主要渲染器。 构造器 WebGLRenderer( parameters : Object ) 参数类型描述parametersObject渲染器的配置参数,可选。 …

28. Three.js案例-创建圆角矩形并进行拉伸

实现效果

效果

知识点

WebGLRenderer (WebGL渲染器)

WebGLRenderer 是 Three.js 中用于渲染 3D 场景的主要渲染器。

构造器

WebGLRenderer( parameters : Object )

参数类型描述
parametersObject渲染器的配置参数,可选。

常用参数:

  • antialias:布尔值,是否开启抗锯齿,默认为 false
  • alpha:布尔值,是否允许透明,默认为 false
  • precision:字符串,指定着色器的精度,可选值为 low, medium, high
方法
  • setSize(width, height): 设置渲染器的尺寸。
  • setClearColor(color, alpha): 设置渲染器的背景颜色和透明度。

PerspectiveCamera (透视相机)

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

构造器

PerspectiveCamera(fov, aspect, near, far)

参数类型描述
fovNumber视野角度,单位为度。
aspectNumber相机的宽高比。
nearNumber近裁剪面距离。
farNumber远裁剪面距离。
方法
  • position.set(x, y, z): 设置相机的位置。
  • lookAt(vector): 设置相机的朝向。

Scene (场景)

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

构造器

Scene()

方法
  • add(object): 向场景中添加对象。
  • remove(object): 从场景中移除对象。

PointLight (点光源)

PointLight 是 Three.js 中用于创建点光源的对象。

构造器

PointLight(color, intensity, distance, decay)

参数类型描述
colorColor光源的颜色。
intensityNumber光源的强度,默认为 1
distanceNumber光源的最大影响距离,默认为 0,表示无限远。
decayNumber光源的衰减系数,默认为 1
方法
  • position.set(x, y, z): 设置光源的位置。

Shape (形状)

Shape 是 Three.js 中用于创建自定义 2D 形状的对象。

构造器

Shape(points)

参数类型描述
pointsArray一系列 Vector2 点,用于定义形状的轮廓。
方法
  • moveTo(x, y): 移动到指定点。
  • lineTo(x, y): 从当前点画直线到指定点。
  • quadraticCurveTo(cpx, cpy, x, y): 从当前点画二次贝塞尔曲线到指定点。

ExtrudeGeometry (拉伸几何体)

ExtrudeGeometry 是 Three.js 中用于创建拉伸几何体的对象。

构造器

ExtrudeGeometry(shape, options)

参数类型描述
shapeShape要拉伸的 2D 形状。
optionsObject拉伸选项,可选。

常用选项:

  • depth: 拉伸深度,默认为 100
  • bevelEnabled: 是否启用倒角,默认为 true
  • bevelThickness: 倒角厚度,默认为 6
  • bevelSize: 倒角大小,默认为 1
  • bevelOffset: 倒角偏移,默认为 0
  • bevelSegments: 倒角段数,默认为 1
  • extrudePath: 拉伸路径,可以是一个 Curve 对象。

Mesh (网格)

Mesh 是 Three.js 中用于创建网格对象的类。

构造器

Mesh(geometry, material)

参数类型描述
geometryGeometry网格的几何体。
materialMaterial网格的材质。
方法
  • translateX(amount): 沿 X 轴移动指定距离。
  • translateY(amount): 沿 Y 轴移动指定距离。
  • translateZ(amount): 沿 Z 轴移动指定距离。
  • scale.set(x, y, z): 设置网格的缩放比例。

MeshPhongMaterial (网格Phong材质)

MeshPhongMaterial 是 Three.js 中用于创建 Phong 着色材质的对象。

构造器

MeshPhongMaterial(parameters)

参数类型描述
parametersObject材质的配置参数,可选。

常用参数:

  • color: 材质的颜色。
  • specular: 高光颜色,默认为 0x111111
  • shininess: 高光强度,默认为 30

OrbitControls (轨道控制器)

OrbitControls 是 Three.js 中用于控制相机旋转、缩放和平移的控制器。

构造器

OrbitControls(camera, domElement)

参数类型描述
cameraCamera控制的相机对象。
domElementDOMElement控制器绑定的 DOM 元素。
方法
  • update(): 更新控制器状态。

代码

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><script src="ThreeJS/three.js"></script><script src="ThreeJS/jquery.js"></script><script src="ThreeJS/OrbitControls.js"></script>
</head>
<body>
<center id="myContainer"></center>
<script>// 创建渲染器var myRenderer = new THREE.WebGLRenderer({antialias: true});myRenderer.setSize(window.innerWidth, window.innerHeight);myRenderer.setClearColor('white', 1.0);$("#myContainer").append(myRenderer.domElement);// 创建相机var myCamera = new THREE.PerspectiveCamera(45, 1, 1, 1000);myCamera.position.set(200, 200, 200);myCamera.lookAt({x: 0, y: 0, z: 0});// 创建场景var myScene = new THREE.Scene();// 创建点光源var myPointLight = new THREE.PointLight('white');myPointLight.position.set(320, 200, 400);myScene.add(myPointLight);// 创建圆角矩形var myShape = new THREE.Shape();var x = 0, y = 0, myWidth = 30, myHeight = 40, myRadius = 6;myShape.moveTo(x, y + myRadius);myShape.lineTo(x, y + myHeight - myRadius);myShape.quadraticCurveTo(x, y + myHeight, x + myRadius, y + myHeight);myShape.lineTo(x + myWidth - myRadius, y + myHeight);myShape.quadraticCurveTo(x + myWidth, y + myHeight, x + myWidth, y + myHeight - myRadius);myShape.lineTo(x + myWidth, y + myRadius);myShape.quadraticCurveTo(x + myWidth, y, x + myWidth - myRadius, y);myShape.lineTo(x + myRadius, y);myShape.quadraticCurveTo(x, y, x, y + myRadius);// 设置拉伸圆角矩形的路径var myCurve = new THREE.CatmullRomCurve3([new THREE.Vector3(0, 0, 0), new THREE.Vector3(0, 30, 0)]);// 创建拉伸之后的圆角矩形var myGeometry = new THREE.ExtrudeGeometry(myShape, {extrudePath: myCurve});var myMaterial = new THREE.MeshPhongMaterial({color: 'cyan'});var myMesh = new THREE.Mesh(myGeometry, myMaterial);myMesh.translateX(100);myMesh.translateZ(100);myMesh.translateY(0);myScene.add(myMesh);// 渲染圆角矩形animate();var step = 0;function animate() {myRenderer.render(myScene, myCamera);step = step + 0.01;var myScale = 2 * Math.sin(step) + 2;myMesh.scale.y = myScale;myMesh.scale.x = 2;myMesh.scale.z = 2;requestAnimationFrame(animate);}// 创建轨道控制器var myOrbitControls = new THREE.OrbitControls(myCamera);
</script>
</body>
</html>

演示链接

示例链接

http://www.hrbkazy.com/news/22675.html

相关文章:

  • 怎么做自己的网站logo做销售怎么和客户聊天
  • 哪家企业做网站好今天热搜榜前十名
  • 做数据的网站营销咨询
  • 房山网站建设网站安全检测在线
  • 秦皇岛公司做网站佛山seo关键词排名
  • 佛山网站建设推广订做sem竞价培训
  • 杭州网站制作报价域名注册平台有哪些
  • 塑胶原料东莞网站建设技术支持项目宣传推广方案
  • c 可以做哪些网站泰州百度seo公司
  • 厦门做百度推广的网站泉州百度seo公司
  • p2p的网站开发郑州整站网站优化
  • 增城网站建设公司百度搜索关键词热度
  • 打不开网页是怎么回事成都网站改版优化
  • python电商网站开发网站seo哪家好
  • 肇庆网站建设推广长沙网站优化体验
  • 大连建设项目优化方案的格式及范文
  • 国开机考网站界面设计宁波网络优化seo
  • 银川网站建设怎么样北京seo招聘信息
  • 网站结构与导航设计网络营销推广有哪些方法
  • 新疆建设兵团门户网站竞价代运营
  • 做网站销售好吗企业网站注册
  • 岳阳做网站seo网络营销技术
  • 寄生虫网站排名代做长沙官网seo分析
  • jsp与网站开发期末试题广东东莞最新疫情
  • 百度收录网站方法软文兼职
  • 厦门网站排名优化费用抖音黑科技引流推广神器
  • bootstrap网站案例优化大师免费下载
  • 盈润企业网站管理系统如何进行网站推广
  • 建设银行造价咨询中心网站线上推广网络公司
  • 网站后台怎么修改文字lol今日赛事直播