HelixToolkit使用教程
HelixToolkit使用总结:
问题点:
3d光源
相机
网格信息
1、配置HelixViewPort3d基本参数
2、配置相机参数和相机位置:HelixViewPort3D.DefaultCamera
设置相机的放置方向和观看位置
<hv:HelixViewport3D.DefaultCamera> <PerspectiveCamera LookDirection="-587.475,-330.619,-229.365" Position="587.475,330.619,256.278" UpDirection="-0.248,-0.139,0.959" FieldOfView="45" NearPlaneDistance="0.1"/> </hv:HelixViewport3D.DefaultCamera>
3、配置光线:hv:SunLight
4、配置坐标网格 hv:GridLinesVisual3D
<hv:GridLinesVisual3D Width="10000" Length="10000" MinorDistance="50" MajorDistance="50" Thickness="2" Fill="White"/>
5、配置模型的属性ModelVisual3D两个属性
1)、材质和外观
GeometryModel3D
1、Material
2、Geometry
GeometryModel3D model1 = d.Children[i] as GeometryModel3D; var materialGroup = new MaterialGroup(); DiffuseMaterial diffMat = new DiffuseMaterial(new SolidColorBrush(Colors.Gray)); materialGroup.Children.Add(diffMat); model1.Material = materialGroup; model1.BackMaterial = materialGroup;
对模型位置修改:
1)模型内位置的修改
对象的平移:
GeometryModel3D model1 = d.Children[0] as GeometryModel3D; MeshGeometry3D mesh = model1.Geometry as MeshGeometry3D; var res = mesh.Positions; for (int i = 0; i < res.Count; i++) { var sp = mesh.Positions[i]; mesh.Positions[i] = new Point3D() { X = sp.X, Y =sp.Y, Z =sp.Z+ 10 }; } model1.Geometry = mesh;
UI界面更新外观和位置:
<GeometryModel3D> <GeometryModel3D.Material> <DiffuseMaterial Brush="Green"/> </GeometryModel3D.Material> <GeometryModel3D.Geometry> <MeshGeometry3D Positions="0,0,0 2,0,0 2,2,0 0,2,0" TriangleIndices="0,1,2 0,2,3"> </MeshGeometry3D> </GeometryModel3D.Geometry> </GeometryModel3D>
2)整体模型位置的修改
通过对前台代码的修改即可。或者是使用mvvm进行绑定修改
效果图如下:
实现对模型的运动控制
C#.net. WPF.core 技术交流群 群号205082182,欢迎加入,也可以直接点击左侧和下方的"加入QQ群",直接加入
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2018-10-12 Visual Staudio 2015 打开指定文件,定位到指定文件目录下