[转][smart3d]Smart3D之手动配置 S3C 索引加载全部的OSGB瓦片数据
转自:https://blog.csdn.net/u013719339/article/details/77840728/
一、须知:
S3C是Smart3D内部格式,实质上是一个分块模型的索引,可以将所有区块同时显示在一张图中;
OSGB是国际通用三维场景格式,按区块存储,但是没有索引,因此每次只能显示一块。
因而配置OSGB的S3C索引,就可以把OSGB格式的三维场景一次性显示全。
二、必备材料:
1.一个任意的 S3C 文件
打开Acute3D Viewer,可看到网址https://www.acute3d.com/s3c-samples/,打开后可以下载S3C文件。前面几个是在浏览器打开,后面几个下载后为S3C文件,在Acute3D Viewer中打开
2.ContextCapture 软件中的 Scene Composer 功能模块
在安装目录的bin下:CC_S3CComposer.exe
3.一套处理完毕的 OSGB 分块数据
4.Acute3D Viewer 浏览工具
5.Notepad++、Sublime Text等编辑器。
三、操作步骤:
1.将准备好的 S3C 文件复制到与OSGB的Data 文件夹并行的目录中:
2.在Scene Composer中打开S3C文件(一定要与Data放一起,否则打不开):如果S3C是在上面网址中下载的,应该是所有示例图中的第一个。
由于Smart3D生成OSGB时会在Data同级目录下生成一个metadata.xml,这是影像的元数据信息,如坐标系统等,所以加载S3C时会提示,要选择“是”来将S3C文件中的元数据信息更新为正确的数据。
或
3.将这个 S3C 文件中的瓦片信息通过文本编辑的形式打开:
或
4.全选复制到编辑器里,我用的是Sublime Text,观察S3C文件中Tile文件的结构排序规律:
或
5.利用 cmd 把需要生成索引的 Data 文件里目录文件名复制出来,
Win+R调出运行,输入cmd打开dos命令窗,输入:
dir Data路径 /b> 要存储的文本的位置
例如我的Data在D盘根目录下,把存储的文件名放到名为a的txt文本中,把文本也放到D盘根目录下:
dir D:\Data /b> D:\a.txt
注:如果发现此Data文件并不是要建立索引的OSGB文件(而是其他的三维模型的Data文件,可能是OSGB格式,也可能是FBX等格式),下列操作可以继续进行,当把S3C文件建立好后,再移动到要建立索引的OSGB文件的Data同级目录下。但是此处复制的文件名必须是要建立索引的OSGB文件的Data子文件夹名称。
6.通过列编辑将要生成索引的 Data 文件夹中的 Tile文件名改为如下格式,后缀名改为.osgb,第一列都为Data,第二列是上一步复制出的文件夹名,第三列为第二列文件夹下的文件,名称与第二列相同,它是OSGB文件。
也可以用excel进行编辑合并列。
最后一行不要修改,如果有—logo相关语句可以删掉。如上图和下图对比最后一行。
7.将替换完毕的新字段粘贴到Edit command line对话框中并另存为S3C文件,注意只能存在相同文件夹下:
8.双击打开新建的S3C文件就可以在 Acute3D Viewer 里看到模型了。如果不是本Data的S3C文件,必须移动到对应的Data同级目录下,再在Scene Composer中打开一次,以更新元数据。