3

我有一个有头发的人头模型……别担心流血,我只是想获得一个用于改变网格和事物的基本程序。

在此处输入图像描述

这是一个 .OBJ 模型,我正在使用 Helix 3D 工具包加载它。我尝试了各种方法来获取用于头发的材料(加载模型后)。头发是子网格,是子 0。我将导入的模型称为“开始”,它的加载方式如下:

 ObjReader CurrentHelixObjReader = new ObjReader();
 start = CurrentHelixObjReader.Read("C:/Users/Roger/Desktop/head/base_med_.obj");

模型可以成功加载,但是当我尝试这样做时事情会中断:

 Material matty = (MaterialGroup)((GeometryModel3D)start.Children[0]).Material;

我想做的是从原始模型中获取材料。这是从现有材料创建新材料的正确方法吗?

一旦我有了材料,我想在以后的阶段使用它。

我欢迎任何建议,并感谢您的关注。

编辑:错误消息是:

PresentationFramework.dll 中发生了‘System.Windows.Markup.XamlParseException’类型的未处理异常附加信息:‘调用与指定绑定约束匹配的‘HelixTrial.MainWindow’类型的构造函数引发了异常。’ 行号'4'和行位置'9'。如果有这个异常的处理程序,程序可以安全地继续。

4

1 回答 1

3

好的,我想我找到了解决方案,我将代码简化为这个,它现在可以工作了。

 Material matty = (MaterialGroup)((GeometryModel3D)start.Children[0]).Material;

变成 :

 Material matty = ((GeometryModel3D)start.Children[0]).Material;
于 2013-12-05T20:41:47.867 回答