Visual Studio中的模型透明度深度问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Visual Studio中的模型透明度深度问题相关的知识,希望对你有一定的参考价值。

嘿,我环顾四周,对于像我这样的初学者C#程序员,我找不到任何可理解的解决方案。

我在Visual Studio C#上为我的项目提供了一个模型(树),树使用了叶子的平面,并且在Blender上用透明背景的叶子图像对平面进行了纹理处理。我已经使材质透明并且纹理接受Alpha,但是当我将其导入到游戏中时,叶子是可见的,但是透明性会切穿树枝并显示除树枝以外的所有东西。

Screenshot

这是我的基本绘制方法,有人可以给我一种调用alpha混合的方法,或者我需要它来使透明度正常工作吗?我真的不想读整本有关透明度的书。.

foreach (ModelMesh mesh in model.Meshes)
        {
            foreach (BasicEffect effect in mesh.Effects)
            {
                effect.FogEnabled = true;
                effect.FogStart = 70;
                effect.FogEnd = 100;
                effect.EnableDefaultLighting();
                effect.World = camera.world;
                effect.View = view;
                effect.Projection = projection;
            }
            mesh.Draw();
答案

由于您的叶子没有任何半透明的区域,因此可以通过alpha测试解决此问题。为此,您必须使用AlphaTestEffect来渲染树(或在像素着色器中实现alpha测试)。在早期版本的XNA中,存在alpha测试渲染状态。但是这些已在版本4.0中删除]

以上是关于Visual Studio中的模型透明度深度问题的主要内容,如果未能解决你的问题,请参考以下文章

visual studio 2005中win form 中控件背景颜色透明问题

Visual Studio2005中的标签能设置成透明背景吗

Visual studio 2017???????????????????????????????????????ReferenceManagerPackage??????????????????(代

Visual Studio 中的代码度量计算

认识微软Visual Studio Tools for AI

访问 Visual Studio ImageWatch 插件的 .natvis 文件中的矢量基础数据