画像のような、波の表面上のみが動く描画をUnityで実装したく思い
いちからMeshを作り頂点、Triangle・・と作っておりまさた
実装としては、添付画像のような、上面部分(左右と、下は見えなくていい)だけの描画がしたくて、それなら、せっかくだし、軽い処理のものを作ろうと、頂点を節約し。。上面の動かしたい部分の頂点数を100個(Plane上面のエッジに配置と考えていただければ・・)
左下と右下に頂点を1つずつ、、計102個の頂点を作りさあ動かそうとした時
頂点の連結の順番が変だったらしく、三角形がひとつ作られるだけ。。
どうしたものかと思い試行錯誤しております
波のような表現が出来れば、別にスクリプトをかかなくてもいいのですが、一応↓にかいておきます
C#
1public class ButtonEffectSc : MonoBehaviour { 2 private Mesh _mes; 3 private float _time; 4 private Vector3[] _verts; 5 public int vertexCounts; 6 private int[] _triangle; 7 void Start () { 8 _mes=new Mesh(); 9 _verts=new Vector3[vertexCounts]; 10 _verts[0]=new Vector3(3,-8,0); 11 _verts[1]=new Vector3(10,-8,0); 12 _triangle=new int[vertexCounts]; 13 _triangle[0]=0; 14 _triangle[1]=1; 15 16 for(int i=2;i<vertexCounts;i++){ 17 _verts[i]=new Vector3(3+(7/(vertexCounts-3)*i-2),-1,0); 18 _triangle[i]=i; 19 } 20 21 _mes.vertices=_verts; 22 //_mes.triangles=new int[]{0,1,2,3,2,4,5,2,6,7,2,8,9,2,10,11,2,12}; 23 _mes.triangles=_triangle; 24 25 this.gameObject.GetComponent<MeshFilter>().mesh=_mes; 26 } 27 28 void Update () { 29 Graphics.DrawMeshNow(_mes,this.transform.position,Quaternion.identity); 30 } 31} 32
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/04 02:03