Показать сообщение отдельно
Старый 19.03.2011, 00:27   #375
Evgen
Разработчик
 
Аватар для Evgen
 
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 426
Написано 71 полезных сообщений
(для 104 пользователей)
Ответ: Фак по Юнити.

Пардон, уже что-то нашел, наверное этого хватит:
http://www.decane.net/external/gener...munity_1.1.zip

Что-то вроде этого:
using UnityEngine;
using System.Collections;

public class 
Tracks MonoBehaviour {
    
    public 
Mesh mesh;
    public 
int maxtracks=500;
    public 
Vector3[] newVertices;
    public 
Vector2[] newUV;
    public 
int[] newTriangles;
    
    
void Start() {
        
newVertices=new Vector3[maxtracks*4];
        
newUV=new Vector2[maxtracks*4];
        
newTriangles=new int[maxtracks*2*3];
        for(
int i=0;i<maxtracks*4;i+=4){
            
float x=Random.Range(30,60);
            
float y=Random.Range(30,60);
            
newVertices[i]=new Vector3(x,8,y);
            
newVertices[i+1]=new Vector3(x+1,8,y);
            
newVertices[i+2]=new Vector3(x,8,y+1);
            
newVertices[i+3]=new Vector3(x+1,8,y+1);
        }    
        for(
int i=0;i<maxtracks*4;i+=4){
            
newUV[i]=new Vector2(0,0);
            
newUV[i+1]=new Vector2(1,0);
            
newUV[i+2]=new Vector2(0,1);
            
newUV[i+3]=new Vector2(1,1);
        }    
        for(
int i=0;i<maxtracks;i++){
            
newTriangles[i*6]=i*4;
            
newTriangles[i*6+1]=i*4+2;
            
newTriangles[i*6+2]=i*4+1;
            
newTriangles[i*6+3]=i*4+3;
            
newTriangles[i*6+4]=i*4+1;
            
newTriangles[i*6+5]=i*4+2;            
        }    
        
mesh = new Mesh();
        
GetComponent<MeshFilter>().mesh mesh;
        
mesh.Clear();
        
mesh.vertices newVertices;
        
mesh.uv newUV;
        
mesh.triangles newTriangles;
    }
    
    
void Update() {

    }    


Последний раз редактировалось Evgen, 19.03.2011 в 01:42.
(Offline)
 
Ответить с цитированием