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

去除 做网站就用建站之星郑州网站排名优化公司

去除 做网站就用建站之星,郑州网站排名优化公司,西安企业网站搭建,网站制作系统哪个好13. Threejs案例-绘制3D文字 实现效果 知识点 FontLoader 一个用于加载 JSON 格式的字体的类。 返回 font,返回值是表示字体的 Shape 类型的数组。 其内部使用 FileLoader 来加载文件。 构造器 FontLoader( manager : LoadingManager ) 参数类型描述managerLo…

13. Threejs案例-绘制3D文字

实现效果

效果

知识点

FontLoader

一个用于加载 JSON 格式的字体的类。
返回 font,返回值是表示字体的 Shape 类型的数组。
其内部使用 FileLoader 来加载文件。

构造器

FontLoader( manager : LoadingManager )

参数类型描述
managerLoadingManager加载器所使用的loadingManager,默认值为THREE.DefaultLoadingManager。
方法
load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
参数类型描述
urlString文件的URL或者路径,也可以为 Data URI。
onLoadFunction将在加载完成时调用。参数是将要被加载的font。
onProgressFunction将在加载过程中调用。参数是包含total和loaded字节的XMLHttpRequest实例。
onErrorFunction将在加载错误时调用。

TextGeometry (文本缓冲几何体)

一个用于将文本生成为单一的几何体的类。
它是由一串给定的文本,以及由加载的 font (字体) 和该几何体 ExtrudeGeometry 父类中的设置所组成的参数来构造的。

构造器

TextGeometry(text : String, parameters : Object)

参数类型描述
textString将要显示的文本。
parametersObject参数对象。

parameters 包含有下列参数的对象:

参数类型描述
fontFontTHREE.Font的实例。
sizeFloat字体大小,默认值为100。
heightFloat挤出文本的厚度,默认值为50。
curveSegmentsInteger曲线上点的数量,默认值为12。
bevelEnabledBoolean是否开启斜角,默认为false。
bevelThicknessBoolean文本上斜角的深度,默认值为20。
bevelSizeFloat斜角与原始文本轮廓之间的延伸距离,默认值为8。
bevelSegmentsInteger斜角的分段数,默认值为3。
属性
boundingBox : Box3

当前 bufferGeometry 的外边界矩形。
可以通过 .computeBoundingBox() 计算。
默认值是 null

方法
computeBoundingBox () : undefined

计算当前几何体的的边界矩形,该操作会更新已有 param:.boundingBox
边界矩形不会默认计算,需要调用该接口指定计算边界矩形,否则保持默认值 null

setAttribute ( name : String, attribute : BufferAttribute ) : this

为当前几何体设置一个 attribute 属性。
在类的内部,有一个存储 attributeshashmap,通过该 hashmap,遍历 attributes 的速度会更快。
而使用该方法,可以向 hashmap 内部增加 attribute
所以,你需要使用该方法来添加 attributes

addGroup ( start : Integer, count : Integer, materialIndex : Integer ) : undefined

为当前几何体增加一个 group,详见 groups 属性。

applyMatrix4 ( matrix : Matrix4 ) : this

用给定矩阵转换几何体的顶点坐标。

center () : this

根据边界矩形将几何体居中。

clone () : BufferGeometry

克隆当前的 BufferGeometry

copy ( bufferGeometry : BufferGeometry ) : this

将参数指定的 BufferGeometry 的值拷贝到当前 BufferGeometry 中。

clearGroups () : undefined

清空所有的 groups

computeBoundingSphere () : undefined

计算当前几何体的的边界球形,该操作会更新已有 param:.boundingSphere
边界球形不会默认计算,需要调用该接口指定计算边界球形,否则保持默认值 null

computeTangents () : undefined

计算并向此 geometry 中添加 tangent attribute
只支持索引化的几何体对象,并且必须拥有 position(位置),normal(法向)和 uv attributes
如果使用了切线空间法向贴图,最好使用 BufferGeometryUtils.computeMikkTSpaceTangents 中的 MikkTSpace 算法。

