视口 3D WPF C#

发布于 2024-08-12 23:22:53 字数 87 浏览 12 评论 0原文

您能演示一下如何设置和保存 viewport3D 的背景颜色吗?每当我保存没有背景仅可见的模型时,我尝试了网格,但这会获取网格中的所有内容吗?有什么帮助可以吗?

Can you please show how to set and save the background color of the viewport3D. Whenever I save no background is visible only model, I tried the grid but that gets everything in the grid? Any help will do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

大海や 2024-08-19 23:22:53

Viewport3D 没有背景属性,因此您需要在其后面添加一些内容。

您使用网格的方法是正确的,您可能想使用边框来强制执行
使用单个孩子。

 <Border Background="Green">
  <Viewport3D Width="640.0" Height="480.0" >
    <ModelVisual3D/>
  </Viewport3D>
</Border>

我假设您正在使用 XamlWriter、 XamlReader 。只需保存边框而不是 Viewport3D,边框内的所有内容也会被保存。

Viewport3D doesn't have a Background property so you need something behind it.

your approach using a Grid is right, you might want to use a Border to enforce the
use of a single child.

 <Border Background="Green">
  <Viewport3D Width="640.0" Height="480.0" >
    <ModelVisual3D/>
  </Viewport3D>
</Border>

I assume you are using XamlWriter, XamlReader . Just save the border instead of the Viewport3D and everything inside the border will be saved as well.

怀念你的温柔 2024-08-19 23:22:53

我为此提供了一些代码,请验证。

<Viewport3D>
            <Viewport3D.Camera>
                <PerspectiveCamera Position="2,0,10" LookDirection="0.2,0.4,-1" FieldOfView="65" UpDirection="0,1,0">
                </PerspectiveCamera>
            </Viewport3D.Camera>
            <ModelVisual3D>
                <ModelVisual3D.Content>
                    <Model3DGroup>
                        <AmbientLight Color="#fff"/>
                        <GeometryModel3D>
                            <GeometryModel3D.Geometry>
                                <MeshGeometry3D Positions="0,0,0 0,10,0 10,0,0 10,10,0"
                                                Normals="0,0,1 0,0,1 0,0,1 0,0,1"
                                                TriangleIndices="0,2,1,1,2,3"/>
                            </GeometryModel3D.Geometry>
                            <GeometryModel3D.Material>
                                <DiffuseMaterial Brush="Red"/>
                            </GeometryModel3D.Material>
                        </GeometryModel3D>
                    </Model3DGroup>
                </ModelVisual3D.Content>
            </ModelVisual3D>
        </Viewport3D>

I have provided some code for this, please verify it.

<Viewport3D>
            <Viewport3D.Camera>
                <PerspectiveCamera Position="2,0,10" LookDirection="0.2,0.4,-1" FieldOfView="65" UpDirection="0,1,0">
                </PerspectiveCamera>
            </Viewport3D.Camera>
            <ModelVisual3D>
                <ModelVisual3D.Content>
                    <Model3DGroup>
                        <AmbientLight Color="#fff"/>
                        <GeometryModel3D>
                            <GeometryModel3D.Geometry>
                                <MeshGeometry3D Positions="0,0,0 0,10,0 10,0,0 10,10,0"
                                                Normals="0,0,1 0,0,1 0,0,1 0,0,1"
                                                TriangleIndices="0,2,1,1,2,3"/>
                            </GeometryModel3D.Geometry>
                            <GeometryModel3D.Material>
                                <DiffuseMaterial Brush="Red"/>
                            </GeometryModel3D.Material>
                        </GeometryModel3D>
                    </Model3DGroup>
                </ModelVisual3D.Content>
            </ModelVisual3D>
        </Viewport3D>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文