glTF-教程/glb-教程

简单的纹理
如前面的部分所示,glTF资产中的材质定义包含不同的参数,用于材质的颜色或材质在光线影响下的整体外观。这些属性可以通过单个值给出,例如,定义整个对象的颜色或粗糙度。或者,这些值可以通过映射在对象表面上的纹理提供。下面是一个glTF资源,它定义了具有简单、单一纹理的材质:
<span style=”color:#24292e”><span style=”background-color:#ffffff”><span style=”background-color:#f8f8f8″><span style=”background-color:#f6f8fa”><code>{ “<span style=”color:#dd1144″>scene</span>”: <span style=”color:#009999″>0</span>, “<span style=”color:#dd1144″>scenes</span>” : [ { “<span style=”color:#dd1144″>nodes</span>” : [ <span style=”color:#009999″>0</span> ] } ], “<span style=”color:#dd1144″>nodes</span>” : [ { “<span style=”color:#dd1144″>mesh</span>” : <span style=”color:#009999″>0</span> } ], “<span style=”color:#dd1144″>meshes</span>” : [ { “<span style=”color:#dd1144″>primitives</span>” : [ { “<span style=”color:#dd1144″>attributes</span>” : { “<span style=”color:#dd1144″>POSITION</span>” : <span style=”color:#009999″>1</span>, “<span style=”color:#dd1144″>TEXCOORD_0</span>” : <span style=”color:#009999″>2</span> }, “<span style=”color:#dd1144″>indices</span>” : <span style=”color:#009999″>0</span>, “<span style=”color:#dd1144″>material</span>” : <span style=”color:#009999″>0</span> } ] } ], “<span style=”color:#dd1144″>materials</span>” : [ { “<span style=”color:#dd1144″>pbrMetallicRoughness</span>” : { “<span style=”color:#dd1144″>baseColorTexture</span>” : { “<span style=”color:#dd1144″>index</span>” : <span style=”color:#009999″>0</span> }, “<span style=”color:#dd1144″>metallicFactor</span>” : <span style=”color:#009999″>0.0</span>, “<span style=”color:#dd1144″>roughnessFactor</span>” : <span style=”color:#009999″>1.0</span> } } ], “<span style=”color:#dd1144″>textures</span>” : [ { “<span style=”color:#dd1144″>sampler</span>” : <span style=”color:#009999″>0</span>, “<span style=”color:#dd1144″>source</span>” : <span style=”color:#009999″>0</span> } ], “<span style=”color:#dd1144″>images</span>” : [ { “<span style=”color:#dd1144″>uri</span>” : “<span style=”color:#dd1144″>testTexture.png</span>” } ], “<span style=”color:#dd1144″>samplers</span>” : [ { “<span style=”color:#dd1144″>magFilter</span>” : <span style=”color:#009999″>9729</span>, “<span style=”color:#dd1144″>minFilter</span>” : <span style=”color:#009999″>9987</span>, “<span style=”color:#dd1144″>wrapS</span>” : <span style=”color:#009999″>33648</span>, “<span style=”color:#dd1144″>wrapT</span>” : <span style=”color:#009999″>33648</span> } ], “<span style=”color:#dd1144″>buffers</span>” : [ { “<span style=”color:#dd1144″>uri</span>” : “<span style=”color:#dd1144″>data:application/gltf-buffer;base64,AAABAAIAAQADAAIAAAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAgD8AAAAAAACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAAAAAAAAA</span>”, “<span style=”color:#dd1144″>byteLength</span>” : <span style=”color:#009999″>108</span> } ], “<span style=”color:#dd1144″>bufferViews</span>” : [ { “<span style=”color:#dd1144″>buffer</span>” : <span style=”color:#009999″>0</span>, “<span style=”color:#dd1144″>byteOffset</span>” : <span style=”color:#009999″>0</span>, “<span style=”color:#dd1144″>byteLength</span>” : <span style=”color:#009999″>12</span>, “<span style=”color:#dd1144″>target</span>” : <span style=”color:#009999″>34963</span> }, { “<span style=”color:#dd1144″>buffer</span>” : <span style=”color:#009999″>0</span>, “<span style=”color:#dd1144″>byteOffset</span>” : <span style=”color:#009999″>12</span>, “<span style=”color:#dd1144″>byteLength</span>” : <span style=”color:#009999″>96</span>, “<span style=”color:#dd1144″>byteStride</span>” : <span style=”color:#009999″>12</span>, “<span style=”color:#dd1144″>target</span>” : <span style=”color:#009999″>34962</span> } ], “<span style=”color:#dd1144″>accessors</span>” : [ { “<span style=”color:#dd1144″>bufferView</span>” : <span style=”color:#009999″>0</span>, “<span style=”color:#dd1144″>byteOffset</span>” : <span style=”color:#009999″>0</span>, “<span style=”color:#dd1144″>componentType</span>” : <span style=”color:#009999″>5123</span>, “<span style=”color:#dd1144″>count</span>” : <span style=”color:#009999″>6</span>, “<span style=”color:#dd1144″>type</span>” : “<span style=”color:#dd1144″>SCALAR</span>”, “<span style=”color:#dd1144″>max</span>” : [ <span style=”color:#009999″>3</span> ], “<span style=”color:#dd1144″>min</span>” : [ <span style=”color:#009999″>0</span> ] }, { “<span style=”color:#dd1144″>bufferView</span>” : <span style=”color:#009999″>1</span>, “<span style=”color:#dd1144″>byteOffset</span>” : <span style=”color:#009999″>0</span>, “<span style=”color:#dd1144″>componentType</span>” : <span style=”color:#009999″>5126</span>, “<span style=”color:#dd1144″>count</span>” : <span style=”color:#009999″>4</span>, “<span style=”color:#dd1144″>type</span>” : “<span style=”color:#dd1144″>VEC3</span>”, “<span style=”color:#dd1144″>max</span>” : [ <span style=”color:#009999″>1.0</span>, <span style=”color:#009999″>1.0</span>, <span style=”color:#009999″>0.0</span> ], “<span style=”color:#dd1144″>min</span>” : [ <span style=”color:#009999″>0.0</span>, <span style=”color:#009999″>0.0</span>, <span style=”color:#009999″>0.0</span> ] }, { “<span style=”color:#dd1144″>bufferView</span>” : <span style=”color:#009999″>1</span>, “<span style=”color:#dd1144″>byteOffset</span>” : <span style=”color:#009999″>48</span>, “<span style=”color:#dd1144″>componentType</span>” : <span style=”color:#009999″>5126</span>, “<span style=”color:#dd1144″>count</span>” : <span style=”color:#009999″>4</span>, “<span style=”color:#dd1144″>type</span>” : “<span style=”color:#dd1144″>VEC2</span>”, “<span style=”color:#dd1144″>max</span>” : [ <span style=”color:#009999″>1.0</span>, <span style=”color:#009999″>1.0</span> ], “<span style=”color:#dd1144″>min</span>” : [ <span style=”color:#009999″>0.0</span>, <span style=”color:#009999″>0.0</span> ] } ], “<span style=”color:#dd1144″>asset</span>” : { “<span style=”color:#dd1144″>version</span>” : “<span style=”color:#dd1144″>2.0</span>” } } </code></span></span></span></span>
glTF-教程/glb-教程

添加图片注释,不超过 140 字(可选)
纹理组成的实际图像存储为名为 PNG 文件(见图 13a)。“testTexture.png”
 
图像描述

添加图片注释,不超过 140 字(可选)
编辑
图 13a:简单纹理示例的图像。
将所有这些整合到渲染器中将导致在图像 13b 中渲染场景。
 
图像描述

添加图片注释,不超过 140 字(可选)
编辑
图 13b:单位正方形上的简单纹理。
纹理材质定义
此示例中的材质定义与前面显示的简单材质不同。虽然简单材质只为整个对象定义了一种颜色,但材质定义现在引用了新添加的纹理:
<span style=”color:#24292e”><span style=”background-color:#ffffff”><span style=”background-color:#f8f8f8″><span style=”background-color:#f6f8fa”><code>”<span style=”color:#dd1144″>materials</span>” : [ { “<span style=”color:#dd1144″>pbrMetallicRoughness</span>” : { “<span style=”color:#dd1144″>baseColorTexture</span>” : { “<span style=”color:#dd1144″>index</span>” : <span style=”color:#009999″>0</span> }, “<span style=”color:#dd1144″>metallicFactor</span>” : <span style=”color:#009999″>0.0</span>, “<span style=”color:#dd1144″>roughnessFactor</span>” : <span style=”color:#009999″>1.0</span> } } ], </code></span></span></span></span>
是将应用于对象表面的纹理的索引。和仍然是单值。下一节将显示一种更复杂的材质,其中这些属性也通过纹理给出。baseColorTexturemetallicFactorroughnessFactor
为了将纹理应用于网格图元,必须有关于应用于每个顶点的纹理坐标的信息。纹理坐标只是 中定义的顶点的另一个属性。默认情况下,纹理将使用具有属性名称的纹理坐标。如果有多组纹理坐标,则可以通过向纹理引用添加属性来选择应用于一个特定纹理的坐标集:mesh.primitiveTEXCOORD_0texCoord
<span style=”color:#24292e”><span style=”background-color:#ffffff”><span style=”background-color:#f8f8f8″><span style=”background-color:#f6f8fa”><code>”<span style=”color:#dd1144″>baseColorTexture</span>” : { “<span style=”color:#dd1144″>index</span>” : <span style=”color:#009999″>0</span>, “<span style=”color:#dd1144″>texCoord</span>”: <span style=”color:#009999″>2</span> }, </code></span></span></span></span>
在这种情况下,纹理将使用名为 的属性中包含的纹理坐标。TEXCOORD_2
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性

GLB下载网 - GLB/GLTF模型与格式资源免费下载,支持在线浏览与转换 » glTF-教程/glb-教程

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
提示下载要提取码
百度网盘提取码都是gltf。
分享过期和重复下载怎么办
分享过期请使用备份下载,重复下载是不另扣费的,请放心下载。
模型和平台不兼容怎么办
可以用网站在线编辑功能,修改模型属性,大小,方向,坐标,中心,透明等问题,然后重新导出既可https://glbxz.com/38636.html
开通VIP 享更多特权,建议使用 QQ 登录