Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
2 / 1 / 1
Регистрация: 27.10.2015
Сообщений: 35

Unity Tilemap стандартные средства задания тайлов с эффектами

28.02.2019, 05:34. Показов 6099. Ответов 7

Студворк — интернет-сервис помощи студентам
Меня интересует вопрос есть ли у юни стандартные средства для этого?
Например:
персонаж на траве - нет эффекта
персонаж на песке - скорость - 1
персонаж в кустах - маскировка +3
персонаж на лаве - урон 10/х
персонаж за укрытием - -50% урона
Собственно опросить через Tilemap.GetTile не проблема, но может есть более удобный способ?
Хотя конечно же в идеале я хотел бы получать с каждой клетки некоторое число.
Допустим каждая клетка имеет числовой параметр, а у меня персонаж вроде ладьи.
И допустим что бы ходить, ему нужно проверить что бы не было стен на пути,
для этого вытаскиваем все параметры на пути и делаем побитовое ИЛИ допустим над 1 битом,
Если хотя бы 1 первый бит = 1 => там стена и ходить нельзя, однако для летающих простая стена
не помеха, и им допустим для запрета нужно первых 2 бита.
Параметр полностью будет состоять из таких битов которые являются параметрами для определения
свойств данного тайла.
Таким образом несмотря на то что юнити не очень оптимизейшн, можно неплохо сократить на опросах,
однако имеет ли юнити способ запихать в грид массив?
(Или хотя бы какой нибудь способ?, для тестовой сцены оптимизация не так уж и важна...)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.02.2019, 05:34
Ответы с готовыми решениями:

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

Стандартные средства диагностики производительности
Здравствуйте! Задали написать реферат на тему: Стандартные средства диагностики производительности операционной системы windows xp (vista,...

Стандартные средства в лучшей CMS Joomla
Здравствуйте. Есть вопрос- нужна на главной странице сайта выводить новости. То есть превью. Что бы выводилось половина текста статьи и...

7
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
28.02.2019, 10:53
Лучший ответ Сообщение было отмечено Shin0_kaze как решение

Решение

Shin0_kaze, кнопки "сделать хорошо" в юнити нет. Мыслей читать она тоже не умеет. Тайлмап - это всего лишь удобное средство размещения объектов (не только спрайтов, я из 3д моделек дороги строил).
1. Надо создать структуру данных для хранения уровня
2. Надо сохранять/загружать его
3. Надо генерировать уровень из данных
4. Надо поиск пути поверх данных уровня
Вот тебе базовая декомпозиция относительно уровня.
1
2 / 1 / 1
Регистрация: 27.10.2015
Сообщений: 35
28.02.2019, 11:39  [ТС]
А я и не говорил про волшебный метод, спрашивал возможность храния чисел в гриде например.
Понял что нельзя, значит возьму размеры такие что бы 1 тайл был равен 1, и буду работать с координатами, тайлы чисто для бэка.
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
28.02.2019, 11:55
Shin0_kaze, тайлмар лежит внутри грида, который по сетке расставляет спрайты. В гриде ячейки лежат в Vector3Int координатах - это вектор 3 с целочисленными значениями. Грид умеет переводить мировые координаты в ячейки и ячейку в мировые координаты.
0
 Аватар для Prog_maker
459 / 403 / 153
Регистрация: 23.01.2011
Сообщений: 1,054
28.02.2019, 12:42
Не обязательно тянуть все с тайлов. Тайлы это не только спрайты. Рисовать на тайлмапе можно и GameObject`ами.
Ну как вариант можно сделать префаб тайла с коллайдером-триггером.
как пример оттригер трава
нет эффекта
онтригер песок - скорость упала
и т.д.
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
28.02.2019, 12:44
Prog_maker, не очень удобный вариант. Лучше уж просто рисовать, а в рантайме накидывать по словарю пустышки с настройками на тайлы.
0
 Аватар для Prog_maker
459 / 403 / 153
Регистрация: 23.01.2011
Сообщений: 1,054
28.02.2019, 14:04
Cr0c, я имел ввиду 2d extras. Там кисть для гемобжектов есть. В принципе удобно.
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
28.02.2019, 15:28
Prog_maker, неудобно ей, превью нет.

Добавлено через 14 минут
А вот сам по себе грид - удобная штука. На него так удобно ложится "настройка по сетке" чего угодно (хотя именно для этого он и сделан). Я поверх него а* сделал для динамического построения дорог с объединением их. Правда, если хочется совсем удобного, то надо писать свой двухмерный "массив" для грида, чтобы индексы были отрицательные и размер динамический.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Collections.Generic;
 
public class ArrayDyn<T> {
    private readonly Dictionary<int, Dictionary<int, T>> array;
    private readonly T                                   defaultValue;
 
    public T this[int x, int y] {
        get {
            if (!array.ContainsKey(y)) return defaultValue;
            return !array[y].ContainsKey(x) ? defaultValue : array[y][x];
        }
        set {
            if (!array.ContainsKey(y)) array.Add(y, new Dictionary<int, T>());
            array[y][x] = value;
        }
    }
 
    public ArrayDyn(T _defaultValue = default(T)) {
        defaultValue = _defaultValue;
        array        = new Dictionary<int, Dictionary<int, T>>();
    }
 
    public void Clear() {
        foreach (var a in array) {
            a.Value.Clear();
        }
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.02.2019, 15:28
Помогаю со студенческими работами здесь

Стандартные средства генерации отчетов JavaFX
Здравствуйте, подскажите, имеются ли в Java/JavaFX стандартные средства генерации отчетов?

Стандартные средства для генерации комбинаций
Возник вопрос нет ли каких то стандартных средств для следующего: def forever(c): while True: for i in range(len(c)): ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru