1- using System ;
1+ using System ;
22using System . Collections . Generic ;
33using System . Linq ;
44using System . Text ;
@@ -32,8 +32,10 @@ public void Initialize(string id, Tile tile, List<Vector3> verts, string halfWid
3232 _verts = verts ;
3333 for ( int i = 1 ; i < _verts . Count ; i ++ )
3434 {
35- GameObject roadPlane = GameObject . CreatePrimitive ( PrimitiveType . Plane ) ;
36- roadPlane . GetComponent < MeshCollider > ( ) . enabled = false ;
35+
36+ GameObject roadPlane = CreateMesh ( 5 ) ;
37+ roadPlane . GetComponent < Renderer > ( ) . material = Resources . Load ( "roadMaterial" ) as Material ;
38+
3739 roadPlane . transform . position = tile . transform . position + ( ( verts [ i ] + verts [ i - 1 ] ) / 2 ) ;
3840 Vector3 scale = roadPlane . transform . localScale ;
3941 scale . z = Vector3 . Distance ( verts [ i ] , verts [ i - 1 ] ) / 10 ;
@@ -42,6 +44,34 @@ public void Initialize(string id, Tile tile, List<Vector3> verts, string halfWid
4244 roadPlane . transform . parent = tile . transform ;
4345 }
4446 }
47+
48+ private GameObject CreateMesh ( float size )
49+ {
50+ Mesh m = new Mesh ( ) ;
51+
52+ m . vertices = new Vector3 [ ] {
53+ new Vector3 ( - size , 0 , size ) ,
54+ new Vector3 ( size , 0 , size ) ,
55+ new Vector3 ( size , 0 , - size ) ,
56+ new Vector3 ( - size , 0 , - size )
57+ } ;
58+
59+ m . uv = new Vector2 [ ] {
60+ new Vector2 ( 0 , 0 ) ,
61+ new Vector2 ( 0 , 1 ) ,
62+ new Vector2 ( 1 , 1 ) ,
63+ new Vector2 ( 1 , 0 )
64+ } ;
65+ m . triangles = new int [ ] { 0 , 1 , 2 , 0 , 2 , 3 } ;
66+ m . RecalculateNormals ( ) ;
67+
68+ GameObject scriptedPlane = new GameObject ( ) ;
69+ scriptedPlane . AddComponent < MeshRenderer > ( ) ;
70+ MeshFilter meshas = scriptedPlane . AddComponent < MeshFilter > ( ) ;
71+ meshas . mesh = m ;
72+
73+ return scriptedPlane ;
74+ }
4575
4676 private void Update ( )
4777 {
0 commit comments