簡體   English   中英

WPF 型號顯示為黑色,帶有螺旋查看器 3d c#

[英]WPF models appear black with helix viewer 3d c#

我是 WPF 和模型的新手,我想制作一個可以打開各種 obj 文件並顯示模型的界面。

目前,它們在視口中都顯示為黑色,如下所示:

黑色模型

我不知道為什么,但我認為這是一個閃電問題,因為所有型號都有不同的位置,我不知道如何更改 position。 我認為它與它自己的 obj 無關,就像在 windows 的查看器中一樣,它看起來是彩色的:

彩色模型

這是我的 xaml 零件:

<Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*"/>
            <ColumnDefinition Width="1*"/>
            <ColumnDefinition Width="2*"/>
        </Grid.ColumnDefinitions>

    <ListBox x:Name="Groupfiles" SelectionChanged="Groupfiles_Selected" Grid.Column="0"></ListBox>
    <StackPanel Grid.Column="1">
        <Button x:Name="ClickThebutton" Click="ClickThebutton_Click" >Click Me</Button>
    </StackPanel>
    <helix:HelixViewport3D x:Name="viewPort3d" ZoomExtentsWhenLoaded="true" Grid.Column="2" >
    </helix:HelixViewport3D>
</Grid>

這是 c# 零件:

ModelVisual3D device3D = new ModelVisual3D();
string file_to_open = null;
file_to_open = Groupfiles.SelectedItem.ToString();
string obj_file = Path.ChangeExtension(file_to_open, ".obj");
if (!File.Exists(obj_file))
{
     /// converts original file to obj file
}

device3D.Content = Display3d(obj_file);

viewPort3d.Children.Clear();
viewPort3d.Children.Add(device3D);
viewPort3d.ZoomExtents();

顯示方法是這樣的(來自我看到的 helix3d 教程):

public static Model3D Display3d(string model)
{
    Model3D device = null;
    try
    {
        //Adding a gesture here
        viewPort3d.RotateGesture =new MouseGesture(MouseAction.LeftClick));
            
        //Import 3D model file
        ModelImporter import = new ModelImporter();

        //Load the 3D model file
        device= import.Load(model);
    }
    catch (Exception e)
    {
        // Handle exception in case can not find the 3D model file
        MessageBox.Show("Exception Error : " + e.StackTrace);
    }
    return device;
}

我試圖找到這個問題的答案,但無濟於事。 請你幫助我好嗎。

我沒有看到您在代碼中設置任何燈。

我通過在 zoomextents(); 之后添加這兩行來解決我的問題。

ui.viewPort3d.Children.Remove(ui.defaultLights);
ui.viewPort3d.Children.Add(ui.defaultLights);

感謝所有花時間提供幫助的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM