WPF加载3D模型

1.  Nuget安装 HelixToolkit

2. XAML中添加

<HelixToolkit:HelixViewport3D x:Name="viewPort3d" ShowFrameRate="True" 
                                      ZoomExtentsWhenLoaded="True"  
                                      ZoomAroundMouseDownPoint="True"  
                                      RotateAroundMouseDownPoint="True" 
                                      IsTopBottomViewOrientedToFrontBack="True" 
                                      IsViewCubeEdgeClicksEnabled="True"> 
            <!-- 添加一个光源  -->
            <HelixToolkit:SunLight />

            <!--  添加一个网格线  -->
            <HelixToolkit:GridLinesVisual3D
                Width="8"
                Length="8"
                MajorDistance="1"
                MinorDistance="1"
                Thickness="0.01" />
            <!--  使用代码加载的3D模型  -->
            <ModelVisual3D Content="{Binding Model}" />
        </HelixToolkit:HelixViewport3D>

3. 后台代码中加载模型

 public Model3D Model { get; set; }

Model = await LoadAsync("xxx.obj",true);

private async Task<Model3DGroup> LoadAsync(string model3DPath, bool freeze)
        { 
            return await Task.Factory.StartNew(() =>
            {
                var mi = new ModelImporter(); 
                if (freeze)
                { 
                    return mi.Load(model3DPath, null, true);
                } 
                return mi.Load(model3DPath, Dispatcher.CurrentDispatcher);
            });  
        }

添加鼠标控制:

 viewPort3d.RotateGesture = new MouseGesture(MouseAction.LeftClick);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值