WPF 3D - لماذا بلادي ImageBrush لا تجعل؟
-
22-08-2019 - |
سؤال
ولدي طائرة 3D التي أحاول أن تجعل مع ImageBrush كما انها DiffuseMaterial.Brush. اذا كنت تستخدم SolidColorBrush ثم الطائرة يظهر ما يرام ولكن يمكنني الحصول على أي شيء على الإطلاق إما مع ImageBrush أو VisualBrush.
ويمكن لأحد أن يقول لي لماذا؟ وهنا رمز.
<ModelVisual3D>
<ModelVisual3D.Transform>
<RotateTransform3D CenterX="0" CenterY="0" CenterZ="0">
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="0 1 0" Angle="90"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
</ModelVisual3D.Transform>
<ModelVisual3D.Content>
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D x:Name="frontmesh" TriangleIndices="
0 1 2
2 3 0">
<MeshGeometry3D.Positions>
<MultiBinding Converter="{StaticResource front}">
<Binding ElementName="UC" Path="CubeHeight" />
<Binding ElementName="UC" Path="CubeWidth" />
<Binding ElementName="UC" Path="CubeDepth" />
</MultiBinding>
</MeshGeometry3D.Positions>
</MeshGeometry3D>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial>
<DiffuseMaterial.Brush>
<ImageBrush ImageSource="CF.jpg"
AlignmentX="Center" AlignmentY="Center"
Stretch="Fill"/>
</DiffuseMaterial.Brush>
</DiffuseMaterial>
</GeometryModel3D.Material>
</GeometryModel3D>
</ModelVisual3D.Content>
</ModelVisual3D>
المحلول
وحصلت عليه،
وأنا في حاجة إلى توفير خرائط إحداثيات الفرشاة لتقديم. وMeshhGeometry3D تبدو الآن مثل هذا -
<MeshGeometry3D x:Name="frontmesh" TriangleIndices="
0 1 2
2 3 0"
TextureCoordinates="0 1,1 1,1 0 ,0 0">
<MeshGeometry3D.Positions>
<MultiBinding Converter="{StaticResource front}">
<Binding ElementName="UC" Path="CubeHeight" />
<Binding ElementName="UC" Path="CubeWidth" />
<Binding ElementName="UC" Path="CubeDepth" />
</MultiBinding>
</MeshGeometry3D.Positions>
</MeshGeometry3D>
لا تنتمي إلى StackOverflow