链接到表示3D模型的自包含XAML中的外部纹理文件

Ita*_*aim 5 3d wpf resources xaml textures

我有一个XAML文件表示带有纹理的3D模型.

我想让纹理从文件所在的相同位置或相对于它读取.

我使用XamlReader读取文件,所以我希望文件是自包含的.

我使用ImageBrush放置纹理,ImageSource是一个包synatx URI.

当我使用'siteoforigin'语法时,这仅在纹理文件位于应用程序旁边时才有效.无论它在哪里,我都希望它能够在Xaml旁边.

我尝试将当前目录设置为Xaml目录,但它没有帮助.

不使用包语法不起作用 - 它只是按该名称查找资源.

我如何编写Xaml图像源(或者是否有其他方法为漫反射材质画笔放置纹理?)所以它可以工作吗?

板井.

小智 1

我简单地解决了这个问题,方法是将 XAML 预加载到内存流中,将 siteoforigin:,,, 语句替换为 xaml 所在的路径,然后使用 XamlReader.Load 从更新的内存流中加载模型

顺便说一句,我的模型是使用您自己的 xaml 导出器插件导出的 sketchup 导出,尽管我将其修改为导出法线并将模型旋转到 WPF 坐标系等。