XNA Vector3 转换为 Vector3D

Posted

技术标签:

【中文标题】XNA Vector3 转换为 Vector3D【英文标题】:XNA Vector3 into Vector3D 【发布时间】:2011-05-23 23:55:28 【问题描述】:

我正在使用 IrrKlang 声音库在游戏中创建 3D 声音。问题是侦听器集正在寻找 Vector3D 位置,但我拥有的变量在 Vector3 中。我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

只需将 Vector3 转换为 Vector3D,因为 Vector3D 只是一个带有 X、Y、Z 成员变量的结构,用于表示 x、y、z 分量,这样的函数应该可以正常工作:

public static Vector3D ToVector3D(Vector3 input)

   return new Vector3D( (float)input.X, (float)input.Y, (float)input.Z );

也许您可以将它实现为 Vector3 的扩展(即 Vector3.ToVector3D()),但无论如何将 Vector3 转换为 Vector3D 非常简单,上面的代码应该会有所帮助:)

【讨论】:

谢谢,这就是我最终要做的。 :D

以上是关于XNA Vector3 转换为 Vector3D的主要内容,如果未能解决你的问题,请参考以下文章

与 API 无关的 Vector3、Matrix 等?

在XNA / Monogame中使用Ray的视线

C# 无法从 'float' 转换为 'Microsoft.Xna.Framework.Point'

如何将Ttf或其他字体转换为.Xnb / XNA Game Studio字体?

无法将类型“unityengine.vector3”隐式转换为“float”

C#XNA鼠标的位置投射到3D平面