首页 / 浏览问题 / 组件GIS / 问题详情
线性拉伸得到的Geomodel3D,如何设置纹理
35EXP 2022年07月12日

使用产品:Supermap iObjects.net 10.2.1

问题描述:现有一个面数据,通过ModelBuilder3D.LinearExtrude()方法进行线性拉伸,得到三维模型Geomodel3D,想要给顶面和侧面贴上不同的纹理,但LinearExtrude的参数TextureMapParameter uvwParam,没有设置纹理图片路径的参数。

所以想请问如何给线性拉伸得到的模型贴纹理

1个回答

您好,通过线性拉伸的方式只能给模型赋一个贴图,不能完成对顶面和侧面贴图的效果。建议您可以通过对矢量面数据在风格里面设置拉伸的方法。该操作您可以现在桌面版尝试一下。下面提供两种方法的拉伸纹理设置思路供您参考:

1.线性拉伸建模以后对模型设置纹理:
       1.1通过GeoModel3D获取到Model。
       1.2通过Add(TextureData)非实例化方式添加纹理数据。
       1.3在通过Model.Bind绑定模型实体管理器。提供了对骨架、材质、纹理等模型实体的管理方法,可创建、添加、删除各类模型实体。

2.直接给面设置拉伸贴图:
       2.1通过layer3d获取到Layer3DDataset。
       2.2通过as转换成Layer3DSettingVector
       2.3通过Layer3DSettingVector.Style赋风格。构造GeoStyle3D 类,通过ExtendedHeight设置拉伸高度,再通过GeoStyle3D.SideTextureFiles赋贴图路径。

希望能帮助到您!
2,513EXP 2022年07月12日
...