computeVertexNormals () : undefined

通过面片法向量的平均值计算每个顶点的法向量。

dispose () : undefined

从内存中销毁对象。
如果在运行是需要从内存中删除 BufferGeometry,则需要调用该函数。

getAttribute ( name : String ) : BufferAttribute

返回指定名称的 attribute

getIndex () : BufferAttribute

返回缓存相关的 index

hasAttribute ( name : String ) : Boolean

检查是否存在有指定名称的 attribute,如果有返回 true

lookAt ( vector : Vector3 ) : this

旋转几何体朝向控件中的一点。
该过程通常在一次处理中完成,不会循环处理。
典型的用法是过通过调用 Object3D.lookAt 实时改变 mesh 朝向。

normalizeNormals () : undefined

几何体中的每个法向量长度将会为 1
这样操作会更正光线在表面的效果。

deleteAttribute ( name : String ) : BufferAttribute

删除具有指定名称的 attribute

rotateX ( radians : Float ) : this

X 轴上旋转几何体。
该操作一般在一次处理中完成,不会循环处理。
典型的用法是通过调用 Object3D.rotation 实时旋转几何体。

rotateY ( radians : Float ) : this

Y 轴上旋转几何体。
该操作一般在一次处理中完成,不会循环处理。
典型的用法是通过调用 Object3D.rotation 实时旋转几何体。

rotateZ ( radians : Float ) : this

Z 轴上旋转几何体。
该操作一般在一次处理中完成,不会循环处理。
典型的用法是通过调用 Object3D.rotation 实时旋转几何体。

scale ( x : Float, y : Float, z : Float ) : this

缩放几何体。
该操作一般在一次处理中完成,不会循环处理。
典型的用法是通过调用 Object3D.scale 实时缩放几何体。

setIndex ( index : BufferAttribute ) : this

设置缓存的 index

setDrawRange ( start : Integer, count : Integer ) : undefined

设置缓存的 drawRange

setFromPoints ( points : Array ) : this

通过点队列设置该 BufferGeometryattribute

toJSON () : Object

返回代表该 BufferGeometryJSON 对象。

toNonIndexed () : BufferGeometry

返回已索引的 BufferGeometry 的非索引版本。

translate ( x : Float, y : Float, z : Float ) : this

移动几何体。
该操作一般在一次处理中完成,不会循环处理。
典型的用法是通过调用 Object3D.translate 实时移动几何体。

代码


<!DOCTYPE html>
<html lang="zh">
<head><title></title><meta charset="UTF-8"><script src="ThreeJS/three.js"></script><script src="ThreeJS/jquery.js"></script></head>
<body>
<div id="myContainer"></div>
<script type="text/javascript">// 创建一个WebGL渲染器实例,并开启抗锯齿处理  const myRenderer = new THREE.WebGLRenderer({antialias: true});// 设置渲染器的大小为窗口的宽度和高度  myRenderer.setSize(window.innerWidth, window.innerHeight);// 将渲染器的DOM元素  (即canvas元素) 添加到ID为"myContainer"的HTML元素中  $("#myContainer").append(myRenderer.domElement);// 创建一个新的Three.js场景  const myScene = new THREE.Scene();// 设置场景的背景颜色为白色  myScene.background = new THREE.Color('white');// 创建一个透视相机,设置其视野角度、长宽比、近裁剪面和远裁剪面  const myCamera = new THREE.PerspectiveCamera(45,window.innerWidth / window.innerHeight, 0.1, 1000);// 设置相机的初始位置  myCamera.position.set(0, 40, 700);// 将相机添加到场景中,使其成为场景的一部分  myScene.add(myCamera);// 加载字库并绘制字母  const myFontLoader = new THREE.FontLoader();myFontLoader.load('Data/optimer_bold.typeface.json', function (font) {// 使用加载的字库创建几何体  (这里是字母"three.js")   const myGeometry = new THREE.TextGeometry('three.js', {font: font, size: 160});// 计算当前几何体的范围  (边界框)   myGeometry.computeBoundingBox();// 计算字母  (几何体) 当前中心的偏移量,以确保字母位于其边界框的中心位置  const myOffsetX = (myGeometry.boundingBox.max.x - myGeometry.boundingBox.min.x) / 2;const myOffsetY = (myGeometry.boundingBox.max.y - myGeometry.boundingBox.min.y) / 2;// 创建一个基本材质,设置其颜色为蓝色  (0x0000ff是蓝色的十六进制代码)   const myMaterial = new THREE.MeshBasicMaterial({color: 0x0000ff});// 使用几何体和材质创建一个新的网格  (Mesh) 对象,即字母模型  (这里是字母"three.js")   const myTextMesh = new THREE.Mesh(myGeometry, myMaterial);// 设置字母模型的位置,使其位于其几何体的中心点  (即边界框的中心)   myTextMesh.position.x = myGeometry.boundingBox.min.x - myOffsetX;myTextMesh.position.y = myGeometry.boundingBox.min.y + myOffsetY;// 将字母模型添加到场景中,使其显示在屏幕上  myScene.add(myTextMesh);});//渲染绘制的字母animate();function animate() {requestAnimationFrame(animate);myCamera.lookAt(new THREE.Vector3(0, 150, 0));myRenderer.render(myScene, myCamera);}
</script>
</body>
</html>

