700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 三维电子沙盘数字沙盘元宇宙大数据人工智能无人机倾斜摄影三维全景建模第17课

三维电子沙盘数字沙盘元宇宙大数据人工智能无人机倾斜摄影三维全景建模第17课

时间:2020-12-27 15:58:55

相关推荐

三维电子沙盘数字沙盘元宇宙大数据人工智能无人机倾斜摄影三维全景建模第17课

三维电子沙盘数字沙盘元宇宙大数据人工智能无人机倾斜摄影三维全景建模第17课

在SDK中提供底层的模型访问接口,利用好了可以实现模型的移动动画。材质替换动画等等。下面介绍一下具体的操作方法:

这部 分需要懂一点3dmax如果不懂可以找懂的美工配合一下,这里只起一个抛砖引玉的做用。能够实现的很多,就要看大家的想法了。

先在3dmax中建如 下模型:

注意看一下结构图:

这里我 简单建了几个box。放了一个茶壶它属于box003下面的子物体。相当于我们用box来模仿楼层,茶壶相当于楼层中的物体。,下面为了方便好看,我们给它们弄上半透明的颜色材质,这 里有一点需要注 意,因为我们用的是3ds格式,所以是不支持光影材质和3dmax扩展材质(意思就是只只支持贴图或者纯色了):

然后我们导出为3ds格式。进入平台后如下图:

可以看到我们导入系统后可以得到和3dmax中一模一样的结构列表。这个列表怎么用呢。。我们可以干什么呢。。比如我们可以把有茶壶的那一层拿出来单独研究研究看一看:上代码:

GisObjectFor3DSFile va = (GisObjectFor3DSFile)IniRead.IniReadWrite.BiaoManage.BiaoList[0];//从当前场景中找到模型标号

var aa = va.FindNode("Box002__Group");//从模型标号中找到二楼

TranslateTransform3D p1 = new TranslateTransform3D();

p1.OffsetX = aa.Value.Transform.Value.OffsetX + aa.Value.Bounds.SizeX;

p1.OffsetY = aa.Value.Transform.Value.OffsetY;

p1.OffsetZ = aa.Value.Transform.Value.OffsetZ;

//利用wpf中自带的移动器把它移出来,这里也可以加上动画

aa.Value.Transform = p1;

出来的效果如下:

当然你还可以替换材质,复杂一点的可以实现沿路运动,比如导弹发射等复杂效果。在 GisObjectFor3DSFile 类中有点击事件

如下:

GisObjectFor3DSFile va = (GisObjectFor3DSFile)IniRead.IniReadWrite.BiaoManage.BiaoList[0];//从当前场景中找到模型标号

va.ShowBiaoInfo += Va_ShowBiaoInfo;

private void Va_ShowBiaoInfo(NewGisBiao.Base.BaseInfo value, MouseEventArgs Mouseevent, RayMeshGeometry3DHitTestResult TouchObject = null)

{

throw new NotImplementedException();

}

可以在在事件中得到点击的模型哪个一部件,这样就可以与你的模型交互了。

————————————————

版权声明:本文为CSDN博主「种瓜的」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:/xtgmd168/article/details/104676048

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。