1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Карта высот

Тема в разделе "MAXScript", создана пользователем Сэмc, 22 мар 2015.

Модераторы: Savin Denis
  1. Сэмc

    Сэмc Пользователь сайта

    С нами с:
    10.03.2015
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    2
    Имеется двумерный массив 513 на 513, в них записаны высоты

    Код:
    for i=1 to 512 do
        (
            for j=1 to 512 do
            (
                append vert_array [i,j,heights[i][j]]
                append vert_array [i+1,j,heights[i+1][j]]
                append vert_array [i,j+1,heights[i][j+1]]
                append vert_array [i+1,j+1,heights[i+1][j+1]]
             
                append face_array [((vert_array.count+1)-3),((vert_array.count+1)-1),((vert_array.count+1)-2)]
                append face_array [((vert_array.count+1)-2),((vert_array.count+1)-4),((vert_array.count+1)-3)]
            )
        )
        m = mesh vertices:vert_array faces:face_array
    Выходит вот так
    [​IMG]
    Тоесть всё заквадрачено, при попытке сгладить TurboSmooth выходит вот так [​IMG] [​IMG] [​IMG]
    Вопрос, что я не так делаю?
     
    Последнее редактирование: 22 мар 2015
  2. Сэмc

    Сэмc Пользователь сайта

    С нами с:
    10.03.2015
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    2
    Мда, глупо получилось... добавлял лишние vert

    Код:
        for i=1 to 513 do
        (
            for j=1 to 513 do
                (
                    append vert_array [i,j,heights[i][j]]
                )           
        )
        for i=1 to 512 do
        (
            for j=1 to 512 do
            (
                append face_array [i*513+j,i*513+j+1,(i-1)*513+j+1]
                append face_array [(i-1)*513+j+1,(i-1)*513+j ,i*513+j]
               
            )
        )
        m = mesh vertices:vert_array faces:face_array
     
Модераторы: Savin Denis

Поделиться этой страницей