首页 > 解决方案 > 如何将 xz 值作为向量 3 维向量

问题描述

我有以下结构声明,我在我的代码中使用它。但是当我只需要渲染 x 和 z 坐标时,我需要以某种方式只从 Point1.XZ 之类的值中获取 xz 坐标:

union v3
{
    struct
    {
        float x, y, z;
    };
    struct
    {
        v2 xy;
        float Ignored0_;
    };
    struct
    {
        float x;          //
        float Ignored0_;  // I Have problems with this
        float z;          //
    };
    struct
    {
        float Ignored1_;
        v2 yz;
    };
    float E[3];
};

是否可以仅将 XZ 坐标作为 Vector2?

标签: cstructunions

解决方案


正如一些程序员花花公子所说,为此我只需要创建一个函数或宏。我刚刚使用了宏:

#define XZ(Vector) (V2(Vector.x, Vector.z))

推荐阅读