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

绵阳网站建设策划内容wordpress网站可以上传视频

绵阳网站建设策划内容,wordpress网站可以上传视频,网页制作基础教程课件,北京市建设工程网57. Three.js案例-创建一个带有聚光灯和旋转立方体的3D场景 实现效果 该案例实现了使用Three.js创建一个带有聚光灯和旋转立方体的3D场景。 知识点 WebGLRenderer(WebGL渲染器) THREE.WebGLRenderer 是 Three.js 中用于将场景渲染为 WebGL 内容的核…

57. Three.js案例-创建一个带有聚光灯和旋转立方体的3D场景

实现效果

该案例实现了使用Three.js创建一个带有聚光灯和旋转立方体的3D场景。
效果

知识点

WebGLRenderer(WebGL渲染器)

THREE.WebGLRenderer 是 Three.js 中用于将场景渲染为 WebGL 内容的核心类。它支持抗锯齿等高级特性。

构造器
new THREE.WebGLRenderer(parameters)
参数类型描述
parametersObject渲染器参数对象,包含 antialiasalpha 等属性
  • antialias: 布尔值,是否开启抗锯齿,默认为 false

Scene(场景)

THREE.Scene 代表一个3D场景,所有物体都必须添加到场景中才能被渲染。

方法
  • add(object): 将物体添加到场景中。
  • background: 设置场景的背景颜色或环境贴图。

PerspectiveCamera(透视相机)

THREE.PerspectiveCamera 定义了一个透视投影相机,用于模拟人眼观察世界的方式。

构造器
new THREE.PerspectiveCamera(fov, aspect, near, far)
参数类型描述
fovNumber视野角度(Field of View),以度为单位
aspectNumber宽高比
nearNumber近裁剪面距离
farNumber远裁剪面距离
方法
  • position.set(x, y, z): 设置相机位置。
  • lookAt(vector): 设置相机朝向目标点。
  • updateProjectionMatrix(): 更新相机的投影矩阵。

SpotLight(聚光灯)

THREE.SpotLight 表示一个聚光灯,可以模拟手电筒或舞台灯光的效果。

构造器
new THREE.SpotLight(color, intensity, distance, angle, penumbra, decay)
参数类型描述
colorColor光源颜色
intensityNumber光照强度,默认为 1
distanceNumber光源影响的最大距离,默认为无穷大
angleNumber聚光角度,默认为 Math.PI / 3
penumbraNumber半影区域大小,默认为 0
decayNumber光照衰减,默认为 1
方法
  • position.set(x, y, z): 设置光源位置。

SpotLightHelper(聚光灯辅助线)

THREE.SpotLightHelper 用于可视化聚光灯的光照范围。

构造器
new THREE.SpotLightHelper(spotLight, size)
参数类型描述
spotLightSpotLight要可视化的聚光灯
sizeNumber辅助线的尺寸,默认为 1

BoxGeometry(立方体几何体)

THREE.BoxGeometry 用于创建一个立方体几何体。

构造器
new THREE.BoxGeometry(width, height, depth, widthSegments, heightSegments, depthSegments)
参数类型描述
widthNumber立方体宽度
heightNumber立方体高度
depthNumber立方体深度
widthSegmentsNumber宽度分段数,默认为 1
heightSegmentsNumber高度分段数,默认为 1
depthSegmentsNumber深度分段数,默认为 1

MeshPhongMaterial(网格材质)

THREE.MeshPhongMaterial 是一种基于 Phong 照明模型的材质,能够很好地表现光照效果。

构造器
new THREE.MeshPhongMaterial(parameters)
参数类型描述
parametersObject材质参数对象,包含 colormap 等属性
  • color: 材质颜色。
  • map: 纹理贴图。

Mesh(网格)

THREE.Mesh 是由几何体和材质组成的3D对象。

构造器
new THREE.Mesh(geometry, material)
参数类型描述
geometryGeometry几何体
materialMaterial材质
方法
  • translateX(amount): 沿X轴平移指定距离。

动画函数

requestAnimationFrame 是浏览器提供的用于执行动画的方法,确保动画帧率与显示器刷新率同步。

方法
function animate() {requestAnimationFrame(animate);// 更新物体状态myMesh.rotation.x += 0.01;myMesh.rotation.y += 0.01;myMesh.rotation.z += 0.01;// 渲染场景myRenderer.render(myScene, myCamera);
}

代码

<!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({antialias: true});myRenderer.setSize(window.innerWidth, window.innerHeight);$("#myContainer").append(myRenderer.domElement);var myScene = new THREE.Scene();myScene.background = new THREE.Color('white');var myCamera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);myCamera.position.set(179.70, 84, 146);myCamera.lookAt(new THREE.Vector3(0, 0, 0));myCamera.updateProjectionMatrix();var mySpotLight = new THREE.SpotLight('lightgreen');mySpotLight.position.set(0, 100, 100);myScene.add(mySpotLight);var mySpotLightHelper = new THREE.SpotLightHelper(mySpotLight, 'green');myScene.add(mySpotLightHelper);var myBoxGeometry = new THREE.BoxGeometry(50, 50, 50);var myMap = THREE.ImageUtils.loadTexture("images/img002.jpg");var myMaterial = new THREE.MeshPhongMaterial({map: myMap});var myMesh = new THREE.Mesh(myBoxGeometry, myMaterial);myMesh.translateX(100);myScene.add(myMesh);function animate() {requestAnimationFrame(animate);myMesh.rotation.x += 0.01;myMesh.rotation.y += 0.01;myMesh.rotation.z += 0.01;myRenderer.render(myScene, myCamera);}animate();
</script>
</body>
</html>

演示链接

示例链接

http://www.yayakq.cn/news/296163/

相关文章:

  • 做调查赚钱的网站有哪些品牌网站怎么建设
  • 网站建设与管理实用教程课后答案投融资平台
  • 平原网站建设费用wordpress 漏洞 扫描
  • 桂林市内必去的地方系统优化是什么意思
  • 东城手机网站建设哪个网站域名便宜
  • 女的男的做那个视频网站做网站时的兼容问题
  • 定制网站 多少钱网页游戏怎么下载
  • 建设销售型企业网站建筑学网站
  • 网站建设详细需求说明书电商推广方法有哪些
  • 半成品网站如何优化培训体系
  • 做网站送的小程序有什么用微表单网站
  • 南京网站制作联系宋电脑手机一体网站
  • 济南建站方案设计网站案例网站
  • 兰州网站制作公司100销售app软件大概需要多少钱
  • 北京 建设工程 质监站网站seo排名点击器曝光行者seo
  • ps如何做网站横幅seo网站推广有哪些
  • 网站seo排名wordpress3.9zhcn
  • 十大网站黄页wordpress query_posts 分页
  • 郑州网站制作公司名单做网站龙头
  • 如何做网站销售包装设计公司名字
  • 网站建设有哪些工作需需要筹备怎么做起泡胶
  • 网站软件下载安装邯郸市哪里有做网站的
  • 做箱包外贸哪个网站好济南建设工程
  • 《两学一做 榜样》网站开发公司审计稽查的内容
  • 网站建设物理架构天元建设集团有限公司路桥工程公司
  • 怎么用ps做网站uiwordpress 自定义结构
  • 万网制作网站怎么样网站建设和网络营销区别
  • 北京建设部网站贵港市建设局网站
  • 网站怎么被百度收录怎么自己做彩票网站
  • 报名网站怎么做做外贸的数据网站有哪些