Конференция "Игры" » *.MAP
 
  • @!!ex © (24.12.06 12:27) [0]
    Есть такой формат карт MAP.
    Второй день пытаюсь понять, в каком виде в нижеследующем тексте представлены вершины:

    ( 0 0 0 ) ( 3520 0 0 ) ( 3520 -2048 0 ) C1A1C_W2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 8.72727 6.4
    ( 0 -2048 -64 ) ( 3520 -2048 -64 ) ( 3520 0 -64 ) C1A1C_W2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
    ( 0 0 0 ) ( 0 -2048 0 ) ( 0 -2048 -64 ) C1A1C_W2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
    ( 3520 0 -64 ) ( 3520 -2048 -64 ) ( 3520 -2048 0 ) C1A1C_W2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
    ( 3520 0 0 ) ( 0 0 0 ) ( 0 0 -64 ) C1A1C_W2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
    ( 3520 -2048 -64 ) ( 0 -2048 -64 ) ( 0 -2048 0 ) C1A1C_W2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1

    Знаю, что тут задается бокс. Каждая строка - одна сторона бокса.
    В круглых скобках - вершины, Называние текстуры и в квадратных - UV.
    НО! Каждая сторона состоит из 4!!! вершин, а в строке их только 3!!!
    Бьюсь, бьюсь, результата - 0.

    Помогите кто может...
  • antonn © (24.12.06 18:50) [1]
    наверное щас глупость скажу...
    бокс:
    |
    |
    |________


    начертить противоположный угол сможешь? :)
  • @!!ex © (25.12.06 00:17) [2]

    > antonn ©   (24.12.06 18:50) [1]

    К сожалению не катит.
    Видимо я не совсем правильно выразился....
    Бокс не обязательно правильной формы.
    И самая ж... в том, что вершины могут не обязательно в одном и том же порядке идут.... Да это и не нужно, все вершины есть. Только я не знаю их положения...
    Может быть:
    1 2 3
    8 7 6
    1 4 8
    6 7 3
    2 1 5
    7 8 4

    А может:
    4 1 2
    5 8 7
    ......
  • Vga © (25.12.06 22:05) [3]
    > [2] @!!ex ©   (25.12.06 00:17)

    Для задания плоскости достаточно 3 точек. Не здесь ли собака порылась?
  • @!!ex © (26.12.06 13:59) [4]
    Для задания плоскости - достаточно...
    Но мне то не плоскость нужна, а полигон.
    Бьюсь-бьюсь, весь результат пока свелся к тому, что я понял, что поверхности связаны друг с другом... А закона не вижу... х.з...
  • Asteroid © (27.12.06 03:26) [5]
    Для неправильного бокса нужны 8 точек, и тут они все описаны. Возможно, в качестве 4й точки для каждой стороны берется та, которая ближе всего к плоскости этой стороны.
  • @!!ex © (27.12.06 19:25) [6]

    > Asteroid ©   (27.12.06 03:26) [5]

    К сожалению - нет... %((
  • Куб (27.12.06 19:54) [7]
    Может можете по больше кусок выложить в строк 30?
  • @!!ex © (28.12.06 18:55) [8]
    А зачем 30 строк?
    Смысл то везде один и тот же.
    Вот картинка, если нарисовать треугольники строго по заданным блокам
    http://afera-net.narod.ru/box1.GIF

    Тоже самое только с Z фильтрацией
    http://afera-net.narod.ru/box2.GIF
  • Darthman © (29.12.06 14:35) [9]
    Может я скажу глупость, но вершин в кубе шесть, здесь шесть строчек. Соотвественно в каждой задаются вершины?
  • grouzd)ev © (29.12.06 15:43) [10]
    как коллекционер кубиков заявляю что вершин все же 8. 6 граней =)

    ---
    ... we are walking on a thin line and you better avoid the risk ...
  • @!!ex © (29.12.06 17:19) [11]

    > И самая ж... в том, что вершины могут не обязательно в одном
    > и том же порядке идут.... Да это и не нужно, все вершины
    > есть. Только я не знаю их положения...
    > Может быть:
    > 1 2 3
    > 8 7 6
    > 1 4 8
    > 6 7 3
    > 2 1 5
    > 7 8 4
    >
    > А может:
    > 4 1 2
    > 5 8 7
    > ......
  • Asteroid © (31.12.06 05:47) [12]
    > @!!ex ©   (27.12.06 19:25) [6]
    Попробую сказать по-другому :)
    Нужно два условия:
    1) каждая строчка в любом случае описывает три вершины одной грани
    2) в каждом блоке перечислены все вершины.
    Если все это выполняется, то для воссоздания блока надо:
    для каждой грани:
    - найти плоскость грани, исходя из известных трех вершин
    - из оставшихся 5 вершин выбрать ту, которая ближе всего к этой плоскости (при нормальных условиях расстояние от нее до плоскости будет около нуля)
    - потроить второй (недостающий) треугольник для грани (детали опущены :) )

    Пример (исходя из твоих текстов и рисунков):
    А) даны вершины 1,2,3. Мы находим плоскость, на которой они лежат, и выясняем, что вершина 4 ближе всего к этой плоскости. Так что для этой грани нам нужны треугольники (1,2,3) и (1,3,4).
    Б) даны вершины 4,1,2. Мы находим плоскость, на которой они лежат, и выясняем, что вершина 3 ближе всего к этой плоскости. Так что для этой грани нам нужны треугольники (4,!,2) и (4,2,3).

    Как-то так :)
  • @!!ex © (31.12.06 12:39) [13]

    > Asteroid ©   (31.12.06 05:47) [12]

    Не надо разжевывать, мне экзамен по линейной алгебре сдавать, я все это прекрасно понимаю.
    Но к сожаленю этот вариант не является тем, который подразумеваеться использовать в данном случае.
    Хотя именно его походу и придеться использовать.

    Всем спасибо.
  • Asteroid © (31.12.06 21:49) [14]
    Задеть не хотел :)
    Однако
    > этот вариант не является тем, который подразумеваеться использовать в данном случае
    меня удивило :)
  • @!!ex © (02.01.07 09:23) [15]

    > Asteroid ©   (31.12.06 21:49) [14]

    Ок. Я объясню.
    Этот формат подразумевает не только боксы. Это раз.
    Грань бокса не обязательно плоскость. Это два.
  • (05.06.07 16:38) [16]

    > @!!ex ©   (24.12.06 12:27)  

    А как с этим форматом можно работать средствами Delphi?
    Может есть какие компоненты.?Или примеры.
  • (05.06.07 16:39) [17]

    > @!!ex ©   (24.12.06 12:27)  

    А как с этим форматом можно работать средствами Delphi?
    Может есть какие компоненты.?Или примеры.
  • Rial © (05.06.07 17:17) [18]
    > [17] 3е   (05.06.07 16:39)
    > А как с этим форматом можно работать средствами Delphi?
    > Может есть какие компоненты.?Или примеры.

    Компонент "Мой компьютер", вкладка "Рабочее место".
  • @!!ex_ (05.06.07 18:29) [19]
    у меня для работы с этим форматом классик строк в 500.
    юзаю ОГЛ.
    строю по трем точкам плоскость и все.
    в следующем проекте отказываемся от его использования.
 
Конференция "Игры" » *.MAP
Есть новые Нет новых   [134430   +4][b:0][p:0.001]