在实现分离轴算法前,需要做一些准备工作,在Unity中实现自定义多边形的显示,以及获取多边形的顶点和边的数据。
1.实现自定义多边形显示
Unity中MeshFilter是负责处理Mesh(网格)的信息的引用,MeshRender是渲染MeshFilter中引用的网格,自定义网格需要同过这两个组件来显示。有了显示组件,下面就需要来生成我们需要的多边形mesh,mesh的生成是通过顶点生成三角形,然后三角形连接起来组成需要的Mesh。例如:在原点通过三个点生成一个三角形,
生成结果:
代码如下:
public void CreateTriangle()
{
MeshRenderer meshRenderer = gameObject.GetComponent<MeshRenderer>();
meshRenderer.sharedMaterial = new Material(Shader.Find("Standard"));
MeshFilter meshFilter = gameObject.GetComponent<MeshFilter>();
Mesh mesh = new Mesh();
Vector3[] v