我试着在运行时将材料应用到我的GeometryModel3D像这样:WPF 3D图像刷物质上的帮助
var model3D = ShardModelVisual.Content as GeometryModel3D;
var materialGroup = model3D.Material as MaterialGroup;
BitmapImage image;
ResourceLoader.TryLoadImage("pack://application:,,,/AnzSurface;component/path file/img.png", out image, ".png");
var iceBrush = new ImageBrush(image);
var grp = new TransformGroup();
grp.Children.Add(new ScaleTransform(0.25, 0.65, 0.5, 0.5));
grp.Children.Add(new TranslateTransform(0.0, 0.0));
iceBrush.Transform = grp;
var iceMat = new DiffuseMaterial(iceBrush);
materialGroup.Children.Add(iceMat);
这一切工作正常,并且被添加的材料。
我不明白的是我如何将用户点击屏幕上的地图映射到需要应用到TranslateTransform的偏移量。
I.e.目前,X:-0.25向后移动沿X轴的材质,但我不知道如何让这种类型的从用户点击鼠标的坐标...
当我这样做:
e.MouseDevice.GetPosition(ShardsViewPort3D);
,让我正常的X /鼠标点击Y的corrds ...
感谢您的帮助,您可以给!
有可能是一个更好的方法来做到这一点,但显而易见的方法是实施http://en.wikipedia.org/wiki/Ray_casting – 2009-11-16 03:07:07
嗯,不太清楚你的意思是什么关于我的问题..你能否请进一步解释这将如何帮助我的情况? – Mark 2009-11-16 03:55:55