您的位置:首页 > 移动开发 > Unity3D

通过unity画弧线

2015-11-03 12:02 666 查看
using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour {

public int a;//a>0,开口向上;a<0,开口向下。

public int b;//b=0,抛物线对称轴为y轴

public int c;//c=0,抛物线经过原点

public int size;

void Update () {

if (Time.frameCount%6 == 0)
{

gameObject.AddComponent<MeshFilter>();
gameObject.AddComponent<MeshRenderer>();
Mesh mesh  = GetComponent<MeshFilter>().mesh;

mesh.Clear();

Vector3[] v=new Vector3[size];

Vector2[] v2=new Vector2[size];

int[] index=new int[(size-2)*3];
for (int i = 0; i < size; i++)
{
if(i==0)
{
v[i]=new Vector3(0,-1,0);
}
else
{
float x=(i-size/2f)*0.1f;

v[i].x=x;

v[i].y=a*x*x+b*x+c;

v[i].z=0;
}

if(i>1){

index[3*i-6]=0;

index[3*i-5]=i-1;

index[3*i-4]=i;

}

print("v["+i+"]="+v[i]);
}

mesh.vertices = v;

mesh.uv = v2;

mesh.triangles = index;

for (int j = 0; j < index.Length; j++)
{
print(j + "==" + index[j]);
}
}

}
}
<pre name="code" class="csharp">通过unity画弧线



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: