Как я могу получить текстуры на краю стен, например, в Super Metroid и Aquaria?

Игры, такие как Super Metroid и Aquaria, представляют собой ландшафт с другими облицовочными деталями, имеющими камни и прочее, а глубже позади них (т. е. под землей) есть разные детали или просто черные.

введите описание изображения здесь>> </p>

<p> <img src = 2d rendering software-engineering

57 голосов | спросил meds 28 J000000Thursday11 2011, 16:30:47

2 ответа


133

Metroid просто использует плитки, там ничего особенного не происходит.

Aquaria, однако, делает что-то довольно умное. Если вы заметите, многие скалы на кровати повторяются несколько раз. Вот один из камней, например:

один разновидность повторяющейся скалы с каждым экземпляром, закругленным

Похоже, что они просто сбросили спрайты по краям своей местности. Это похоже на то, что сделал Metroid - массивный арсенал краевых плиток, но если вы обратите внимание, вы можете заметить повторение плиток. Acquaria делает то же самое, за исключением горных спрайтов, а не на сетке.

Как его реплицировать

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

Во-первых, сделайте себе приятную кучу рок-спрайтов, как это:

some perdy rock спрайты

Теперь нужно следить за тем, чтобы вы знали, где их разместить.

Определите вершины и ребра, которые составляют ваш ландшафт. Пройдите их, как паук, идущий по линии сети и на регулярных расстояниях сохраняйте текущую координату.Инвервальное расстояние зависит от размера ваших спрайтов! Цветьте одну сторону черного цвета, затем сбросьте спрайт на каждую записанную вами точку.

Тада!

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

И другие особенности ландшафта ...

Aquaria могла бы использовать очень похожий метод, чтобы сбрасывать все грибы, кораллы и другие объекты на морском дне (включая гигантские каменистые структуры, которые формируют задний фон). Грибы могли быть сгенерированы следующим образом:

  1. Соберите несколько точек с интервалами random , а не фиксированными интервалами.
  2. Не просто сохранить точку. Также сохраните нормальный края, на который вы выбрали точку.
  3. Выберите случайное вращение в пределах определенного диапазона вращения нормали. Например, если нормаль указывает на 30 градусов, выберите поворот в пределах 20 градусов от этого (то есть между 10-50 градусами).
  4. Нарисуйте свой гриб при выбранном вращении и при случайной длине стебля.

Все остальное, вероятно, является вариацией тех же самых инструкций: коралл не сильно вращается, эти две раковины /камни, вероятно, размещаются только в том случае, если нормаль местности направлена ​​вверх примерно вверх (т. е. плоская поверхность).

Заключительные замечания

Поскольку комментатор спросил: я создаю эти изображения в Adobe Photoshop (сокращается здесь на 50% для четких линий) с использованием планшета Wacom Intuos3 (который позволяет мне рисовать от руки и, естественно, менять ширину линии и т. д.).

ответил doppelgreener 28 J000000Thursday11 2011, 18:36:18
3

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

Надеюсь, что это поможет.

ответил Dan_Tsukasa 29 J000000Friday11 2011, 17:28:00

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132