C# 什么';这个XNA 4变形目标动画有什么问题
我在Youtube上找到了XNA 3变形目标动画的演示: 以下是下载链接: 该项目在XNA 3(VS2008)中运行良好 然后我尝试升级到XNA4(VS2010) 我知道有什么不对劲,谁能从技术上告诉我哪里不对 欢迎提供任何提示、关键字 您可以在此处找到我的升级项目:C# 什么';这个XNA 4变形目标动画有什么问题,c#,animation,xna,C#,Animation,Xna,我在Youtube上找到了XNA 3变形目标动画的演示: 以下是下载链接: 该项目在XNA 3(VS2008)中运行良好 然后我尝试升级到XNA4(VS2010) 我知道有什么不对劲,谁能从技术上告诉我哪里不对 欢迎提供任何提示、关键字 您可以在此处找到我的升级项目: 这个问题似乎是动画的计算错误。变形目标的“法线”值介于0f-1f之间,具体取决于变形的强度。当计算错误时,它可能上升到更高的水平。在计算多个变形目标之间的混合时,这也可能是一个问题 一些简单变形的数学代码: 顶点显示=((
这个问题似乎是动画的计算错误。变形目标的“法线”值介于0f-1f之间,具体取决于变形的强度。当计算错误时,它可能上升到更高的水平。在计算多个变形目标之间的混合时,这也可能是一个问题 一些简单变形的数学代码: 顶点显示=((morphVertex-originalVertex)*morphValue)+originalVertex 现在,如果要在不同变形目标之间变形,例如,对于说话的角色,必须计算每个动画的
morphValue
如果此代码错误,顶点可能会出现在不应该出现的地方。设想以下示例(仅一个轴):
morphVertexResult[0]=((1f-0.2f)*0.6f)+0.2f)=0.68fmorphVertexResult[1]=((0.5f-0.2f)*0.7f)+0.2f)=0.41f
VertexResult[0]+morphVertexResult[1]=1.09f
在这种情况下,您得到的值为
1.09f
,但期望值必须介于1f
和0.2f
之间。正确的计算稍微复杂一点,上次使用变形目标时,我从3Ds Max获得变形值,它们已经被标准化了。在不太了解XNA的情况下,我可能会首先确保我的视频驱动程序是最新的。当发生这种情况时,我可能会在这里读到关于破坏更改的内容:您好,@chrislive您是对的,有很多更改,我遵循此指南。谢谢,我将检查这部分的着色器。但是对于XNA 3和4,着色器是相同的,所以着色器不太可能是错误的。等等。。。有可能。。。因为某些功能在XNA中可能不可用4@DuSijun你指的是什么功能?我认为着色器应该向下兼容。您好,请参阅项目中的MorphingEffect.fx。变形由着色器完成。