Search Unity

Генерация 2D карты

Discussion in '2D' started by xxxdiabloxxx, Jul 12, 2017.

  1. xxxdiabloxxx

    xxxdiabloxxx

    Joined:
    Jul 12, 2017
    Posts:
    1
    Здравствуйте, интересует вопрос - как сгенерировать 2D карту? Совсем ничего не получается =(

    Посмотрел уже много видео-роликов и гайдов по генерации карты, но толком так ничего и не понял нормально. Сейчас изучаю очередной раз вот эти видео-материалы...Но даются очень тяжело.. Видимо еще из-за того, что у них нет русифицированного аналога.

    https://unity3d.com/ru/learn/tutorials/topics/scripting/basic-2d-dungeon-generation
    https://unity3d.com/ru/learn/tutori...tutorial/writing-board-manager?playlist=17150
    https://unity3d.com/ru/learn/tutori...al-cave-generation-tutorial/cellular-automata

    Интересуют непосредственно скрипты исходя из того, что у меня есть сейчас на руках.
    А есть следующее:

    - Есть спрайт-лист (нарезанный) с квадратами будущей карты (к примеру квадраты земли, квадраты воды и квадраты гор)

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

    P.S. Извиняюсь, что пишу на русском вопрос, но просто у меня проблемы с Английским языком. Надеюсь суть моего вопроса сможете понять и ответить на него =)
     
    Last edited: Jul 12, 2017
  2. vakabaka

    vakabaka

    Joined:
    Jul 21, 2014
    Posts:
    1,153
    попробуй на каком нибудь русском форуме спросить:
    может на этом http://unity3d.ru/distribution/index.php

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

    Эффект зеркала такой же принцип. Делаешь часть карты потом просто опять в цикле считываешь полученный массив и в обратном порядке копируешь его.

    И вопрос слишком обширный. Более кокретные вопросы быстрее найдут свой ответ :rolleyes:
     
    taofgess likes this.
  3. qqqbbb

    qqqbbb

    Joined:
    Jan 13, 2016
    Posts:
    113