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

php商城网站开发实例视频南京网站费用网站建设

php商城网站开发实例视频,南京网站费用网站建设,在虚拟主机上安装wordpress,珠海手机网站制作工作需求要求threeJS渲染一个模型以供可视化大屏展示#xff0c;抛出模型精度不谈#xff0c;只说业务实现 1.Three.JS的引入 ThreeJS官网地址:Three.js – JavaScript 3D Library 查看文档 中文切换及安装创建步骤 如果是自己研究学习用的#xff0c;在官网安装完后抛出模型精度不谈只说业务实现 1.Three.JS的引入 ThreeJS官网地址:Three.js – JavaScript 3D Library 查看文档 中文切换及安装创建步骤 如果是自己研究学习用的在官网安装完后直接在-创建一个场景-里面直接copy代码玩就行了 如果是业务需求相关希望快速构建一个简单的模型模块看下一页 2.封装模型模块 第一步先引入模块相关的threeJS模块 import * as THREE from three;// gltf文件装载器import { GLTFLoader } from three/addons/loaders/GLTFLoader.js;// 视图旋转控件import { OrbitControls } from three/examples/jsm/controls/OrbitControls;第二步构建一个class类并初始化constructor内的参数 class ThreeModel {constructor(GLTF, Dom) {this.glft GLTF; // 模型文件this.Dom Dom; // dom容器this.scene new THREE.Scene(); // 实例化场景this.camera new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 20000); // 实例化相机this.renderer new THREE.WebGLRenderer(); // 实例化渲染器this.loader new GLTFLoader(); // 实例化gltf装载器this.CameraPosition {x: 0,y: 2600,z: 0}} } constructor内的参数分别为GLTF(引用的gltf格式模型文件)、Dom(挂载的dom元素) 我使用的vue2框架调用该模块时须传入以下 import { ThreeModel } from ../three.js...mounted() {const model_one new ThreeModel(Texture/scene.gltf, this.$refs.box);model_one.init()} 接下来是类里面的初始化函数 init() {this.renderer.setSize(window.innerWidth, window.innerHeight);this.Dom.appendChild(this.renderer.domElement);this.loader.load(this.glft,(gltf) {const model gltf.scene;// 创建一个Object3D对象const modelContainer new THREE.Object3D();// 将模型的网格添加到Object3D对象中modelContainer.add(model);// 添加Object3D对象到场景中this.scene.add(modelContainer);},undefined,(err) {console.log(报错, err)})this.initControls();this.initLight();this.initCamera();const animate () {requestAnimationFrame(animate);// 在此处更新场景的其他内容this.renderer.render(this.scene, this.camera);}animate();} 初始化控制三维场景缩放和旋转的函数 initControls() { //使用OrbitControls控制三维场景缩放和旋转等功能this.controls new OrbitControls(this.camera, this.renderer.domElement);//动态阻尼系数 即鼠标拖拽旋转的灵敏度this.controls.dampingFactor 0.25;// this.controls.target.set(0, 900, 0)// //上下旋转范围this.controls.minPolarAngle 0;this.controls.maxPolarAngle 1.5;this.controls.autoRotate true;//惯性滑动滑动大小默认0.25this.controls.dampingFactor 0.25;//滚轮是否可控制zoomzoom速度默认1//缩放倍数this.controls.zoomSpeed 1.0;//最大最小相机移动距离(景深相机)this.controls.minDistance 1;this.controls.maxDistance Infinity;//水平方向视角限制this.minAzimuthAngle -Math.PI * 2;this.maxAzimuthAngle Math.PI * 2;this.controls.enabledPan true;this.keyPanSpeed 7.0;} 初始化光照函数 initLight() { // 初始化光照let ambientLight new THREE.AmbientLight(0x404040);this.scene.add(ambientLight);//定义灯并设置位置this.light new THREE.DirectionalLight(0x333333);this.light.position.set(60, 30, 40);this.light2 new THREE.DirectionalLight(0xdddddd);this.light2.position.set(-20, 20, -20);this.scene.add(this.light);this.scene.add(this.light2);} 初始化相机函数 initCamera() {//初始化相机this.scene.scale.set(0.1, 0.1, 0.1)this.camera.position.set(0, this.CameraPosition.y, 0); // 设置相机位置根据需求调整坐标this.camera.lookAt(1, 1, 5); // 设置相机观察的目标位置} 以下是完整代码 import * as THREE from three; import { GLTFLoader } from three/addons/loaders/GLTFLoader.js; // 视图旋转控件 import { OrbitControls } from three/examples/jsm/controls/OrbitControls; // 拖拽控件 // import { DragControls } from three/examples/jsm/controls/DragControls; class ThreeModel {constructor(GLTF, Dom) {this.glft GLTF; // 模型文件this.Dom Dom; // dom容器this.scene new THREE.Scene(); // 实例化场景this.camera new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 20000); // 实例化相机this.renderer new THREE.WebGLRenderer(); // 实例化渲染器this.loader new GLTFLoader(); // 实例化gltf装载器this.CameraPosition {x: 0,y: 2600,z: 0}}init() {this.renderer.setSize(window.innerWidth, window.innerHeight);this.Dom.appendChild(this.renderer.domElement);this.loader.load(this.glft,(gltf) {const model gltf.scene;// 创建一个Object3D对象const modelContainer new THREE.Object3D();// 将模型的网格添加到Object3D对象中modelContainer.add(model);// 添加Object3D对象到场景中this.scene.add(modelContainer);},undefined,(err) {console.log(报错, err)})this.initControls();this.initLight();this.initCamera();const animate () {requestAnimationFrame(animate);// 在此处更新场景的其他内容this.renderer.render(this.scene, this.camera);}animate();}initControls() { //使用OrbitControls控制三维场景缩放和旋转等功能this.controls new OrbitControls(this.camera, this.renderer.domElement);//动态阻尼系数 即鼠标拖拽旋转的灵敏度this.controls.dampingFactor 0.25;// this.controls.target.set(0, 900, 0)// //上下旋转范围this.controls.minPolarAngle 0;this.controls.maxPolarAngle 1.5;this.controls.autoRotate true;//惯性滑动滑动大小默认0.25this.controls.dampingFactor 0.25;//滚轮是否可控制zoomzoom速度默认1//缩放倍数this.controls.zoomSpeed 1.0;//最大最小相机移动距离(景深相机)this.controls.minDistance 1;this.controls.maxDistance Infinity;//水平方向视角限制this.minAzimuthAngle -Math.PI * 2;this.maxAzimuthAngle Math.PI * 2;this.controls.enabledPan true;this.keyPanSpeed 7.0;}initLight() { // 初始化光照let ambientLight new THREE.AmbientLight(0x404040);this.scene.add(ambientLight);//定义灯并设置位置this.light new THREE.DirectionalLight(0x333333);this.light.position.set(60, 30, 40);this.light2 new THREE.DirectionalLight(0xdddddd);this.light2.position.set(-20, 20, -20);this.scene.add(this.light);this.scene.add(this.light2);}initCamera() {//初始化相机this.scene.scale.set(0.1, 0.1, 0.1)this.camera.position.set(0, this.CameraPosition.y, 0); // 设置相机位置根据需求调整坐标this.camera.lookAt(1, 1, 5); // 设置相机观察的目标位置} } export { ThreeModel } 3.注意事项和说明 说明 1.第三方模型文件要按照threeJS支持的格式要求 如图 2.模型市场 推荐Explore 3D Models - Sketchfab 注意事项 我使用的是vue项目一定要将模型文件存放在public文件夹下否则找不到或报引用错误 本人接触threeJS不多该模块仅限于基础功能的使用适用性较低如果有懂的大佬希望评论或私信交流如有错误请指出
http://www.huolong8.cn/news/119462/

相关文章:

  • wordpress主题 mnews1.9衡水网站建设优化推广
  • 龙华网站 建设深圳信科自己做网站难吗
  • 建一个公司网站多少钱?退役军人事务部网站建设
  • 网站用哪些系统做的好处工作箴言
  • 鱼骨建站公司网络营销公司排行
  • 学校建设网站的目的和意义小红书关键词排名优化
  • 贵州网络公司网站建设建筑工程网上办事系统
  • 企业网站推广总结优秀营销软文范例800字
  • 义乌网站建设现状ppt模板百度云
  • 化工网站制作网络推广100种方法免费
  • 用六类网站做电话可以吗校园网站建设费用
  • 网站 工作室 建设 方案网站登录怎么做
  • 论文中引用网站怎么写vs做网站不显示图片
  • 怎么创一个网站赚钱小程序 手机网站
  • 为学校网站建设网站开发 无形资产
  • 重庆中环建设有限公司网站wordpress安装证书
  • 山东泰润建设集团网站wordpress100万数据
  • 广州做网站哪个平台好哪个网站做脚本
  • 济南卓远网站建设公司微博如何做外链到时自己网站
  • 傻瓜建网站网页设计步骤及方法
  • 保健品网站可以做网站wordpress中文免费电商模板
  • 企业网站建设可行性分析企业网站的建设规划
  • 有服务器有域名怎么做网站wordpress熊掌号关注
  • 可以做反链的网站商务网站建设模块
  • 用vs2010做购物网站中企动力科技股份有限公司青岛分公司
  • 聊城哪儿做网站便宜光谷做网站推广多少钱
  • 网站核查怎么抽查株洲网站建设报价
  • 网站空间2000m多少钱企业网站搭建费用
  • 什么是网站外部链接建设wordpress标签排序
  • 商城站在哪个地方宠物店网站建设方案