.net有没有办法合并成一个Layer3Ds

0 投票
我主要是想将场景内图层分成几个组,然后分别修改对应的属性,来获得不同的效果。

我试了一下Layer3D和Layer3Ds不同类型,没找到办法将Layer3D的图层合并到Layer3Ds里面去。

而Add里面的参数都是指的Dataset,所以一直没办法将指定的图层合并到图层集合里面去。

也不知道我的思路是不是就错了,所以想问一下,有没有什么办法实现这一过程?
7月 12, 2017 分类:  505次浏览 | 用户: 佚蓝 才疏学浅 (17 分)

1个回答

1 投票
 
已采纳
您好,三维场景中没有您想的图层组,您可以用Layer3DType来区分出图层的类型,从而对其属性进行不同的设置。
7月 12, 2017 用户: 胡林 登峰造极 (5,985 分)
采纳于 7月 13, 2017 用户:佚蓝
Layer3D里面貌似也有关于颜色、透明度等的属性?

那我需要修改一个图层的透明度应该怎么去修改呢?
你要修改的图层是什么类型的?有些图层是不支持设置透明的,如果是矢量面图层,可以在Layer3DDataset.AdditionalSetting 属性设置图层的扩展信息,然后LayerSettingVector.Style 属性去设置图层的颜色,透明度等

我是用sceneControlDemo.Scene.Layers直接从场景中获取的,应该就是定义的Layer3D的类型,我查看文档资料是没找到透明相关的属性crying

所有的三维图层都可以用Layer3D获取,你可以把Layer3D理解成一个抽象类,具体你获取的图层是什么类型的,可以通过Layer3D.Type来判断,我已经说过了,有些图层是不支持修改透明度,颜色风格的,比如Layer3DModel,模型类型的图层。如果您的图层确定是矢量数据集类型的三维图层,直接Layer3DDataset layerdvector=sceneControlDemo.Scene.Layers[index 或者 name]  as Layer3DDataset;再使用Layer3DDataset.AdditionalSetting 属性设置图层的扩展信息,然后LayerSettingVector.Style 属性去设置图层的颜色,透明度等

原来如此,我明白了,谢谢您yes

那OSGBFile有没有办法实现这个东西呢?smiley

Layer3DOSGBFile.Style 属性
...