Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Начните с маленькой подводной лодки: устанавливайте бомбы, избавляйтесь от врагов и старайтесь не попадаться на глаза своим плавучим врагам. Вас ждет еще несколько игровых вселенных, много уникальных сюжетов и интересных загадок.

Пикабомбер

Аркады, Пиксельная, 2D

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Unity + Обучение

С этим тегом используют

Gamedev Разработка Инди Инди игра Игры YouTube Компьютерные игры Образование Учеба Урок Программирование IT Английский язык Все
75 постов сначала свежее
225
AlexanderDllSky
3 года назад
Лига Разработчиков Видеоигр

Как делать игры в Unity. Попытка в серию  обучающих постов #1⁠⁠

Пост №1. Азы программирования.


Всем привет! Попытаюсь поработать над серией обучающих постов по Unity.

Сегодня хочу поговорить об азах правильной работы с языком C# в Unity. Об азах программирования, но не о том, как выучить C#. И о частых ошибках.


Подразумевается, что вы, читатели, уже имеете некое представление о синтаксисе ЯП (языка программирования) и можете написать "Hello, World".

Если нет - то настоятельно рекомендую сначала ознакомиться с C# и только потом уже приступать к работе в Unity. По роду своей работы и по тому, что происходит в ру-сегменте StackOverflow по тегу "Unity3D", очевидно, что большинство проблем/вопросов у новичков возникает по причине незнания ЯП.

Как делать игры в Unity. Попытка в серию  обучающих постов #1 Unity, Csharp, Gamedev, Обучение, Длиннопост

Программирование в Unity на C# немного отличается от "классического" использования C#. Самое главное отличие - в классах-компонентах (наследниках от MonoBehaviour) не принято использовать конструкторы и деструкторы.  И с этим связана одна из частых "ошибок новичков" - попытка создания компонентов ч/з оператор new. Так делать нельзя!

Как делать игры в Unity. Попытка в серию  обучающих постов #1 Unity, Csharp, Gamedev, Обучение, Длиннопост

Классы-компоненты не могут существовать без "носителя"-GameObject'а. Поэтому если вам необходимо добавить новый компонент из кода, необходимо использовать метод AddComponent().

Как делать игры в Unity. Попытка в серию  обучающих постов #1 Unity, Csharp, Gamedev, Обучение, Длиннопост

Если же необходимо создать экземпляр "обычного класса", то в этом случае, разумеется, используется оператор new и конструктор класса.

Еще очень важное отличие - в одном .cs-файле в Unity может быть только один класс-компонент (но это не значит, что в этом же файле нельзя будет определять структуры, другие "обычные классы", перечисления и т.д.)
И файл должен называться точно так же, как класс-компонент (наследник от MonoBehaviour)!

Как делать игры в Unity. Попытка в серию  обучающих постов #1 Unity, Csharp, Gamedev, Обучение, Длиннопост

В классах-компонентах могут быть использованы "предусмотренные движком" методы (Awake(), Start(), Update() и т.д.) Эти методы должны быть определены в классе и должны быть названы точно так же (с учетом регистра), как указано в документации. Иначе они не будут вызываться движком в предусмотренное время в предусмотренном порядке. Это связано с тем, что Unity работает с такими методами через механизм рефлексии.
И самая, на мой взгляд, распространенная "ошибка новичка" при работе с "предусмотренными методами" - работа с Update(), FixedUpdate(), LateUpdate().


Update() - вызывается раз за кадр. И часто новички в этот метод вставляют много бессмысленного кода (а временами и "вредного", негативно сказывающегося на производительности). Не стоит каждый кадр искать компоненты и объекты (н-р, GameObject.FindObjectOfType()) и не стоит каждый кадр обновлять UI (н-р, каждый раз присваивать тексту здоровья текущее значение HP игрока - это стоит делать только при изменении значения). Так же не забывайте использовать Time.deltaTime - время, прошедшее с прошлого вызова Update() (не путать с Time.fixedDeltaTime) если необходимо что-то делать равномерно каждый кадр (н-р, перемещая объект каждый кадр - можно указанную скорость умножать на величину Time.deltaTime).


