Есть проблема, что если врезаться в ящик с вопросом сбоку (задеть), то он реагирует (то есть подрыгивает). Пока не придумал, как это решить. У меня же в условии в скрипте на Box'е стоит удар снизу, и сравнение игреков:
Код
IEnumerator sample() { // go through curve time for (float t=0; t < curve.keys[curve.length-1].time; t+=Time.deltaTime) { // do stuff...
KamiRonin, да уровни достаточно короткие, поэтому действительно оптимизация не нужна. За ссылки большое спасибо! Для генерации потом буде как раз. А сейчас нужен клон уровней.
Я нашёл удобное для себя решение. Я создаю в редакторе Tiled - "Image Layer". Делаю его полупрозрачным. Добавляю TileSet. Рисую тайлами уровни. У каждого тайла есть свой ID. Я экспортирую в CVS файл. Сохраняются все ID через запятую. Каждый элемент на своей позиции. Я замарачиваться с файлом не стал, чтобы проблем с Web Player'ом не было, поэтому сохраняют массив сразу в исходник. Выставляю "Pixels Per Unit" равным 16, чтобы координаты были (0, 0), (1, 2) и т.д., чтобы координаты совпадали индексами двух вложенных циклов.
Как сделать, чтобы камера плавно передвигалась, как в Марио? Как это называется, чтобы поискать? Может у кого есть ссылка на хороший туториал?
Добавлено (10 августа 2015, 23:46) --------------------------------------------- Ещё раз уточню более подробно, как я уровни решил делать (первый уровень сделал), чтобы не повторяться --> ссылка
Сообщение отредактировал 8Observer8 - Понедельник, 10 Августа 2015, 23:47
У меня марсоход двигается так как будто я управляю реальным марсаходом и сигнал приходит с задержкой, то есть вижу слайдшой. Такое же слайдшой вижу со всеми примерами от Blend4Web Только с примером Planetarium дела лучше. Но всё равно планеты двигаются не плавно - дёргаются. Пока что я не видел на этом движке ни одного примера, чтобы можно было сравнить по скорости и качеству с Web Player'ом. Может поделитесь ссылкой? Мне самое главное, чтобы FPS был высокий.
Сообщение отредактировал 8Observer8 - Среда, 12 Августа 2015, 07:05
Что интересно эти кромки попадают на тайл с соседнего тайла. Не пойму в чём дело.
Добавлено (12 августа 2015, 13:14) ---------------------------------------------
ЦитатаKamiRonin ()
Добавлено: Все, посмотрел исходный тайлсет - это на нем зазоры!! Там у картинки самой в рамку спрайта (ну скажем правого склона горки) влезает прозрачная кромка.. По моему - это причина глюка.. Попробуй на кочке - в фотошопе затри зазоры, посмотри как будет рисовать..
Случайно заметил добавление. Пока не понятно, что за кромка. Посмотрю в фотошопе.
Добавлено (12 августа 2015, 14:45) --------------------------------------------- Я ещё задал свой вопрос здесь на кривом английском. Пишут, что нужно добавить "padding", так как близлежащие текстуры влияют друг на друга. Появляется эффект "bleed" - смазывание. Не понимаю, почему это отключить нельзя. Я так понял padding - это зазор между тайлами. Какой программой можно добавить padding?
Добавлено (12 августа 2015, 16:42) --------------------------------------------- У меня "Pixel Per Unit" = 1. Наверное, в этом проблема.
Добавлено (12 августа 2015, 17:21) --------------------------------------------- Я нашёл решение этой проблемы. Я из общего тайлсета создаю более маленькие для каждого объекта в Tilled Map Editor, но с большим зазором в один тайл. Экспортирую в png и теперь Sprite Editor нормально разделяет:
Сообщение отредактировал 8Observer8 - Среда, 12 Августа 2015, 14:48
они предложили тайлсет разрезать и вставить по пикселю между всеми спрайтами
Я почти так и сделал, только вставляю по 16 пикселей между спрайтами. Так быстрее. Но есть другой вариант. Хотел в Paint'е сделать, но он прозрачность убирает. Тогда придётся потом фотошопом делать фон прозразный. Наверное, этот вариант лучше. Лучше пусть будет по одному пикселу. Столько времени придётся убить, чтобы добавить зазоры в тайлсет.
Добавлено (12 августа 2015, 20:22) --------------------------------------------- Я нашёл решение здесь!
Сообщение отредактировал 8Observer8 - Среда, 12 Августа 2015, 17:33
У вас в танчиках та же самая проблема, как у меня, на границе между тайлами. Как вы собираетесь её решать? Вы не могли бы решить проблему и обновить репозитарий?
Проблема:
Цитатаdreenline ()
На самом деле, тут как-то сложно разобраться, я не смог, но может поможет.
Импортируйте скрипт 2D/CameraFollow. Киньте на камеру. Player'у поставьте тег "Player". Настройте минимальную и максимальную точки для камеры в инспекторе.
Цитатаdreenline ()
Как у вас в Tiled получается выдерживать пропорции уровня?
Пропорции определяются опцией "Pixel Per Unit" на спрайтах. Я ставлю 1. Тогда и камере придётся ставить размер, например, 150.
Я так делают: - открываю Tiled Map Editor - добавляю фоновый рисунок уровня (который буду обводить тайлами) - выставляю фоновому рисунку прозрачность 50% - добавляю слой для тайловой карты - кидаю TileSet на окно TileSet выставив 16x16 пикселей на тайл - обвожу всёю карту - экспортирую id тайлов и их положения через меню File->Export CVS - теперь есть карта расположения тайлов и их ID - открываю оригинальный TileSet в Unity. Разбивает на тайлы в "Sprite Editor" - мы можем создать прифабы и вставлять их в цикле в положения которые мы получили от редактора Tiled
Сообщение отредактировал 8Observer8 - Четверг, 13 Августа 2015, 10:34
seaman, у вас танк: - не может одновременно ехать и стрелять, - он останавливается и проглатывает первую пулю - когда упирается в стену - он пружинит, а так не должно быть - если ехать прямо и повернуть, то танк на секунду останавливается - танки врагов не должны сдвигаться тараном - между тайлами появляется зазор на разрешение 1024x768
У меня проблемы нет. Как я ее решил - я сказал в видео. Сделал зазор 1 пиксель.
Я показал за сполером выше. Там проблема не в один пиксел, гораздо меньше. Щель между тайлами. Я заметил, что в вашем клоне танчиков, проблему не видно на разрешении 800x600, а на 1024x728 её видно.
Добавлено (13 августа 2015, 13:00) ---------------------------------------------
Цитатаseaman ()
Сделал зазор 1 пиксель.
Эту проблему "с засвечиванием соседнего тайла" я решил, тем, что тоже сделал зазор в один пиксел, но только с помощью этого плагина для GIMP'а
Добавлено (13 августа 2015, 13:10) --------------------------------------------- seaman, проблема в том, что у вас между тайлами есть щели в некоторых местах. Вот я и спрашиваю, как её решить? У меня сейчас точно такая же проблема.
Добавлено (13 августа 2015, 18:36) --------------------------------------------- Давайте пока проблему с щелями отложим. Искал я много в интернете, и пока ничего не нашёл.
Не нашёл я и решение следующей проблемы. Марио проваливается в предмет, то есть коллайдеры пересекаются и это здорово заметно:
Сообщение отредактировал 8Observer8 - Четверг, 13 Августа 2015, 22:00
У меня такой же вопрос. Я делаю клон Марио. Там каждый кирпичный блок должен быть отдельным спрайтом, чтобы его можно было разбить или толкнуть. Первый уровень я генерирую сразу весь. А во втором очень много кирпичных блоков. Я думаю, будет тормозить. Сильно ли коллайдеры влияют на производительность? Так получилось, что у меня на каждом блоке их по четыре. В общем, посоветуйте как быть.
Ещё такой момент. Я срисовываю карту в Tile Map Editor, но экспортирую не картой, а в текстовый файл.
ты не прав, если у танка масса больше то он вполне может столкнуть другой танк, да и на скоросте 50+ кмч хоть не много да сдвинешь танк, если масса танка в который врезаешься не на 5+ тонн больше... в общем возьми в wot поиграй и посмотри как ведут сеья танки
Не может столкнуть, так как речь идёт об игре Battle City.
Сообщение отредактировал 8Observer8 - Воскресенье, 16 Августа 2015, 21:22
Делать в захлёст! А это идея! Посмотрю по ранее озвученным инструментам, так как это дело нужно максимально автоматизировать.
Добавлено (14 августа 2015, 18:04) --------------------------------------------- Мне одному кажется, что игра немного подтормаживает или нормально? SuperMario_1.3.0 (win).7z
Добавлено (17 августа 2015, 15:49) --------------------------------------------- Я проверил притормаживает ли Марио на более мощной машине. Оказывается, нет. Это всё из-за того, что я генерирую все префабы с тайлами сразу. Я вижу один простой выход. Раз уровень хранится в двумерном массиве, то я могу разбить его на минимальные куски. Подгружать постепенно новые куски карты и уничтожать те, что пройдены.
По поводу решения с просветом между тайлами, которое предложил seaman выше. Я не нашёл готовых программ, которые бы преобразовывали тайлсеты так, чтобы тайл увеличивался на два пикселя в каждую из 4-х сторон. Возможно у меня получится написать плагин для GIMP. Сначала рассматривал вариант на скриптах C# с помощью GIMP#, но проект с 2012 года не развивается и работает только с GIMP 2.4. Остаётся вариант Python-Fu. У меня есть небольшой опыт скриптинга на Python BGE. Тем более опыт написания плагинов для GIMP может пригодится.
Сообщение отредактировал 8Observer8 - Понедельник, 17 Августа 2015, 16:06
А я смогу потом нарезать полученную текстуру с помощью "Sprite Editor"? Будет ли это сложнее, чем написать плагин для GIMP?
Пока что я понял, как работать с GIMP'ом через Python. Это довольно просто. Есть консоль, которую можно отрыть так: в меню выбрать "Filters" -> "Python-Fu" -> "Console"
В консоле есть кнопка "Browse...". При нажатии отрывается справка, где можно искать API функции, читать описания. Например, можно навести на кнопку с пипеткой и увидеть её название: "Color Picker". Ввести это название в поиске окна "Browse...". Найдётся функция: gimp-color-picker. Можно прочитать её описание и какие аргументы она принимает. Если выделить функцию и нажать кнопку "Apply", но в консоль скопируется следующее:
Цитата
color = pdb.gimp_color_picker(image, drawable, x, y, sample_merged, sample_average, average_radius)
У меня такая идея. Сначала применить этот скрипт, чтобы сделать расстояние между тайлами в 5 пикселей. А потом в своём скрипте брать пипеткой цвет на краю тайла и рисовать с помощью функции gimp.pencil рядом ещё два таких пиксела. И так для каждого крайнего пиксела.
Сообщение отредактировал 8Observer8 - Вторник, 18 Августа 2015, 13:39
Большое спасибо, что напомнил о Ocllusion Culling. Обрати внимание, что на видео, хотя и дата 2015 года, но используется старый подход, когда эта опция входила в Pro версию. Я прочитал в документации, что для включения опции нужно поставить для объектов "Occludee Static", потому что у меня объекты не перекрывают другие. Всё равно так же подтормаживает перемещение камеры, но что интересно FPS не просидает ниже 70. А ещё я попробовал убрать галочки "Occludee Static" и FPS остался на том же уровне.
Сообщение отредактировал 8Observer8 - Вторник, 18 Августа 2015, 18:19
За пример большое спасибо, но он не решает проблемы. Мне нужна физика (точнее её отсутствие), как в оригинальном Battle City, где нельзя двигать танки.