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

大学生创新创业网站开发seo网上课程

大学生创新创业网站开发,seo网上课程,国内建设网站,百度seo排名优化软件化目录 #x1f41d;前言 #x1f41d;canvas创建文字 #x1f41d;将canvas作为纹理贴图加载到sprite中 #x1f41d;封装方法 #x1f41d;前言 在Three.js中精灵Sprite是一个总是面朝摄像机的平面#xff0c;它通常和纹理贴图结合使用#xff0c;贴图可以是一张图…目录 前言 canvas创建文字 将canvas作为纹理贴图加载到sprite中  封装方法 前言 在Three.js中精灵Sprite是一个总是面朝摄像机的平面它通常和纹理贴图结合使用贴图可以是一张图片也可以是我们使用canvas绘制出来的任何东西。所以我们可以先使用canvas绘制文字然后将它作为纹理贴图贴到精灵平面上就可以创建面朝相机的文本标注了。 canvas创建文字 // 创建canvas标签 const canvas document.createElement(canvas) // 获取canvas上下文对象 const context canvas.getContext(2d) // 设置画布大小 canvas.width 150 canvas.height 100 // 设置画布背景颜色 context.fillStyle #f0f0f0 context.fillRect(0, 0, canvas.width, canvas.height) // 绘制文字 context.font 28px 宋体 context.fillStyle #ff0000 context.fillText(测试文字, 10, canvas.height / 2) // 添加到页面上 document.body.appendChild(canvas) context.fillText(text, x, y, maxWidth) : 用于在画布上绘制文字它的四个参数分别是 text需要绘制的文本 x开始绘制文本的x坐标 y开始绘制文本的y坐标 maxWidth可选允许的最大文本长度 将canvas作为纹理贴图加载到sprite中  将canvas创建为threejs纹理对象 const texture new THREE.Texture(canvas) texture.needsUpdate true // 触发纹理更新 创建Sprite对象并添加贴图材质 const material new THREE.SpriteMaterial({map: texture,color: #f0f0f0 }) const sprite new THREE.Sprite(material) 设置精灵对象大小、位置和旋转 注意我们无法直接对精灵平面做旋转操作但是可以通过对材质做旋转来实现相同的效果。 sprite.scale.set(2, 1, 1) sprite.position.set(1, 0, 0) sprite.material.rotation Math.PI / 4 scene.add(sprite) 封装方法 const createSpriteTextLabel (data) {const {text, position, direction, size, color} {...data}const canvas document.createElement(canvas)const context canvas.getContext(2d)const fontSize 36const font ${fontSize}px Arialconst padding 10const textWidth context.measureText(text).widthcanvas.width textWidth * 3.5 padding * 2canvas.height fontSize * 2 padding * 2context.font fontcontext.fillStyle colorcontext.fillText(text, padding, canvas.height / 1.6)const texture new THREE.Texture(canvas)texture.needsUpdate true// 获取贴图的宽度和高度const textureWidth canvas.widthconst textureHeight canvas.heightconst material new THREE.SpriteMaterial({map: texture,transparent: true,})const sprite new THREE.Sprite(material)// 根据贴图的宽高比调整精灵的比例保持贴图不变形const aspectRatio textureWidth / textureHeightsprite.scale.set(size * aspectRatio, size, 1)sprite.position.copy(position)// 计算精灵的旋转角度sprite.material.rotation Math.atan2(direction.y, direction.x)return sprite }// 使用 const spriteText createSpriteTextLabel({text: 测试文字, position: new THREE.Vector3(1, 0, 0), // 文本位置direction: new THREE.Vector3(1, 1, 0), // 文本方向size: 1, // 文本大小color: #00ff00 // 文本颜色 }) scene.add(spriteText)
http://www.hkea.cn/news/14538210/

相关文章:

  • 网站风险怎么解决方案昆山制造网站的地方
  • 手机端网站模板下载wordpress百科网
  • 宜昌公司做网站河北网站设计成功柚米科技
  • 河间网站建下载互联网
  • 企业网站托管方式最传统的网站推广手段
  • 网站建设合同浩森宇特公众号注册入口官网
  • 个人网站备案名称填写企业为什么做平台网站
  • 没有固定ip做网站网站优化建设哈尔滨
  • 网站建设与管理实践心得番禺网站建设wwiw
  • 企业网站如何做推广搜索引擎推广的特点
  • 营销型网站制作培训多少钱建设企业网站方法
  • 雅安做网站的公司笔记本网站开发背景
  • ui设计灵感网站怎样建公司网站
  • 定制建站公司jsp网站入门
  • asp企业网站网站开发工程师需要什么证书
  • 青岛网站建设华夏郑州公司网站建设哪家好
  • 深圳市建设局科技处网站太原网站维护
  • 网站登录页面做汽车团购网站有哪些
  • 永康建设网站潍坊网站空间
  • 网站建设注意哪些问题上海建设手机网站
  • 河南省和城乡建设厅网站首页做冠县梨园网站怎么做
  • 佛山专业网站建设公司做英文网站挂谷歌广告
  • 旅游网站开发实验报告wordpress 路径标签
  • 光速网络网站大型电子商务网站建设
  • 用vs做网页是怎么创建网站的国外精产品1688
  • 网站建设综合报告外包项目
  • wordpress 3.8.3 下载seo优化厂商
  • 宁波做公司网站的公司山西疾控最新通告今天
  • 系网站建设总结报告济南网站的建设
  • 怎么样自己创建网站设置网站默认编码