FixedUpdate() - вызывается фиксированное кол-во раз в секунду. Настраивается в Unity. Как правило этот метод используют для работы с физикой. И тут для "равномерности" необходимо использовать Time.fixedDeltaTime (не Time.deltaTime).


LateUpdate() - вызывается раз за кадр после Update(). Поэтому в момент вызова LateUpdate() уже известны все изменения из Update(). Как правило в этом методе работают с перемещением камеры. Для "равномерности" следует использовать Time.deltaTime.

На этом буду заканчивать с первым постом. Очень надеюсь, что продолжу серию.
А вам всем желаю успеха в геймдеве!

Показать полностью 4
[моё] Unity Csharp Gamedev Обучение Длиннопост
55
88
BlazesIndie
BlazesIndie
5 лет назад
Лига Разработчиков Видеоигр

Как стать разработчиком игр в домашних условиях? Моя небольшая игра за месяц для Steam⁠⁠

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

КРАТКО ОБО МНЕ:
Скажу свое мнение - делать игры это действительно интересно. Я начинал делать игры не думая о прибыли, мной двигало лишь вдохновение создать что-то свое. В дальнейшем я делал небольшие заказы, обучал разных людей разработке игр по skype и teamviewer, даже делал для кого то дипломную работу на Unity, а так же выпустил несколько игр в Google Play, AppStore, Steam. Но все это началось 6 лет назад, когда мне было 25 лет. Раньше я и понятия не имел что простолюдин с образованиям ПТУ сможет делать какие либо игры.(многие из вас наверняка видят уровень моей грамотности в орфографии, хоть я и тщательно её проверяю программой для проверки орфографии). Ведь в школьные годы, как и большинство подростков я и не задумывался о том, кем я буду в будущем. Просто ходил по компьютерным клубам, гулял с девочками, получал двойки за четверти по математики и русскому и школу закончил с весьма печальным аттестатом. Я не совру если скажу, что реально бывали такие времена, что я неделями, вплоть до месяца прогуливал школу. А потом дома подрезал провода домашнего телефона, что бы класуха не могла дозвониться. Подделывал записки от родителей, за год терял не один дневник, который был и так тонкий от постоянно вырванных листов с замечаниями или просьбой прийти родителей в школу. Даже один раз заполучив классный журнал мы с одноклассником наставили себе весьма неплохих оценок. Вообще по учебе, ученик я был еще тот.
К чему я это пишу?
А пишу я это к тому, что практически каждый человек, если захочет, сможет научиться всему. Все зависит именно от вас, только ваше стремление и желание в данный момент имеет значения. То, кем вы были раньше и насколько вы образованный человек, играет не большую роль в сравнении с вашим духом и целеустремленностью постичь что-то новое!!! Из университетов выходит много бездарей которые пошли туда учиться только потому что нужно было, приходят работать по профессии и знают меньше своих подчиненных которые окончили ПТУ. Ведь как говорил Рубакин - Всякое настоящее образование добывается только путем самообразования.

Вы обязательно научитесь, если будете изучать, то что вам будет интересно.

