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

glTF-教程/glb-教程


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

添加图片注释,不超过 140 字(可选)

纹理组成的实际图像存储为名为 PNG 文件(见图 13a)。"testTexture.png"

添加图片注释,不超过 140 字(可选)

编辑

图 13a:简单纹理示例的图像。
将所有这些整合到渲染器中将导致在图像 13b 中渲染场景。

添加图片注释,不超过 140 字(可选)

编辑

图 13b:单位正方形上的简单纹理。
纹理材质定义
此示例中的材质定义与前面显示的简单材质不同。虽然简单材质只为整个对象定义了一种颜色,但材质定义现在引用了新添加的纹理:
"materials" : [ { "pbrMetallicRoughness" : { "baseColorTexture" : { "index" : 0 }, "metallicFactor" : 0.0, "roughnessFactor" : 1.0 } } ],

是将应用于对象表面的纹理的索引。和仍然是单值。下一节将显示一种更复杂的材质,其中这些属性也通过纹理给出。baseColorTexturemetallicFactorroughnessFactor
为了将纹理应用于网格图元,必须有关于应用于每个顶点的纹理坐标的信息。纹理坐标只是 中定义的顶点的另一个属性。默认情况下,纹理将使用具有属性名称的纹理坐标。如果有多组纹理坐标,则可以通过向纹理引用添加属性来选择应用于一个特定纹理的坐标集:mesh.primitiveTEXCOORD_0texCoord
"baseColorTexture" : { "index" : 0, "texCoord": 2 },

在这种情况下,纹理将使用名为 的属性中包含的纹理坐标。TEXCOORD_2

http://www.sczhlp.com/news/6456/

相关文章:

  • 我最喜欢的 C# 14 新特性
  • X11 使用 XSetWMNormalHints 固定窗口所在的屏幕
  • Claude Code:AI编程的深度体验与实践
  • Chrome浏览器无法查看页面跳转前的请求日志及解决办法
  • C# UI中使用async与await防止线程阻塞的一个例子
  • 【办公自动化】日常工作中如何使用Python自动化整理文件?
  • Ubuntu24做内网apt源
  • uniapp 页面左上角系统自带的返回箭头消失
  • 国家科学技术奖答辩PPT案例_科技进步奖ppt制作_科技发明奖ppt设计美化_自然科学奖ppt模板 | WordinPPT
  • 2025 贵阳 代码源 Day 16 模拟赛
  • 跨相机深度估计知识迁移技术解析
  • 运筹学的工具箱属性:基于模型化的优化方法集成
  • MainWP Cost Tracker笔记字段反射型XSS漏洞分析
  • 通过aop和注解实现返回列表支持排序的字段;通过mybatis-plus的Page类的OrderItem属性进行排序
  • 解密prompt系列58. MCP - 工具演变 MCP基础
  • 读开源项目成功之道05治理和托管模式
  • 联邦学习中的动态提示调优技术FedDPG
  • [0806/044639.668:ERROR:icu_util.cc(243)] Invalid file descriptor to ICU data received.
  • 论架构师的重要性
  • Cursor 支持 Claude 4.1 opus model 了
  • 王者归来 征途继续
  • 关于远程加载模块需要解决的问题
  • 2025 — 2026 西华师范大学程序设计算法协会 — 算法培训营 题解
  • 选无代码开发平台还是低代码平台
  • 使用ListBox实现一个对话框控件
  • 我的计算机使用观
  • 2025“钉耙编程”中国大学生算法设计暑期联赛(6)01/04/08/09
  • 为RTX5090安装推荐驱动后报错,Claude辅助快速定位并解决问题
  • 修复EXT2FSD 在win10下挂载ext4 (识别成ext3)造成的分区损坏
  • 基于YOLOv8的水体环境监控项目(精准识别水域废弃物与污染物)|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!