yz Vector3至Vector2

Leg*_*ego 1 c# vector unity-game-engine

简单的问题,网上找不到答案。

是否有一种简单的方法可以将Vector3的Y,Z转换为Vector2,而无需创建“ new Vector2()”

就像是

Vector3 v = Vector3.one;
Vector2 plan = v.yz;
Run Code Online (Sandbox Code Playgroud)

(在Unity3d中使用C#进行的所有操作)Thx

Kay*_*Kay 5

C#有一个很酷的功能,称为扩展方法。例如,设置一个类VectorExtensions并将此代码放入其中:

public static Vector2 YZ (this Vector3 v) {
    return new Vector2 (v.y, v.z);
}
Run Code Online (Sandbox Code Playgroud)

现在,您可以在项目的任何地方打电话:

Vector2 v2 = v3.YZ ();
Run Code Online (Sandbox Code Playgroud)