КАК Я ПРИШЕЛ НА ПУТЬ РАЗРАБОТЧИКА:
Мне действительно становилось страшно от мысли что до конца своих дней я буду работать заправщикам на АЗС, ходить в робе пахнущей бензином, разгружать цемент и товары на заправке, бояться отказать начальству выйти в свой выходной, что бы потом не попасть в немилость, а то мало ли контракт не продлят. Что же я потом буду делать? Вот что происходило у меня в голове. Я смотрел на своих напарников, некоторым из них было уже за 40-50 лет и меня всегда пугала то, что человек проживает свою жизнь, которая дается один раз, не осознает, что для него пределам мечтаний является небольшая премия ко дню нефтяника. Мне становилось страшно когда я смотрел на Петровича, ведь в Петровиче я видел будущего себя. А я не хотел для себя такого будущего.
Сначала у меня появлялись мысли о том что бы отложить денег и организовать какой-то бизнес, например, что-то перепродавать, перекупать. Я долго изучал разные товары, смотрел что выгодно купить, что выгодно продать, пока не понял, что мне попросту это все не интересно. У меня был знакомый который, делал сайты и говорил что неплохо зарабатывает. Я подумал, вот оно!!! Начал учиться делать сайты, проковырялся около месяца и понял что это очень скучно и нудно, не мое. А вот с играми совсем другая история. Я всегда любил играть в игры. Мое знакомство с ними началось еще в далеком детстве 90х с приставки денди, которую купил мой старший брат, заработав деньги поездками из Беларуси в Россию, помогая двоюродной сестре возить товар. Потом началось все как у большинства, клубы с приставками сега и сони, далее компьютерные клубы в начале 2000х. Потом, когда я уже начал работать, то смог приобрести свой собственный ПК(далее было много чего: psp, xbox360, ps2, nintendo DS и 3DS, сейчас PS4)
Именно поэтому я вдруг задался вопросом, как научится делать игры и полез в великий Google для поиска ответов. Ответы нашлись весьма быстро и я узнал что существую движки, языки программирования, программы для создания 3D моделей, а так же программы для рисования 2D игр. Я понял, что есть много информации по обучению и много разных уроков, что бы освоить любой движок. Я проштудировал много статей и выбор мой пал на движок Unity.

Как стать разработчиком игр в домашних условиях? Моя небольшая игра за месяц для Steam Steam, Длиннопост, Unity, Gamedev, Видео, Инди, Обучение

ПОЧЕМУ Я ВЫБРАЛ UNITY:
Это постоянно развивающийся кроссплатформенный движок. Документация в большей части переведена на русский язык на официальном сайте. Есть куча видео уроков на YouTube, а так же множество уроков на официальном сайте на английском языке. Большое комьюнити, много групп и форумов. Большой магазин Asset Store где можно купить графику на любой вкус и много готовых решений, что упрощает разработку игры с нуля. Unity поддерживает язык программирования C#. На этом движке вы сможете сделать игру как для мобильных платформ, так же и для PC и игровых консолей. По графике, можно сделать игру на Unity, которая будет выглядеть не хуже чем на UE. Все зависит от ваших рук, опыта, вкуса. Многие комментаторы которые даже не работали с данным движком любят написать, мол школьники делают на Unity и тому подобное(мое самое любимое — это очередной высер на Unity) на самом деле я считаю, что это люди весьма недалекие, когда оценивают игру только по движку. На любом движке можно сделать как говно, так и шедевр. Очень многие игры сделаны на Unity, в том числе и от ведущих компаний. Это все можно погуглить и ознакомится с тем, на что способен этот движок.
Подводя итог вышесказанному хочу заметить, что дело не в движке, дело в человеке и его стремлении сделать что-то годное. А графика зависит от вкуса и опыта, умения использовать свет и эффекты на камере, строить красивые атмосферные сцены.(не беру в учет текстуры и модели)

КАК Я НАЧАЛ ИЗУЧАТЬ ДВИЖОК:
Когда я определился с движком, то вообще не умел программировать. Купив пару книг я думал, что если  настроюсь, то смогу сам разобраться и вникнуть. И начал очень медленно вникать в программирования на C#, ведь так приятно, когда ты пишешь какие-нибудь команды, а программы выполняет все это подчиняясь тебе. На самом деле начать всегда тяжело, когда ты начинаешь изучать то, о чем не имел никакого представления и у тебя куча вопросов которые не кому задать, это очень угнетает и хочется все бросить. Я же настроенный на успех в обучении решил поступить иначе. Я нашел человека по интернету с которым договорился о 10 уроках по Skype и выполнении каких нибудь несложных заданий, дабы закрепить материал. На это все я потратил 150$ мы договорились 1 занятие 15$. Я внимательно слушал все что он мне говорил, задавал много вопросов, которые меня интересовали. Я заранее подготавливал вопросы, которые возникали у меня по мере работы на движке и при написании кода. Этих 10 уроков хватило что бы понять базу и уже самостоятельно делать какие-то не большие сцены. Я уже мог разбираться в документации и искать нужную мне информацию в интернете. Все уже было не так страшно как раньше. Далее я продолжил обучаться самостоятельно, делая свою самую первую игру для googole play.

