Локальний мультиплеєр в Unity за допомогою Unet

Всім привіт! Сьогодні хотілося б розповісти про один із способів, як можна створити локальний мультиплеєр в Unity. Дане рішення підходить для шоукейсов, тесту фіч або локального мультиплеєра. Наприклад, якщо вам хочеться бачити, що робить гравець, але не хочеться скажімо на андроїд витрачати зайві ресурси і забирати скрінкасти з допомогою ADB, то можна просто підняти сервер на якийсь машинці у вигляді копії додатку, яке працює на телефоні, і слати туди інформацію про дії гравця.


Читати далі →

Як працює Drag у фізиці Unity

Усвідомлюючи що мої статті схожі на захоплення людини, вперше побачив якусь (багатьом вже давно знайому) річ, все ж вирішив написати чергову. Причина — зацікавив мене параметр drag у компонента Rigidbody. Пояснень і, тим більше, формул — він працює — керівництва не дають. Тому розбиратися доведеться самому.

Якщо комусь ліньки читати, можна перегорнути вниз, де знаходиться знайдений алгоритм того, як у Unity працює уповільнення з використанням drag.

Читати далі →

Перші кроки в оптимізації і поліровці гри на Unity3d

imageПісля того як я закінчив мій перший проект, прийшла думка про портуванні його на мобільні пристрої або хоча б запуску на вбудованому GPU. У всіх гайдах по оптимізації, в одному з перших рад вам повідомлять, що не варто переживати про продуктивності заздалегідь, починайте оптимізувати, після того як всі закінчите, і ви поступово наведе порядок. Так і я, випустивши спочатку гру на десктоп, вирішив, що ніколи не буде пізно оптимізувати її під мобільні пристрої. На жаль, мені не вдалося повною мірою досягти поставленої мети, бо, схоже, що мобільні ігри слід з самого початку розробляти з прицілом на слабке залізо. На даний момент, для подальшої оптимізації під мобільні платформи я бачу тільки необхідність серйозно переробити геймплей і дизайн ігрового світу. Однак і в поточному варіанті здобуто цінний досвід оптимізації під Unity3d і результуючий приріст продуктивності більш ніж у 300% на інтегрованому GPU.
Читати далі →

Автоматизація підтримки відповідності між назвами шарів у редакторі та код CodeDom

При роботі з Unity дуже часто доводиться звертатися до сутностей Unity (верствам колізій, сортувальним верствам, тегах, осях введення, сцен) з їх назвами. Якщо якусь із них, наприклад, перейменувати в редакторі, то потрібно не забути, відповідно, підправити назва в коді, інакше нас чекає помилка. І ця помилка не виникне при компіляції, а під час виконання, непосредественно в момент звернення по імені. Трохи автоматизації врятує від таких неприємних сюрпризів.

Читати далі →

Прокачування pointlight тіней у Unity

image

Аналогів подібних тіней для точкового джерела світла (Pointlight з ефектом розмиття на відстані, що імітує arealight) в комп'ютерних іграх я чомусь досі не зустрічав. Скрізь — або повністю запечені тіні, або «лампочки» взагалі без тіней, максимум — звичайна PCF-фільтрація. Хоча для спрямованого сонячного світла вже давно застосовуються PCSS-тіні (GTA5, наприклад). В Unreal є цікавий алгоритм схожий рейтрейсингу, який малює гарні arealight-тіні, але тільки для статичної геометрії (потрібна генерація додаткових обсягів). У Unity ж все зовсім погано — м'яко фільтрується тільки сонячне світло, а «прожектори» і «лампочки» в прольоті.
Читати далі →

Unity3D Прискорити обробку 2D анімації в рази? Легко

стаття мені хотілося б розповісти про те, як була прискорена відтворення монстрів при створенні гри Alien Massacre. Дане рішення підійде для будь-яких проектів, які испольуют спрайтовую анімацію.

В результаті розробки мобільної гри виявилося, що досить вузьким місцем стало програвання великої кількості анімованих об'єктів на сцені. У результаті сформувалися наступні вимоги:

  • 1 Необхідно забезпечити обробку великої кількості анімованих об'єктів на сцені. Адже ми хочемо, щоб гравець відстрілювався від полчищ монстрів.
  • 2 Прогрес анімації повинен бути різний для кожного з об'єктів. Адже ми не хочемо, щоб моби ходили строєм.
Рішення «з коробки»
Безумовно, перше рішення було простим: все зробити за допомогою вбудованого в UnityEngine компонента Animator. Подивимося, що з цього виходить.

Читати далі →

Unity і «Помогаторы» для редактора



У цій статті опишу декілька корисних можливостей і реалізацій, які мені допомогли в розробці. Unity вже має безліч методів, щоб не тільки «дебажити логами», але і розширювати, домалювати необхідні дані у вікні редактора. Якщо ви новачок в Unity або вам захотілося освіжити знання Треба брати!».

Читати далі →

Is Grounded в 2D платформер: як дізнатися, чи варто персонаж?

Буду коротким. Бився над цим завданням досить довгий час, тому вирішив поділитися рішенням. Движок — Unity3D.

Постановка завдання

Є персонаж, є платформи. Само собою, на персонажі коллайдер і ригидбоди, всі двадэ. На платформах теж колайдери. На платформах — ефектори, бо платформи повинні бути тверді тільки зверху. Тобто, якщо перснаж впав на платформу, він на ній стоїть. Але якщо персонаж йде повз платформи або стрибає під нею — він вільно проходить через неї.

Персонаж може стрибати, тільки якщо стоїть на платформі. Потрібно знати, чи ми стоїмо.

Умови:

1) Форма платформи довільна.
2) Персонаж може стояти на самому краю платформи.
3) Платформи можуть бути похилими.
4) Платформи можуть рухатися.

Популярне рішення і чому воно не підходить


Читати далі →

Історія про розробку Космосима на Unity

У своїй статті я постараюся описати свій досвід створення гри за два тижні, починаючи від вибору жанру та сеттінгу, закінчуючи фінальними титрами, а так само всі граблі, на які наступив в процесі розробки, і на які мені більше наступати не хочеться. Тим, хто має достатньо великий досвід в розробці ігор, стаття швидше за все буде нецікава, але початківці розробники, думаю, зможуть знайти щось цікаве для себе.


Назва — та частина гри, робота над якою була відкладена на самий останній момент. У підсумку нічого путнього придумати, на жаль, не вдалося.

Читати далі →

Скелетна 2D-анімація в Unity за допомогою плагіна Puppet2D

Мабуть, всі початківці «игроделы» в розробці ігор стикалися з анимированием своїх персонажів. Перед нами стоїть вибір спрайтову або скелетної анімації. У цій статті я розгляну основні принципи роботи з плагіном Puppet2D для скелетної анімації.

1. Установка

Отже, робота починається з покупки і установки самого плагіна з Asset Store:

image

Читати далі →