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

网站换域名了怎么做301重定向网站建设解决方案

网站换域名了怎么做301重定向,网站建设解决方案,移动网站设计,月嫂云商城网站建设实例:examples/webgl_animation_keyframes.html 在这里插入图片描述 重点关注: AnimationMixer:管理模型的所有动画AnimationClip:表示一个完整的动画ClipAction:控制动画的播放状态(播放、暂停、速度等&am…

实例:examples/webgl_animation_keyframes.html
在这里插入图片描述

重点关注:

  • AnimationMixer:管理模型的所有动画
  • AnimationClip:表示一个完整的动画
  • ClipAction:控制动画的播放状态(播放、暂停、速度等)
  • PMREMGenerator处理环境光照,提升渲染质量

本实例主要讲解内容

本实例主要讲解在Three.js中如何使用WebGL技术实现3D模型的加载、动画播放以及用户交互。通过创建场景、相机、渲染器等基础对象,加载GLTF模型并应用动画,同时使用轨道控制器实现用户对相机视角的控制,以及利用性能统计工具优化渲染性能,展示了一个完整的3D动画交互场景的构建过程,帮助开发者掌握Three.js在动画和交互方面的核心应用。 ### 代码注释与重点解析

以下是对Three.js动画关键帧示例的详细注释,包含了学习重点和核心概念解析:

<!DOCTYPE html>
<html lang="en"><head><!-- 页面标题 --><title>three.js webgl - animation - keyframes</title><!-- 设置字符编码为UTF-8 --><meta charset="utf-8"><!-- 视口设置,用于响应式布局,禁止用户缩放,最小和最大缩放比例均为1.0 --><meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"><!-- 引入外部样式表main.css --><link type="text/css" rel="stylesheet" href="main.css"><!-- 内部样式表,设置页面背景颜色为#bfe3dd,文本颜色为#000,链接颜色为#2983ff --><style>body {background-color: #bfe3dd;color: #000;}a {color: #2983ff;}</style></head><body><!-- 用于放置Three.js渲染结果的容器 --><div id="container"></div><!-- 包含信息的div,展示three.js链接、模型链接及作者信息 --><div id="info"><a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> webgl - animation - keyframes<br/>Model: <a href="https://artstation.com/artwork/1AGwX" target="_blank" rel="noopener">Littlest Tokyo</a> by<a href="https://artstation.com/glenatron" target="_blank" rel="noopener">Glen Fox</a>, CC Attribution.</div><!-- 定义模块导入映射,指定three及相关插件的导入路径 --><script type="importmap">{"imports": {"three": "../build/three.module.js","three/addons/": "./jsm/"}}</script><!-- 定义JavaScript模块 --><script type="module">// 导入Three.js核心库import * as THREE from 'three';// 导入性能统计工具Statsimport Stats from 'three/addons/libs/stats.module.js';// 导入轨道控制器OrbitControls,用于控制相机视角import { OrbitControls } from 'three/addons/controls/OrbitControls.js';// 导入房间环境对象RoomEnvironment,用于创建场景环境import { RoomEnvironment } from 'three/addons/environments/RoomEnvironment.js';// 导入GLTF模型加载器GLTFLoaderimport { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';// 导入Draco压缩模型加载器DRACOLoaderimport { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js';// 声明动画混合器变量let mixer;// 创建时钟对象,用于计算动画时间间隔const clock = new THREE.Clock();// 获取放置渲染结果的容器元素const container = document.getElementById('container');// 创建性能统计对象const stats = new Stats();// 将性能统计的DOM元素添加到容器中container.appendChild(stats.dom);// 创建WebGL渲染器,开启抗锯齿const renderer = new THREE.WebGLRenderer({ antialias: true });// 设置渲染器的像素比为设备像素比renderer.setPixelRatio(window.devicePixelRatio);// 设置渲染器的尺寸为窗口的内部宽度和高度renderer.setSize(window.innerWidth, window.innerHeight);// 将渲染器的DOM元素添加到容器中container.appendChild(renderer.domElement);// 创建PMREM生成器,用于生成预过滤辐射环境贴图const pmremGenerator = new THREE.PMREMGenerator(renderer);// 创建场景对象const scene = new THREE.Scene();// 设置场景背景颜色与页面背景一致scene.background = new THREE.Color(0xbfe3dd);// 设置场景环境,使用房间环境并生成对应的纹理scene.environment = pmremGenerator.fromScene(new RoomEnvironment(), 0.04).texture;// 创建透视相机const camera = new THREE.PerspectiveCamera(40, window.innerWidth / window.innerHeight, 1, 100);// 设置相机位置camera.position.set(5, 2, 8);// 创建轨道控制器,关联相机和渲染器的DOM元素const controls = new OrbitControls(camera, renderer.domElement);// 设置控制器的目标点controls.target.set(0, 0.5, 0);// 更新控制器状态controls.update();// 禁用平移功能controls.enablePan = false;// 启用阻尼效果,使相机移动更平滑controls.enableDamping = true;// 创建Draco加载器const dracoLoader = new DRACOLoader();// 设置Draco解码器的路径dracoLoader.setDecoderPath('jsm/libs/draco/gltf/');// 创建GLTF加载器const loader = new GLTFLoader();// 为GLTF加载器设置Draco加载器,用于加载压缩的GLTF模型loader.setDRACOLoader(dracoLoader);// 加载GLTF模型loader.load('models/gltf/LittlestTokyo.glb', function (gltf) {// 获取加载的模型场景const model = gltf.scene;// 设置模型位置model.position.set(1, 1, 0);// 设置模型缩放比例model.scale.set(0.01, 0.01, 0.01);// 将模型添加到场景中scene.add(model);// 创建动画混合器,关联模型mixer = new THREE.AnimationMixer(model);// 播放模型的第一个动画剪辑mixer.clipAction(gltf.animations[0]).play();// 设置渲染器的动画循环函数renderer.setAnimationLoop(animate);}, undefined, function (e) {// 加载过程中出现错误时,在控制台打印错误信息console.error(e);});// 窗口大小改变时的回调函数window.onresize = function () {// 更新相机的纵横比camera.aspect = window.innerWidth / window.innerHeight;// 更新相机的投影矩阵camera.updateProjectionMatrix();// 更新渲染器的尺寸renderer.setSize(window.innerWidth, window.innerHeight);};// 动画循环函数function animate() {// 获取时钟的时间间隔const delta = clock.getDelta();// 更新动画混合器,推进动画mixer.update(delta);// 更新轨道控制器,处理相机的交互controls.update();// 更新性能统计信息stats.update();// 使用渲染器渲染场景和相机renderer.render(scene, camera);}</script></body>
</html>

学习重点解析

  1. Three.js基础架构

    • 场景(Scene)、相机(Camera)、渲染器(Renderer)的创建与配置
    • 轨道控制器(OrbitControls)的使用,实现用户交互
  2. GLTF模型加载与处理

    • 使用GLTFLoader加载3D模型
    • DRACOLoader处理压缩模型,提高加载效率
    • 模型位置、缩放和旋转的调整
  3. 关键帧动画系统

    • AnimationMixer:管理模型的所有动画
    • AnimationClip:表示一个完整的动画
    • ClipAction:控制动画的播放状态(播放、暂停、速度等)
  4. 性能优化与监控

    • 使用Stats监控帧率和性能
    • PMREMGenerator处理环境光照,提升渲染质量
    • 窗口大小自适应处理
  5. 动画循环机制

    • 使用renderer.setAnimationLoop()设置动画循环
    • 利用Clock对象计算帧间隔时间,确保动画速度一致

本实例核心目标

这个示例主要展示了Three.js中关键帧动画系统的使用方法,通过加载包含动画的GLTF模型,并使用AnimationMixer播放动画,演示了以下核心概念:

  1. 如何加载和处理包含动画的3D模型
  2. 如何使用Three.js的动画系统控制模型动画
  3. 如何实现平滑的动画循环和时间管理
  4. 如何通过环境光照提升模型渲染效果

这是Three.js动画系统的基础教程,适合学习3D场景中角色动画、物体运动等动画效果的实现方法。

交流学习: Three.js 场景编辑器 (Vue3 + TypeScript
实现)
https://threelab.cn/threejs-edit/
在这里插入图片描述

http://www.dtcms.com/wzjs/193496.html

相关文章:

  • 开发公司与城市资产经营公司合作协议aso关键词搜索优化
  • 早晨设计 做网站设计吗友情链接网站大全
  • 广州做包包的网站好新媒体运营主要做什么
  • 温州网页制作人才招聘上海小红书seo
  • 做网站开票内容是什么google关键词分析工具
  • 专业的网站建设公司哪家好公司建立网站的步骤
  • 网站建设预算营销百度app下载手机版
  • 有回定ip怎么做网站2024年新冠第三波症状分析
  • 网站视频插件代码营销推广手段有什么
  • 网站开发环境怎么写网站seo策划方案案例分析
  • 网站建设i硬件优化大师
  • wordpress帐号导入seo技术
  • 南昌做网站哪家便宜新手做电商怎么起步
  • 济南广告公司广州关键词优化外包
  • 做配单ic去什么网站好保定百度推广优化排名
  • 国外做游戏评测的视频网站上海百网优seo优化公司
  • 做雕塑网站找哪家好广西壮族自治区人民医院
  • 泰州市网站建设制作今日国内新闻大事20条
  • wordpress设置图片站外seo推广
  • 建个静态网站企业网站设计代码
  • 光电信息科学与工程自动seo系统
  • 红酒公司网站建设微信群推广网站
  • 机械加工类网站怎么做怎么把网站排名优化
  • 视频号的网站链接热点新闻事件素材
  • 怎么给网站做开场动画seoul是啥意思
  • ui设计的基本流程图aso搜索优化
  • 福建省政府门户网站建设情况新闻稿发布平台
  • 电子商务是建网站苏州吴中区seo关键词优化排名
  • 国内做网站建设知名的公司网络营销推广处点
  • 广州有什么好玩的地方免费的重庆高端seo