DITGO RUNNER - МОЯ ПЕРВАЯ ИГРА:
Diego Runner - моя самая первая настоящая игра, выпущенная мной в Google Play.
Суть игры была в том, что бы по мере движения персонажа, подбирать правильные платформы, нажимая на нужную кнопку. Если ошибся, то проиграл. Отверстия в платформах генерировались всегда рандомно.
Планы на игру были большие, я хотел сделать много разнообразных уровней, много фигур, которые будут открываться по мере прохождения игры. Но всем этим планам не суждено было сбыться, так как я не учел один немаловажный фактор. Денег, что бы покупать графику у меня не было, мой друг рисовал все на энтузиазме, а энтузиазма хватило только на один не большой уровень. И в итоге из моей большой многоуровневой идеи, игра превратилась в игру с одним бесконечным уровням и нудной целью, набить как можно больше очков.
Игру после выхода никак не рекламировал в отсутствии денег на пиар компании, просто выложил и забил. Главное было набраться опыта и доводить начатые проекты до конца.
Игру скачали пару тысяч раз и принесла она на рекламе 30$. Через какое то время, игра была удалена Google Play, потому что требовалось вносить изменения в рекламу. Я не вникал и не корректировал, просто удалил игру.

Как стать разработчиком игр в домашних условиях? Моя небольшая игра за месяц для Steam Steam, Длиннопост, Unity, Gamedev, Видео, Инди, Обучение

Скриншот из игры Diego Runner выпущенной в Google Play

RUNPUZZLE - ИГРА ЗА МЕСЯЦ, СТАРАЯ ИДЕЯ ЗАИГРАЛА ПО-НОВОМУ:
После Diego Runner я делал много разных проектов на заказ, от маленьких до средних игр или писал кому-нибудь кусок кода за деньги. Выпустил несколько игры на разных площадках. Сейчас вместе с другом ведем работу над новым большим проектом, который планируем выпустить в конце 2020 в ранний доступ в Steam и потом доделать за 5-6 месяцев до релиза.(скрины я выкладывал в предыдущих постах).Так вот, параллельно с этим я в свободное время решил оживить свой старый незаконченный проект, не ради заработка, просто это проект с которого все началось и я решил сделать его таким каким видел его 5 лет назад. На этот раз некоторую графику я купил на asset store и что-то сделал сам, что бы все было в одном стиле. Переписал весь старый код. На это у меня ушло пару дней. Дизайн сцен я делал около месяца в свободное от основного проекта и время.
В игре есть 3 режима:
-Прохождение 25 уровней
-Игра на двоих, друг против друга на одном ПК, кто дольше продержится.
-Режим рекорды, бесконечный уровень который сохраняет ваш рекорд.
Вот такая весела игрушка у меня получилась — Страница в Steam.

СОВЕТЫ ДЛЯ ТЕХ КТО ХОЧЕТ НАЧАТЬ УЧИТЬСЯ:
Если вы полны желания научиться создавать игры, то я могу дать вам несколько советов как лучше начать это делать. Это советы основаны на моем личном опыте и это мое личное мнение, а далее решать вам, стоит ли следовать этим советам или искать свой собственный путь.
Если вы свободно располагайте деньгами, то я бы рекомендовал вам найти репетитора хотя бы по C# что бы освоить базу, для этого не понадобиться много времени и много денег, как правило базу можно освоить за 7-10 индивидуальных уроков, если усердно выполнять задания и стараться разобраться. Когда вам объясняют и вы можете задавать вопросы, это экономит кучу времени в начале пути.

