2019.8.9更新:Smart3D现在对所有的.s3c文件都进行了加密,已经不能直接设置txt文件,但是依旧可以使用CC_S3CComposer.exe进行编辑创建。但是官网下载的.s3c文件还进一步有设置,不能进行编辑更改,因此请下载我提供的.s3c文件进行操作。
以下步骤根据最新.s3c格式进行编写。
一、须知:
S3C是Smart3D内部格式,实质上是一个分块模型的索引,可以将所有区块同时显示在一张图中;
OSGB是国际通用三维场景格式,按区块存储,但是没有索引,因此每次只能显示一块。
因而配置OSGB的S3C索引,就可以把OSGB格式的三维场景一次性显示全。
二、必备材料:
1.一个任意的 S3C 文件
( 官网例子已经加密,不可进行编辑修改,只可查看,因此此链接下载的文件已不可为我们所用)打开Acute3D Viewer,可看到网址https://www.acute3d.com/s3c-samples/,打开后可以下载S3C文件。前面几个是在浏览器打开,后面几个下载后为S3C文件,可以在Acute3D Viewer中打开。
下载我上传的S3C文件s3csample.s3c ,这个文件可以编辑修改。
s3c文件网盘地址(链接:https://pan.baidu.com/s/11AFfpQIeFA7QlSGa6NxjAA 提取码:8qw1)
复制这段内容后打开百度网盘手机App,操作更方便哦
如果使用编辑器打开,可以看到类似于如下内容:
2.ContextCapture 软件中的 Scene Composer 功能模块
在安装目录的bin下:CC_S3CComposer.exe
3.一套处理完毕的 OSGB 分块数据
4.Acute3D Viewer 浏览工具
5.Notepad++、Sublime Text等编辑器。
三、操作步骤:
1.将准备好的 S3C 文件复制到与OSGB的Data 文件夹(Data文件名是Smart3D自动命名的,也可以是其他名称)并行的目录中:
2.在Scene Composer中打开S3C文件(一定要与Data放一起,否则打不开):
由于Smart3D生成OSGB时会在Data同级目录下生成一个metadata.xml,这是影像的元数据信息,如坐标系统等,所以加载S3C时会提示,要选择“是”来将S3C文件中的元数据信息更新为正确的数据。
或
3.将这个 S3C 文件中的瓦片信息通过文本编辑的形式打开:
或
4.全选复制到编辑器里,我用的是Sublime Text,观察S3C文件中Tile文件的结构排序规律:
或
其实,.s3c文件的真实内容是每个瓦片的相对位置。其组成结构为:
根目录(即Data或其他名称)\瓦片文件夹的名称\瓦片的名称.s3c
要更改的是瓦片文件夹的名称和瓦片的名称,以及瓦片后缀名(即.osgb),瓦片文件夹的名称和瓦片的名称其实是一样的。
5.因此,利用 cmd 把需要生成索引的 Data 文件里目录文件名复制出来,
Win+R调出运行,输入cmd打开dos命令窗,输入:
dir Data路径 /b> 要存储的文本的位置
例如我的Data在D盘根目录下,把存储的文件名放到名为a的txt文本中,把文本也放到D盘根目录下:
dir D:\Data /b> D:\a.txt
(直接复制上面这句话到cmd中,然后再修改路径,不容易出错)
注:如果发现此Data文件并不是要建立索引的OSGB文件(而是其他的三维模型的Data文件,可能是OSGB格式,也可能是FBX等格式),下列操作可以继续进行,当把S3C文件建立好后,再移动到要建立索引的OSGB文件的Data同级目录下。但是此处复制的文件名必须是要建立索引的OSGB文件的Data子文件夹名称。
6.通过列编辑将要生成索引的 Data 文件夹中的 Tile文件名改为如下格式,后缀名改为.osgb,第一列都为Data,第二列是上一步复制出的文件夹名,第三列为第二列文件夹下的文件,名称与第二列相同,它是OSGB文件。
也可以用excel进行编辑合并列。使用\或/都可以,但最好写\。
最后一行不要修改,如果有—logo相关语句可以删掉。如上图和下图对比最后一行。
7.将替换完毕的新字段粘贴到Edit command line对话框中并另存为S3C文件,注意只能存在相同文件夹下:
如果直接用编辑器打开这个S3C文件,可以看到它与下载的S3C文件格式一样,都是被编译过的。
8.双击打开新建的S3C文件就可以在 Acute3D Viewer 里看到模型了。如果不是本Data的S3C文件,必须移动到对应的Data同级目录下,再在Scene Composer中打开一次,以更新元数据;但是要注意瓦片个数是不是相同的,两个Data里瓦片个数不同,可能会导致s3c少读取了一些瓦片。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184764.html原文链接:https://javaforall.cn