原文地址:https://cesium.com/blog/2014/12/15/gltf-tips-for-artists/

这篇文章是Branden Coker, an artist from AGI 写的,他是 AGI 的一个艺术家,做过很多事情,包括 为追踪圣诞老人项目建模。感谢3dben 编写的Blender和3DS Max建模建议。
Cesium使用面向web的glTF 格式三维模型,同时提供了一个 dae在线转gltf的工具, 把dae和它纹理拖放到这个工具里,就能获得一个glTF格式的模型。这篇文章是一些对三维数据建模和导出到COLLADA dae 的小提示,帮助提升模型的性能和稳定性。

纹理图片

  • 所有的纹理使用同一个顶点数据。可以使用多重纹理把uv的作用最大化,但是所有纹理只能分享同一个纹理坐标。
  • 尽量使用纹理合并集( texture atlases 多个小纹理和到一张大纹理上)而不是很多独立纹理 。这样会使文件下载次数最小化,并且使引擎批量渲染,会提升不少性能。
  • 尽管WebGL标准承诺的最大纹理是6464,但是现代显卡系统都支持到20482048,这个也是glTF纹理资源合理的尺寸上限。
  • 使用mipmaping。这个会提升显示效果和渲染性能,尤其是对大的纹理合并集 ,否则会产生很多内存碎片( poor memory coherence)。
  • 使用2的幂次方大小的纹理。对于非2的幂次方的纹理,引擎实际会实时的进行缩放。 并不是要求纹理的宽度和高度相同,而是说宽度或者高度都是2的幂次方即可。

几何体

  • 不要包含任何比不需要的顶点元素。虽然导出Collada dae会增大一点点,但是对glTF确增大了很多。因为glTF不支持顶点属性的索引( per-attribute indices),所有的顶点属性都是和顶点个数一致。
  • 尽量减少节点(node)和 三角网(mesh)的个数。通常一个大的三角网渲染效率要比很多个小的三角网效率高。

Modo 软件

  • Collada导出的时候禁用相机,光照,顶点颜色,顶点权重等应用程序层面的属性,这些在Cesium加载的时候都用不上。
  • 删除相机和灯光对象。
  • 如果模型没有带动画,那么删除所有三级网中用不到的平移,旋转,缩放矩阵。
  • instance形式的关键帧(Instanced keyframes)在导出前必须烘培。这种情况是因为把一个带动画的三角网instance了。尽管在Modo软件里动画没问题,但是如果不烘培(baked)导出不了。
  • 带动画的模型不能使用 Bake Matrices 选项导出,这么导出的模型动画就丢了。

Blender 软件

  • 对于带纹理的模型,在 COLLADA导出器中勾选 Include UV TexturesInclude Material Textures

3DS Max 软件

  • 纹理图片必须是jpg,png等web兼容格式。
  • 把纹理和.max文件放在一个目录下。
  • 材质命名最好和纹理图片文件名称一致。
  • 在同一个目录下导出FBX会带着图片。
 
中国最专业的Cesium开发者社区

Cesium官方教程11--建模人员必读的更多相关文章

  1. 关于Cesium 官方教程

    最近一直在准备第一次QQ群的Cesium基础培训公开课,虽说使用Cesium也有段日子了,但是要说对Cesium了解有多深,还真不一定.原因是一直以来我都是用哪里学哪里.基于多年开发三维数字地球的底层 ...

  2. Cesium官方教程13--Cesium和Webpack

    原文地址:https://cesiumjs.org/tutorials/cesium-and-webpack/ Cesium 和 Webpack Webpack是非常强大非常流行的JavaScript ...

  3. Cesium官方教程9--粒子系统

    原文地址:https://cesiumjs.org/tutorials/Particle-Systems-Tutorial/ 粒子系统介绍 这篇教程带你学习Cesium的粒子相关API,比如如何在你的 ...

  4. Cesium官方教程7--三维模型

    原文地址:https://cesiumjs.org/tutorials/3D-Models-Tutorial/ 三维模型 (3D Models) 这篇教程给大家介绍,如何在Cesium中通过Primi ...

  5. Cesium官方教程6--相机

    相机(Camera) 相机控制了场景的观察视角.有很多相机操控方法,比如旋转.缩放.平移以及飞行定位.Cesium默认支持使用鼠标和触摸事件控制相机.Cesium也提供了一套可编程的相机控制API.这 ...

  6. Cesium官方教程10--高级粒子特效

    原文地址:https://cesiumjs.org/tutorials/Particle-Systems-More-Effects-Tutorial/ 高级粒子系统特效 这篇教程学习更多的效果,包括天 ...

  7. Cesium官方教程8-- 几何体和外观效果

    原文地址:https://cesiumjs.org/tutorials/Geometry-and-Appearances/ 几何体和外观效果(Geometry and Appearances) 这篇教 ...

  8. Cesium官方教程4--影像图层

    原文地址:https://cesiumjs.org/tutorials/Imagery-Layers-Tutorial/ 影像图层 Cesium支持多种服务来源的高精度影像(地图)数据的加载和渲染.图 ...

  9. ActionBar官方教程(11)自定义ActionBar的样式(含重要的样式属性表及练习示例)

    Styling the Action Bar If you want to implement a visual design that represents your app's brand, th ...

随机推荐

  1. 树形结构_红黑树:平衡2X 哈夫曼树:最优2X

    红黑树:平衡2X 哈夫曼树:最优2X 红黑树 :TreeSet.TreeMap 哈夫曼树 1. 将w1.w2.…,wn看成是有n 棵树的森林(每棵树仅有一个结点): 2. 在森林中选出根结点的权值最小 ...

  2. final修饰和StringBuffer的几个案例(拼接,反转,对称操作)

    final关键字修饰时如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象,但引用变量不能变,引用变量所指向的对象中的内容还 ...

  3. Mysql查漏补缺

    Mysql查漏补缺 存储引擎 数据库使用存储引擎来进行CRUD的操作,不同的存储引擎提供了不同的功能.Mysql支持的存储引擎有InnoDB.MyISAM.Memory.Merge.Archive.F ...

  4. css---文本新增样式

    opacity属性指定了一个元素的透明度 默认值:1.0 不可继承    兼容性不是太好 兼容性写法 opacity{ opacity:0.5; filter:alpha(opacity=); //f ...

  5. 校园商铺-2项目设计和框架搭建-7验证Dao

    以最简单的地区表为例 1.插入数据 insert into tb_area (area_name, priority) values('东苑', 1),('南苑', 7),('北苑', 5); sel ...

  6. Windows 获取控制台窗口句柄

    详细信息 因为多个窗口可能具有相同的标题,您应该更改当前的控制台窗口标题为唯一的标题.这将有助于防止返回不正确的窗口句柄.使用 SetConsoleTitle() 来更改当前的控制台窗口标题.下面是此 ...

  7. c&c++MFC 调用 js 函数代码

    调用函数代码和示例   Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlight ...

  8. idea社区版+第一个spring boot项目+增删改查+yml修改端口号

    参考:https://www.cnblogs.com/tanlei-sxs/p/9855071.html 中途出现问题时参考了太多 1.下载idea社区版 2.在settings -> Plug ...

  9. C#winform解析marc显示在datagridview中以及marc卡片显示

    结果显示:marc显示: 卡片显示: 程序一个类: public class MARC { #region 界面上要显示的元素 public string ztm = "";//正 ...

  10. HDFS under replicated blocks

    under replicated blocks 解决: 找出没有复制的block: hdfs fsck / | grep 'Under replicated' | awk -F':' '{print ...