1)Если же у вас нет такой возможности, то лично мне понравился цикл из 185 уроков C#

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

3)Любые уроки по Unity на YouTube, в начале хватит любых, что бы освоить интерфейс движка и попытаться что-то начать делать, далее с появлением опыта вы научитесь фильтровать хорошую информацию, от бесполезной фигни.

4)Так же есть несколько книг на русском языке, которые можно приобрести в бумажном или электронном виде. В каждой из этих книг любой новичок найдет для себя полезную информацию. Книги по программированию советовать не буду их очень много толковых, но большинство книг вам попросту будут не понятны на начальном этапе, можно загуглить что-нибудь для новичков, но видео уроки будут поинтереснее и веселее если вы начинающей. А в будущем вы сами, сможете найти для себя массу прекрасных книг, что бы улучшить свой скил и сделать свой код максимально оптимизированным.

Как стать разработчиком игр в домашних условиях? Моя небольшая игра за месяц для Steam Steam, Длиннопост, Unity, Gamedev, Видео, Инди, Обучение

5)Для экономии времени вы можете использовать графику из магазина Asset Store, там вы найдете много бесплатных ассетов, которые можно использовать на первое время для обучения, так же есть куча достойных платных ассетов, которые вы сможете купить и использовать в своих коммерческих проектах.

6)Самое главное, на начальном этапе вами, как и всеми начинающими будет двигать желания слепить какую то мега игру, стопроцентный хит как вам кажется, который принесет кучу денег, ведь у вас есть отличная идея. С этим сталкиваться все начинающие разработчики, у всех у нас есть мега идеи. Сначала обязательно сделайте хотя бы 5 законченных, маленьких проектов, потом вы сможете понимать свои силы и масштабы работы над большими играми. Обязательно, отложите все ваши крутые идеи на время в полочку. И начните делать небольшие игры. Например сделайте понг, потом танчики, Марио и приступайте к 3Д играм.

7)Если вам кажется, что у вас нечего не получается и все слишком сложно, то нужно немного отдохнуть и продолжать дальше. За 6 лет изучения и разработок мне так казалось минимум 100 раз, а может и больше. Со временем все будет гораздо легче, просто знай это и борись с собой. Вскоре вы научаетесь правильно искать нужную информацию, ваш код будет с каждым разам все лучше и лучше.

8) Вы всегда можете написать мне в сообщения в моей группе в ВК если у вас будут вопросы. Когда есть время и я вижу сообщение, то обязательно отвечаю на него и постараюсь вам помочь или подсказать где можно найти ответ.

P.S.
Хотелось бы закончить свой пост такой мыслью: Мы живем один раз, нужно искать себя и заниматься тем, что нравиться. Занимайтесь тем, чем бы вы могли заниматься и бесплатно, но если вы сможете заработать на этом, то вы действительно сможете обрести некоторую свободу в жизни. Я надеюсь что этот пост кому то поможет, возможно кто то вдохновиться и сделает новый инди хит, а я буду к этому причастен, пусть и косвенно. Желаю вам хороших дней, хорошего настроения и много сил в самой главной вашей игре, которая называется жизнь.

Показать полностью 3 1
[моё] Steam Длиннопост Unity Gamedev Видео Инди Обучение
60
15
DemoniKsataNa
DemoniKsataNa
9 лет назад

GameDev.Unity3d.Урок 7.Часть 1.Здоровье и Урон⁠⁠

Триггеры,Немного Системы частиц и GUI.
GameDev.Unity3d.Урок 7.Часть 1.Здоровье и Урон Триггеры,Немного Системы частиц и GUI.
Показать полностью 1
[моё] Unity3D Unity Unity3d unity Урок Здоровье Урон Обучение Длиннопост
4
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии