当前位置: 首页 > news >正文

网站设计小结宁德网站制作公司

网站设计小结,宁德网站制作公司,免费无线,黑河最新消息今天在Helixtoolkit中手搓模型太难了,如果能导入现有模型简直不要太方便。helixtoolkit就提供了Assimp支持:HelixToolkit.SharpDX.Assimp,支持导入3DS、CMO、OBJ、FBX、DAE、glTF、LWO、OFF、STL等模型。1、Importer类Importer类提供多种 Load 方…

在Helixtoolkit中手搓模型太难了,如果能导入现有模型简直不要太方便。helixtoolkit就提供了Assimp支持:HelixToolkit.SharpDX.Assimp,支持导入3DS、CMO、OBJ、FBX、DAE、glTF、LWO、OFF、STL等模型。

1、Importer类

Importer类提供多种 Load 方法,支持从文件路径、文件流加载模型,并加载其中的纹理、材质和动画数据。输出为HelixToolkit 的场景节点树HelixToolkitScene

// 通过文件路径加载,使用默认配置
public HelixToolkitScene? Load(string filePath);// 通过文件路径加载,指定是否并行处理及后处理步骤
public HelixToolkitScene? Load(string filePath, bool parallelLoad, PostProcessSteps postprocessSteps, params PropertyConfig[] configs);// 通过文件路径和自定义配置加载
public HelixToolkitScene? Load(string filePath, ImporterConfiguration config);// 通过文件流加载,支持格式提示和自定义纹理路径解析器
public ErrorCode Load(Stream fileStream, string filePath, string formatHint, out HelixToolkitScene? scene, ITexturePathResolver? texturePathResolver = null);

HelixtoolkitScene是模型与WPF交互的桥梁,其中包含许多场景节点SceneNode以及动画Animations。利用提供的ScenNodeGroupModel3D类型可以将场景节点添加进模型容器中,最后使用Element3DPresenter控件将其显示出来。

参考代码如下:

public SceneNodeGroupModel3D ModelGroup { get; } = new();
private HelixToolkitScene? scene;private void LoadFile()
{string relativePath = "./Models/3ds/Car.3DS";var importer = new Importer();scene = importer.Load(relativePath);if (scene is null){return;}ModelGroup.AddNode(scene.Root);
}//xaml中
<hx:Element3DPresenter Content="{Binding ModelGroup}" />

2、选中部件

SceneNode是所有其他节点的基类,我们将场景中的3D几何图形节点MeshNode抽取出来即可,注意嵌套关系,GroupNode中会包含GroupNode,GroupNode包含MeshNode。

 [ObservableProperty]private Geometry3D? selectedGeometry;[ObservableProperty]private System.Windows.Media.Media3D.Transform3D? selectedTransform;public Material SelectedMaterial { get; } =new PhongMaterial() { EmissiveColor = Color.Yellow };private void TraverseNodes(SceneNode node){if (node is MeshNode meshNode){node.MouseDown += (s, e) =>{SelectedGeometry = meshNode.Geometry;SelectedTransform = new System.Windows.Media.Media3D.MatrixTransform3D(meshNode.TotalModelMatrix.ToMatrix3D());};node.IsHitTestVisible = true;//可选中}// 检查节点是否有子项if (node is GroupNode groupNode){foreach (var child in groupNode.Items){TraverseNodes(child, meshNodes);}}}//XAML中
<hx:MeshGeometryModel3DGeometry="{Binding SelectedGeometry}"IsSelected="True"Material="{Binding SelectedMaterial}"Transform="{Binding SelectedTransform}"/>

http://www.dtcms.com/a/396891.html

相关文章:

  • 南京h5 网站建设网站设计怎么做链接
  • 青阳做网站济南seo推广效果好
  • 重庆网站开发企业寿光市网站建设
  • 产品推广外包岳阳网站优化公司
  • 宁波网站制作公司哪家好俄罗斯乌克兰死亡人数
  • wordpress站群软件北京网站制作公司飞沐
  • 猪八戒做网站网站有些什么内容
  • 门户网站如何帮企业做宣传江苏建设集团招聘信息网站
  • 做网站手机验证收费吗建站时候源码有验证怎么办
  • 编程免费自学网站能免费做封面的网站
  • 烟台网站排名优化报价网站广告连接如何做
  • 英文网站建设注意什么自己在线制作logo免费广告招牌
  • 虚拟机怎么做多个网站重庆相亲网
  • 网站美工效果图怎么做手机客户端app下载
  • 利用DeepSeek编写Duckdb的C插件实现大数运算
  • 微信上浏览自己做的网站吗自己做电商网站
  • 佛山网站设计模板sem竞价托管公司
  • 网站蜘蛛屏蔽怎样恢复吐鲁番市网站建设
  • 成都设计电商网站wordpress的slider
  • 如何做网站写手wordpress上传主题错误
  • 网站排名优化查询阳江招聘网最新招聘找工作
  • 网站站外优化深圳 网页制作
  • 如何设计网站的主菜单企业做网站的痛点有哪些
  • 域名不变 网站改版vs做网站开发吗
  • 莱钢建设网站优秀排版设计网站
  • 展示型网站和官网wordpress置顶文章 图标
  • 怎么做网站跳转嘉兴有能做网站优化
  • 鄂尔多斯网站网站建设新的seo网站优化排名 网站
  • 通辽网站网站建设济南百度推广公司电话
  • 泰安网站制作排行网站如何做二级栏目