#helix-3d-toolkit #helix
Вопрос:
Я могу загрузить модель с помощью assimp с:
SceneNode _sceneModel = new Importer().Load(path).Root;
Это, по — видимому, загружает геометрию в отдельные сетки-например, если в Maya вы построили комнату с Wall_1, Wall_2, Wall_3 и т. Д. SceneNode-это своего рода структура данных со всеми сетками.
Затем отдельные сетки можно поместить в массив
geometry = _sceneModel.Traverse().Where(x => (x is MeshNode)).Select(m => ((MeshNode)m).Geometry).ToArray();
Но в конечном счете я просто хочу привязать весь отдельный элемент геометрии (например, дом) в xml к
<MeshGeometryModel3D>
но не могу понять, как это сделать. Я могу связать один фрагмент геометрии, например, из массива геометрии, я могу связать геометрию[1], которая может представлять стену, но не могу понять, как связать все это целиком.
Спасибо
Ответ №1:
MeshGeometryModel3D-это оболочка wpf для узла сетки (который является узлом сцены). Если вы хотите отобразить только загруженную модель, вы можете добавить узел корневой сцены в GroupNodeModel3D. Вы можете найти пример здесь https://github.com/helix-toolkit/helix-toolkit/blob/2254fce0870a165352ccb888e2f3e17398751724/Source/Examples/WPF.SharpDX/FileLoadDemo/MainViewModel.cs#L128
Комментарии:
1. Тнх. В xaml в чем разница между Element3DPresenter и MeshGeometryModel3D?
2. Element3DPresenter просто используется для привязки объекта element3d в модели представления, например, wpf presenter.