• 正文概述
  • 更新记录
  • glTF是用于小场景的三维模型。 Cesium支持包含关键帧(key-frame)动画、骨骼(skinning)动画 的glTF格式的三维模型,并且支持模型节点(node)的拾取。 glTF是 Khronos Group 定义的一个基于web上的新兴三维模型格式行业标准。Khronos Group是WebGL和 COLLADA的背后财团。

    可以下载glb模型制作,gltf模型制作 glbxz.com

    https://glbxz.com
    1. 三维模型源数据的设计要求

    1.1 建模设计要求

    无论是通过什么工具来设计建模,最终obj等格式即可。设计时需要主要的地方,有以下几点:

    1. 模型单位:三维模型采用米(m)作为单位,模型大小与物体的真实大小要接近,比如车辆的长度在几米到十几米长,不要生产成100米、1000米的大小。

    2. 模型方向:车辆等具备方向的模型时,车头朝向南

    3. 模型中心点:模型需要将视角效果的中心放在X=0,Y=0,Z=0的原点位置,XY轴方向居中,Z轴方向都放0上面(如下图所示)。image

    4. 材质要求: 使用 Standard 标准材质,材质类型使用 Blinn。程序纹理尽量只使用位图,有些程序纹理FBX导出时会报错出问题导致灰色材质(并不是全部的程序纹理)(例:Color Correction),纹理图片不能再Max中进行裁剪,FBX不支持。image

    p分页标题e纹理图片

    • 纹理图片必须是jpg,png等web兼容格式,图片名称不要有中文。
    • 能够完整反映模型的外观,精度控制合理,在保证三维模型视觉效果的前提下,减少模型点面数和材质数量,贴图尽量烘焙整合减少贴图数量,贴图分辨率最大不超2048×2048(能小则小,能压缩就压缩,PNG图片可以尝试用Photoshop导出8位色彩的),做到数据量的精简。
    • 所有的纹理使用同一个顶点数据。可以使用多重纹理把uv的作用最大化,但是所有纹理只能分享同一个纹理坐标。
    • 尽量使用纹理合并集( texture atlases 多个小纹理和到一张大纹理上)而不是很多独立纹理。这样会使文件下载次数最小化,并且使引擎批量渲染,会提升不少性能。
    • 使用mipmaping。这个会提升显示效果和渲染性能,尤其是对大的纹理合并集 ,否则会产生很多内存碎片( poor memory coherence)。
    • 如果贴图在cesium里不透明,有可能是blend属性没有开启造成的,修改修改模型的属性。

    几何体

    • 不要包含任何比不需要的顶点元素。虽然导出Collada dae会增大一点点,但是对glTF确增大了很多。因为glTF不支持顶点属性的索引( per-attribute indices),所有的顶点属性都是和顶点个数一致。
    • 尽量减少节点(node)和 三角网(mesh)的个数。通常一个大的三角网渲染效率要比很多个小的三角网效率高。
    • 尽量把模型身上的修改器塌陷掉,特别是UVW展开与自动展开UVs,如不塌陷掉在后期转换中处理后预览时可能会看到双重模型。

    1.1 交付物数据及格式要求

    如果交付提供max原始文件【建议】

    如果是max文件,注意同时发送所有贴图材质。可以在max里重新指定贴图路径,选中所有的贴图后,把路径更改为当前机器上的贴图所在位置路径。p分页标题eimage

    如果交付物是提供obj格式文件

    按下面参数设置步骤操作导出数据即可,同样注意别丢失材质贴图文件。image

    2. 单体小模型转为glTF格式

    转换工具:obj转gltf(opens new window)fbx转glTF(opens new window)dae转gltfp分页标题e(opens new window)gltf转glb(opens new window)max导出gltf插件(opens new window)

    下面介绍其中2种比较常用的工具:

    2.1 使用obj2gltf工具

    请确认处理机器安装有Node环境,如果没有请下载安装Node下载地址(opens new window)

    obj2gltf工具p分页标题e(opens new window)主要是将obj数据转换成gltf2.0格式数据,如果您是其它格式数据可以通过3dmax软件另存导出obj格式数据。

    1. Github上下载或clone仓库,打开本地的obj2gltf-master文件夹
    git clone https://github.com/CesiumGS/obj2gltf.git

    1复制代码

    1. 在obj2gltf-master目录下,输入命令:npm installcnpm install安装依赖包
    npm install

    p分页标题e1复制代码

    1. 执行数据转换,命令行如下:
    node bin/obj2gltf.js -i data/test.obj -b

    1复制代码

    image

    命令行支持的参数:

    参数说明必选项默认值

    -h,--help显示帮助否-i,--inputobj文件的路径。✅ 必须-o,--output转换后的glTF或glb文件的路径。否-b,--binary保存为二进制glTF (.glb)。否false-s,--separate写出单独的缓冲区和纹理,而不是将它们嵌入到glTF文件中。否false-t,--separateTextures只写出单独的纹理。否false--checkTransparency通过查看每个像素的alpha通道来做一个更详尽的纹理透明度检查。默认情况下,纹理是不透明的。否false--secure防止转换器读取输入obj目录之外的纹理或mtl文件。否false--packOcclusion在金属粗糙纹理的红色通道中填充遮挡纹理。否false--metallicRoughnessmtl文件中的值已经是金属粗糙度PBR值,不应该应用转换步骤。金属存储在Ks和map_Ks槽中,粗糙度存储在Ns和map_Ns槽中。否false--specularGlossinessTmtl文件中的值已经是镜面光泽度PBR值,不应该应用转换步骤。镜面光泽度存储在k和map_Ks槽中,光泽度存储在n和map_Ns槽中。glTF将被保存为khr_materials_pbrspeculargloss扩展名。否false--unlitglTF将以KHR_materials_unlit扩展名保存。否false--metallicRoughnessOcclusionTexture到金属粗糙遮挡纹理的路径,它应该覆盖.mtl文件中的纹理,其中遮挡存储在红色通道中,粗糙存储在绿色通道中,金属存储在蓝色通道中。模型将保存为pbrMetallicRoughness材质。在.mtl不存在或没有设置为使用PBR材料的工作流中,这通常是很方便的。适用于单一材料的模型。否--specularGlossinessTexture高光光泽度纹理的路径应该覆盖。mtl文件中的纹理,高光颜色存储在红色、绿色和蓝色通道中,高光光泽度存储在alpha通道中。使用khr_materials_pbrspeculargloss扩展,模型将和材质一起保存。否--occlusionTexture遮挡纹理的路径,它应该覆盖.mtl文件中的纹理。否--normalTexture普通纹理的路径,它应该覆盖.mtl文件中的纹理。否--baseColorTexturebaseColor/diffuse纹理的路径,它应该覆盖.mtl文件中的纹理。否--emissiveTexture应该覆盖.mtl文件中的纹理的发射纹理的路径。否--alphaTexturealpha纹理的路径,应该覆盖。mtl文件中的纹理。否p分页标题e

    2.2 dae转gltf转换工具

    1. 需要在3dmax中安装OpenCOLLADA插件(opens new window), 将下载好的COLLADAMaxNew.dle文件复制粘贴到3dsMax的安装目录的plugins文件夹中;打开软件,选择 自定义->插件管理器,在空白处点击右键,选择 加载新插件 在找到插件位置即可,添加完成后,在插件管理器中会出现添加进的插件

    image

    1. 打开3dsMax;选择导出,将模型导出为OpenCOLLADA(*.dae)格式

    image

    1. 下载COLLADA2GLTF工具(opens new window)下载最新工具包。

    2. 进入下载包的目录,启动命令行工具,输入命令:p分页标题eCOLLADA2GLTF [.exe] [-i输入] [ -o输出] [选项]

    .\COLLADA2GLTF-bin.exe  -i  F:\COLLADA2GLTF\data\weilan.DAE

    1复制代码

    image

    命令行支持的参数:

    参数默认值必选项说明

    -i, –input必须 ✅输入COLLADA文件的路径-o, –outputoutput/${input}.gltf否输出glTF文件的路径–basepath输入路径的父路径否使用此作为引用路径解析外部uri-s, –separatefalse否输出单独的二进制缓冲区,着色器和纹理-t, –separateTexturesfalse否分别输出纹理-b, –binaryfalse否输出二进制glTF(.glb)-m, –materialsCommonfalse否使用KHR_materials_common扩展名输出材料-v, –version否输出glTF版本(例如:“1.0”、“2.0”)-d, –dracoCompressionfalse否Output meshes using Draco compression extension–qp否Quantization bits used for position attributes in Draco compression extension–qn否Quantization bits used for normal attributes in Draco compression extension–qt否Quantization bits used for texcoord attributes in Draco compression extension–qc否Quantization bits used for color attributes in Draco compression extension–qj否Quantization bits used for joint indice and weight attributes in Draco compression extension–metallicRoughnessTextures否Paths to images to use as the PBR metallicRoughness textures–specularGlossinessfalse否output PBR materials with the KHR_materials_pbrSpecularGlossiness extension–lockOcclusionMetallicRoughnessfalse否SetmetallicRoughnessTextureto be the same as theocclusionTexturein materials where an ambient texture is defined–doubleSidedfalse否Force all materials to be double sided. When this value is true, back-face culling is disabled and double sided lighting is enabled–preserveUnusedSemanticsfalse否Don’t optimize out primitive semantics and their data, even if they aren’t used.p分页标题e

    3. 处理操作流程完整示例

    3.1 导出obj格式

    下面是以3ds Max软件为例,导出为obj格式;

    3.1.1 打开模型并确认模型位置

    确认或调整模型中心点位置,如图中所指,需要将模型处于两线交叉口,绘制时处于中心位置;

    偏移量会导致模型绘制之后出现偏差;

    image

    3.1.2 导出obj文件

    通过3dmax导出文件,根据下图所指引进行导出;image

    转换后的模型最好放在obj2gltf工具目录的data文件夹下p分页标题e

    3.2 obj格式转换gltf

    下面是以obj2gltf工具为例,转换为gltf文件,转换前确保已经按上面步骤安装好obj2gltf;

      1. 打开本地的obj2gltf-master文件夹,
      1. 执行数据转换,命令行如下图:
    node bin/obj2gltf.js -i data/test.obj -b

    1复制代码

      1. 转换成功后的gltf文件如下:

    image

    转换成功之后将.gltf文件放在项目中,

    或者放在独立站点服务,可以参考p分页标题e发布三维数据服务。

    6.3 在平台中加载gltf

    可以在Gltf模型编辑页面(opens new window)进行验证,是否成功转换,加载成功效果如下图:

    image

    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,请不要用于商业用途!
    3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
    8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
    声明如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性

    GLB下载网(glbxz.com)gltf文件下载-glb格式下载-模型制作 » 三维模型:单体小模型转为glTF格式glb格式

    常见问题FAQ

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

    提供最优质的资源集合

    加入VIP
    开通VIP 享更多特权,建议使用 QQ 登录
    ×