Pull to refresh

Comments 45

Планируете рассказать о применении NavMesh?
Зачем дублировать пушки вместо обычной смены материала?
Да, поиск пути в планах.
Пушки задублировал для простоты объяснения новичкам. В следующих частях я буду проводить оптимизацию с пояснениями.
По оптимизации, лучше создавать компонент Enimy и искать врагов по наличию этого компонента. По скорости получается чуть медленнее, но не нужно возиться с тегами… добавил компонент, настроил поведение и сделал префаб.

Насчет создания префабов, то проще сначала сделать 1 игровой объект и перетащить его с дерева сцены на Assets (так проще для понимания геймдизайнерам).
Да там много где странностей:
1. При знании того, что в сцене может быть много объектов — никогда не использовать поиск по имени / тегу, ибо оно идет по всему дереву, проверяя все объекты. См п.3.
2. Никогда не использовать VectorX.Distance(), тем более в Update. Всегда стараться использовать (Vector1 — Vector0).sqrDistance и сравнивать с квадратом расстояния (предрассчитанным или просто умноженным на себя). Понять, почему так, поможет изучение формулы рассчета расстояния между точками.
3. Проверять все объекты по списку при большом количестве может быть нерационально. Т.к. на всех объектах висит коллайдер, то рациональнее всегда получать список объектов через Physics.OverlapSphere() — физика в unity3d работает быстро + использует внутренние оптимизации по разбиению и раннему отсечению пространства + можно явно указывать слои для поиска. Потом просто найти минимум дистанции в полученном массиве и получить цель.
4. Много дублирующегося кода.
Если хочется глобального хранилища переменных, стоит подумать над статическим классом, либо реализацией синглтона (что предпочтительнее, т.к. позволит визуально настраивать паблик-параметры — unity3d не показывает в инспекторе статик-свойства).
Надо подумать над унификацией скрипта выбора цели и атаки — пушка является таким же мобом, только неподвижным. Разницу в выборе целей можно реализовать слоями.
Я полностью с Вами согласен, именно так и планировал модифицировать код в дальнейшем. Только про пункт 2 впервые слышу, почитаю обязательно на эту тему.
В формуле есть sqrt — он гораздо медленнее, чем просто умножение.
Отлично, спасибо.
А на JS сильно код будет отличаться?
Сам на JS не писал, но регулярно на него смотрю в Scripting Reference. Там справа вверху от примеров кода есть переключатель языка, посмотрите на разницу сами ;)
Вместе с Unity3D идёт MonoDevelop, а я использую MSVS 2010.
Выглядит здорово!
Только так и не понял, зачем мобу добавлять компонент Rigidbody? Потом планируется прикручивать физику?
Присмотрелся и увидел :) При спауне мобов они появляются чуть выше поверхности, и потом падают
Это плохая мысль — могут начать происходить всякие забавные штуки при ошибках расчета столкновений типа мгновенного увеличения скорости до такой степени, что боты будут выстреливаться прочь с игровой области. Лучше воспользоваться CharacterCollider — у него есть готовые методы по перемещению.
Хм, никогда не видел таких ошибок от перемещения через AddForce: тестировал сцену с 16000 «шариками», они бились друг о друга, но не улетали за пределы моей сцены.
Зависит от формы коллайдера — есть есть острые-прямые углы — начинаются «запинания» и дрожания. У «шарика» по умолчанию SphereCollider, его нормально «выталкивает» и он скользит по поверхности других тел.
Спасибо, отличная статья! С нетерпением жду всей серии!
>Закрываем окно выбора текстур, возвращаемся к окну выбора текстур

Лолчто? (:
Узнал новое слово: дамаг.

Уж извините, но либо damage, либо повреждения.

«она подала на него в суд за сексуальный дамаг»?
Нормальное в среде ММО-шников заимствование. Его можно часто услышать в игровых тусовках, на форумах и в конференциях.
Узнал новое слово: дамаг.

Подбери шип подходящий, определись с типом танка — пассив/актив, скилы учи на капу, шилд/армор резы, реген и объём шилда/работу с репками и вперёд. Танкуй хоть до посинения. Я вон написал про две T2 репы и харднера в домике. 5 капречей T2, CCC, и капа не кончается вообще. Аукс нано памп даёт прибавку в 10 % к репкам. На миске агришь группу, выпускаешь T2 огров и сидишь форумы читаешь. …незнаю сидел както на станции фитил ББху, а тут за воротами тарань с клавой на дрык напали, пока я ББхой подварпал к гейту и пропрыгнул от тарани остался врек, а клава летала в 300 км и ругалась в локале. так что хз чего вы там танкуете. …о/, харош кемпить на гейте, точку в алли я заинвайчу в ганг и варп на гейт ЕЦ, проваливаемся и на меня в ноль, я на мальке, держу апок, меня дроны пилят. Варп в ноль (на инсту), дреды сразу в сидж, лочат палку, кары лочат дредов и друг друга, дикторы бублят все что движется, фальконы и прочие реконы висят в клоке до спецприказа. Интера, осторожней с файтерами, чтоб смартами не посносило, на белтах потом отрабатывать придется. Хаки и прочие кто помельче выдавливаем саппорт противника. Коврик — скинь пробки.
О, а я 2-3 месяца как бросил играть в неё :)
Если уж начинаете играть в граммар наци, то хоть сами ошибки не ляпайте. Что за «сексуальные повреждения» такие?
Sexual assault, либо harassment.
Нет, это я использовал как «дамаг-ательства».
В таком случае пардон. У меня не очень хорошо с играми в слова в середине рабочей недели.
UFO just landed and posted this here
Для меня самым сложным в этом всём кажется это баланс, редко встретишь нормально сбалансированную Tower Defence
Дошли руки, попробовать повторить все описанное
Застрял на «Создайте объект MobSpawner, его местоположение не играет роли» — какой объект? GameObject, а дальше? Сфера, куб или плейн?
GameObject -> Create empty (Ctrl+Shift+N)

Самый первый пункт в выпадающем меню, если верно помню :)
Спасибо, выполнил урок, жду прододжения )
А будет продолжение? Хотелось бы почитать.
Ссылка на пушку похерилась. Есть где в другом месте скачать и желательно в zip?
Спасибо интересная статья, но при попытке повторить, не смог сделать пушку призрак.
Эта ссылка битая, в статье есть исправленная.
Есть уже черновик с продолжением, но всё не могу выделить время сесть и дописать — многое в жизни меняется.
Когда же долгожданное продолжение?
Спасибо за статью!
Переправьте, пожалуйста, ссылки, они ссылаются в пустоту…
Sign up to leave a comment.

Articles