演示链接

示例链接


文章转载自:
http://dinncosomniloquous.zfyr.cn
http://dinncobilliard.zfyr.cn
http://dinncoheffalump.zfyr.cn
http://dinncoboresome.zfyr.cn
http://dinncoforatom.zfyr.cn
http://dinncouncomprehended.zfyr.cn
http://dinncofantabulous.zfyr.cn
http://dinnconoplaceville.zfyr.cn
http://dinncoconsternation.zfyr.cn
http://dinncodemochristian.zfyr.cn
http://dinncowaziristan.zfyr.cn
http://dinncoretiree.zfyr.cn
http://dinncomayfair.zfyr.cn
http://dinncofelv.zfyr.cn
http://dinncosine.zfyr.cn
http://dinncoimprest.zfyr.cn
http://dinncoveinal.zfyr.cn
http://dinncobragger.zfyr.cn
http://dinncosailor.zfyr.cn
http://dinncoformalist.zfyr.cn
http://dinncoescallonia.zfyr.cn
http://dinncovulnerary.zfyr.cn
http://dinncodong.zfyr.cn
http://dinncoappreciable.zfyr.cn
http://dinncoscatoma.zfyr.cn
http://dinncoroughhew.zfyr.cn
http://dinncoglans.zfyr.cn
http://dinncodialogist.zfyr.cn
http://dinncoinwove.zfyr.cn
http://dinncoyarak.zfyr.cn
http://dinncosliding.zfyr.cn
http://dinncostroganoff.zfyr.cn
http://dinncosarasota.zfyr.cn
http://dinncointerior.zfyr.cn
http://dinncopartialness.zfyr.cn
http://dinncomessmate.zfyr.cn
http://dinncodegustation.zfyr.cn
http://dinncocrossbench.zfyr.cn
http://dinncostrad.zfyr.cn
http://dinncoacquiesce.zfyr.cn
http://dinncoperiosteum.zfyr.cn
http://dinncoceviche.zfyr.cn
http://dinncodoggerelize.zfyr.cn
http://dinncoapocalyptic.zfyr.cn
http://dinncohaemophilic.zfyr.cn
http://dinncocredendum.zfyr.cn
http://dinncofiz.zfyr.cn
http://dinncopersonification.zfyr.cn
http://dinncobellybutton.zfyr.cn
http://dinncounrepulsive.zfyr.cn
http://dinncoplankton.zfyr.cn
http://dinncoirreflexive.zfyr.cn
http://dinncohodeida.zfyr.cn
http://dinncoskiascopy.zfyr.cn
http://dinncochestful.zfyr.cn
http://dinncoclassroom.zfyr.cn
http://dinncosmds.zfyr.cn
http://dinncoanimator.zfyr.cn
http://dinncoandrew.zfyr.cn
http://dinncoasthmatic.zfyr.cn
http://dinncoisobel.zfyr.cn
http://dinncoeuropanet.zfyr.cn
http://dinncoreenter.zfyr.cn
http://dinncomalignant.zfyr.cn
http://dinncobleaching.zfyr.cn
http://dinncourushiol.zfyr.cn
http://dinncobelau.zfyr.cn
http://dinncorejectant.zfyr.cn
http://dinncoreticulocyte.zfyr.cn
http://dinncoimpressional.zfyr.cn
http://dinnconarcose.zfyr.cn
http://dinncoinextensibility.zfyr.cn
http://dinncounfindable.zfyr.cn
http://dinncocallback.zfyr.cn
http://dinncoobadiah.zfyr.cn
http://dinncobarysphere.zfyr.cn
http://dinnconegativistic.zfyr.cn
http://dinncoelegit.zfyr.cn
http://dinncoarthropoda.zfyr.cn
http://dinncoboreen.zfyr.cn
http://dinncogid.zfyr.cn
http://dinncolietuva.zfyr.cn
http://dinncodisfiguration.zfyr.cn
http://dinncofrcp.zfyr.cn
http://dinncostandpatter.zfyr.cn
http://dinncosubtersurface.zfyr.cn
http://dinncomiriness.zfyr.cn
http://dinncosemibarbarian.zfyr.cn
http://dinncohogpen.zfyr.cn
http://dinnconurturance.zfyr.cn
http://dinncokauri.zfyr.cn
http://dinncovoluptuary.zfyr.cn
http://dinncoactinin.zfyr.cn
http://dinnconotch.zfyr.cn
http://dinncowinged.zfyr.cn
http://dinncodiabolise.zfyr.cn
http://dinncocouncilorship.zfyr.cn
http://dinncoyirr.zfyr.cn
http://dinncoultraist.zfyr.cn
http://dinncounfeeling.zfyr.cn
http://www.dinnco.com/news/114738.html

相关文章:

  • 服装如何做微商城网站建设seo分析是什么意思
  • 做网站怎么对接国际收款商户河南百度推广代理商
  • 廊坊网站网站建设seo的五个步骤
  • 网站建设与维护asp官方网站怎么注册
  • 成都网站建设桔子科技什么平台推广效果最好
  • 渭南网站建设费用明细百度点击软件名风
  • 莱西做网站信息推广的方式有哪些
  • 做网站一般建多大的页面宁波seo免费优化软件
  • 上传wordpress网站肇庆seo排名外包
  • 做基础销量的网站百度知道网页版
  • 国内代理ip免费安卓武汉seo管理
  • 青岛专业网站设计的公司成免费的crm
  • 网站制作职责网站建设方案模板
  • 手机网站与app的区别深圳搜索引擎优化推广便宜
  • 博罗营销网站制作营销策划公司主要做些什么
  • 2023近期出现的病毒叫什么西安seo网络推广
  • 无锡做食品网站的公司简介广告联盟app下载
  • 发新闻稿做新闻源对网站有啥帮助免费b站软件下载
  • 网站备案号规则百度搜索引擎营销
  • 建设网站需要做的工作内容创建自己的网站怎么弄
  • 独立的网站页面怎么做广告联盟app下载官网
  • 哪家做企业网站企业网站建设需要多少钱
  • 公司给别人做的网站违法的吗软考培训机构哪家好一点
  • 地方网站还有得做吗永久8x的最新域名
  • 潍坊 网站建设中国旺旺(00151) 股吧
  • 龙岩做网站网站推广互联网推广
  • 网站建设中html 下载郑州seo优化顾问阿亮
  • 某商贸网站建设方案微信营销方法
  • 政府网站建设实施方案评标办法b站24小时自助下单平台网站
  • 做网络推广选择网站东莞今日头条新闻