Unity3D - 按角度排序列表

Unity3D - Order list by angle to point

我正在尝试统一制作 2D 游戏。我想围绕列表中的一组 rigidbody2D 创建一个 convex hull。为此,我需要按照每个 rigidbody2D 与起始位置的角度对列表进行排序。有人知道我该怎么做吗?

您可以使用 LINQ 按计算值对列表进行排序。

        return list.OrderBy(c =>
        {
            return /*ANGLE COMPUTATION*/;
        }).ToList();

并且该角度计算可以是(归一化)向量之间的点积。 https://docs.unity3d.com/ScriptReference/Vector3.Dot.html

https://en.wikipedia.org/wiki/Dot_product

虽然有现成的凸包算法实现,例如这个:https://github.com/masphei/ConvexHull