Показать сообщение отдельно
Старый 01.12.2012, 10:32   #809
RegIon
Элита
 
Аватар для RegIon
 
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений
(для 1,012 пользователей)
Злость Ответ: Вопросы от новичка

http://blog.nobel-joergensen.com/201...mesh-in-unity/
http://gamesmaker.ru/programming/dir...trianglestrip/

Окружность - многоугольник с огромным числом рёбер(векторное представление)
А потом что-то типо такого:
public int SegmentCount=8;
public 
Vector3[] Centers={new Vector3(0,0,0)};
public 
float Distance=1f;

void Make(){

    
MeshFilter meshFilter GetComponent();
    if (
meshFilter==null){
        
Debug.LogError("MeshFilter not found!");
        return;
    }

    
Vector3[] = new Vector3[SegmentCount*Centers.Lenght];
    
int[] t=new int[SegmentCount*(Centers.Lenght-1)*3];
           for(
int j=0;j<Centers.Lenght;j++){
                for(
int i=0;i<SegmentCount;i++)
                    {
                        
v[i+SegmentCount*j]= Centers[j] + new Vector(j*Distance,Mathf.Sin((i*360f*Mathf.GradToDeg)/SegmentCount),Mathf.Cos((i*360f*Mathf.GradToDeg)/SegmentCount));
                        
//тут нужно придумать удобное заполнение массива треугольников
                    
}
           }
    
//не уверен что будет нормально работать
    
Mesh mesh meshFilter.sharedMesh;
    
mesh.Clear();

    
mesh.vertices v;
    
mesh.triangles t;

    
mesh.RecalculateNormals();
    
mesh.RecalculateBounds();
    
mesh.Optimize();

__________________
Сайт: http://iexpo.ml
(Offline)
 
Ответить с цитированием