Основы программирования в Unity. Скрипты

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ก.ย. 2024
  • Мы познакомимся поближе с понятиями: Скрипт, Класс, Переменная, Метод. Узнаем как создаются переменные, где вызываются методы в движке Unity.
    К концу видео вы реализуете пример, позволяющий передать привет самым близким людям. Неплохо, да?
    Телеграмм: Unity с 0 до ♾️
    t.me/nba_unity

ความคิดเห็น • 88

  • @giornogiovanno4622
    @giornogiovanno4622 3 ปีที่แล้ว +6

    Спасибо за такой замечательный урок!
    Понятно и хорошо обесняете.

    • @JalexyDev
      @JalexyDev  3 ปีที่แล้ว +1

      Спасибо, приятно 😊

  • @КротАаа
    @КротАаа 4 ปีที่แล้ว +7

    Очень понятно обьясняешь, продолжай в том же духе))

  • @wowgames_
    @wowgames_ 3 ปีที่แล้ว +9

    *Интересное видео*
    Продолжайте создавать видео-уроки и игры)

  • @oldborodach
    @oldborodach 3 ปีที่แล้ว +1

    Блин, ну ты знаешь присоединяюсь к остальным ты прям норм показываешь примеры пусть и для новичков ну очень полезные. Вот как раз подсел на Unity и надеюсь ты не остановишься в продолжении🤝

  • @worldofgames2383
    @worldofgames2383 ปีที่แล้ว

    Уважуха, брат сильно помог, развивайся дальше

    • @JalexyDev
      @JalexyDev  ปีที่แล้ว

      Спасибо, брат!

  • @АнтонБерезин-х5ы
    @АнтонБерезин-х5ы ปีที่แล้ว +2

    Тут ошибка - в классе используются не переменные, а поля, а вот сами поля присваиваются через переменные разных типов.
    Сами значимые типы вроде int и float являются не примитивами, а структурами, которые хранятся в стеке ОЗУ, а не в управляемой куче как классы, поэтому работают быстрее.

    • @JalexyDev
      @JalexyDev  ปีที่แล้ว

      Важное замечание, спасибо

  • @newmoment6462
    @newmoment6462 ปีที่แล้ว

    Спасибо за урок!

  • @elleymey7297
    @elleymey7297 3 ปีที่แล้ว

    Спасибо за доступный урок

  • @lexbay6605
    @lexbay6605 3 ปีที่แล้ว

    Спасибо, очень приятно слушать, надеюсь пойму)))

    • @JalexyDev
      @JalexyDev  3 ปีที่แล้ว

      Для начала достаточно уметь находить решения для своих задач. Но если ты проявишь упорство и будешь постоянно заниматься, то понимание придет и ты сможешь писать свои решения.
      Так что, дерзай! )

  • @irinaku7581
    @irinaku7581 ปีที่แล้ว +3

    Мне понравилось как объясняет человек, ничего лишнего и всё нужное. Благодарю.

    • @JalexyDev
      @JalexyDev  ปีที่แล้ว +1

      Человеческое спасибо 😊

  • @АлексейКолесников-т1у
    @АлексейКолесников-т1у 4 ปีที่แล้ว +1

    Отлично!

    • @JalexyDev
      @JalexyDev  4 ปีที่แล้ว +1

      Спасибо!

  • @PiKaHu-gj5so
    @PiKaHu-gj5so ปีที่แล้ว

    Здравствуйте, почему у меня нету ни какого окна что бы написать скрипт? Надо этот Визуал студио установить?

    • @JalexyDev
      @JalexyDev  ปีที่แล้ว

      Да. Первое видео в этом плейлисте это установка и настройка юнити. Посмотрите. Могут быть нюансы в зависимости от версии юнити, но суть должна остаться прежней

  • @amletik_show7981
    @amletik_show7981 3 ปีที่แล้ว +1

    Объясни мне пожалуйста, почему у меня нет моих публичных переменных в инспекторе???

    • @amletik_show7981
      @amletik_show7981 3 ปีที่แล้ว +1

      Они не отображаются

    • @JalexyDev
      @JalexyDev  3 ปีที่แล้ว

      Ну причины мб разные. Мб у тебя ошибка в одном из классов и инспектор не обновляется. Мб публичные поля хранят не сереализуемые объекты. Мб сам класс с полями не монобех и не скриптбл и не сереализуемый...если ни один из вариков не подходит, можешь зайти в нашу группу в телеге, скинуть скрины инспектора и класса.

  • @nolmas6258
    @nolmas6258 ปีที่แล้ว

    Я 1 тысячный подписчик

    • @JalexyDev
      @JalexyDev  ปีที่แล้ว

      Поздравляю! 🥳

  • @apogee...
    @apogee... 2 ปีที่แล้ว

    Кстати, мне интересно:
    Как сделать публичную кривую? Я просто хочу сделать кривую урона от дистанции? Это реализуемо?
    И второе:
    При выставлении галочки в isBurst появлялись новые параметры, в моем случае "TimeBetweenBurst" и "BurstCount". Как допустим в RigidBody, пока не поставишь галочку, другие переменные недоступны и становяться серыми.
    Я просто почти написал свой универсальный скрипт, но хочу улучшить его внешне.

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      По поводу второго вопроса
      th-cam.com/video/ODU_KsZ3Ing/w-d-xo.html
      А кривую сделать можно. У тебя есть возможность получить позицию стреляющего и получающего урон. Можно эти позиции передавать в объект пули. В юнити есть стандартная функция нахождения расстояния между двумя точками. Дальше включаешь тригонометрию и с помощью всяких синусов косинусов делаешь кривую урона. Формул я не знаю если что, но уверен они легко гуглятся )

  • @player2222-vs2te
    @player2222-vs2te ปีที่แล้ว

    А как удалить если ты зашол в папку скрипты, выделить та виделил но удалить не могу и написать не чо не могу) помогите мне

    • @JalexyDev
      @JalexyDev  ปีที่แล้ว

      Заходи в нашу группу в телеге и скинь скрины. Как вариант можно открыть папку в проводнике и там тебя уже никто не остановит, удаляй что хочешь

  • @ХасарКусегенов
    @ХасарКусегенов 2 ปีที่แล้ว +1

    Вроде все понятно,но не понятно в каких ситуациях их использовать,ну или я дурачок

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      ну как тебе сказать. Если ты про сами скрипты, то они используются всегда и везде где нужно добавить какое-то поведение. Обработка нажатия на кнопку, передвижение перса, свойства игровой среды - это все код написанный в скриптах. Но юнити - это фреймворк, в котором некоторые скрипты уже написаны за тебя и их можно использовать с помощью визуального интерфейса клиента-юнити.
      Если не понятно для чего нужны скрипты, просто начни делать какой-нибудь проект использую юнити (даже те которые я дальше в курсе сделал, например) и понимание придет

    • @ХасарКусегенов
      @ХасарКусегенов 2 ปีที่แล้ว

      Спасибо что ответили- нет я понимаю что такое скрипты и для чего они нужны,я не понимаю именно как правильно их использовать, те же самые переменные и т.д к примеру мне нужно что бы МОБЫ спавнились в определённых местах случайным образом с разным количеством,то как написать такой скрипт,какие команды использовать,(вот что не понятно) просто я сам дизайнер и аниматор но вот с скриптом не когда не сталкивался

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      @@ХасарКусегенов чтобы понимать такие вещи нужен опыт разработки. А опыт разработки приходит когда ты тупо копируешь чужой код и анализируешь что зачем написано. Даже если ты понимаешь 5% из всего написанного - Кир коуинг и все будет со временем.
      А вообще ещё можно пройти курсы по программированию. Переменная она и в Африке переменная. Нужна чтобы хранить ссылку на объект и позволять с ним взаимодействовать из кода. Метод\функция аналогично во всех языках работает одинаково.
      На своём примере я убедился, что понимание приходит после практики. И пытаться сначала выучить, а потом уже писать - затея которая может потратить больше времени.

    • @ХасарКусегенов
      @ХасарКусегенов 2 ปีที่แล้ว

      @@JalexyDev благодарю за разъяснения, подпишусь, по рекомендую своим коллегом начинающим 😉

  • @АнтонКолесов-к8я
    @АнтонКолесов-к8я 4 ปีที่แล้ว

    Что б я бы без тебя делал

  • @romanroninn
    @romanroninn 4 ปีที่แล้ว

    я не могу перенести скрипт на объект ошибка cant add script component имя скрипта и т.д скритп полностью назван также как и класс
    помоги пожалуйста
    даже если новый создаю скрипт и не пишу ничего и пытабсь скинуть на объект всё равнр эта ошибка

    • @JalexyDev
      @JalexyDev  4 ปีที่แล้ว +1

      А как создаешь скрипт? На другие объекты можешь? Я подозреваю, что скрипт не расширяет класс MonoBehaviour. Либо в скрипте ошибка (причем не обязательно в том, который ты добавляешь, мб в одном из уже добавленных). Либо название файла и класса все же отличаются. Глянь тут (если ни один из моих вариантов не подойдет):
      stackoverflow.com/questions/51713497/cant-add-script-component-because-the-script-class-cannot-be-found

  • @y0ungart1
    @y0ungart1 2 ปีที่แล้ว

    Что делать если [SerializeField] светится белым ?

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      Скорее всего у тебя либо визуал студия не подключена к Юнити либо у тебя визуал студия код которую тоже надо как-то по особому настроить

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      В общем прокопай в сторону подключения редактора кода к юнити

  • @amusedoctopus6454
    @amusedoctopus6454 3 ปีที่แล้ว

    у меня ошибок нет, но сообщение в консоль не выводится.

    • @JalexyDev
      @JalexyDev  3 ปีที่แล้ว

      Если код написан правильно и ошибок никаких нет: то сообщения в консоль могут не выводиться в 2 случаях:
      1) сообщений нет. Код не запускается. Например, если не навесил скрипт на объект перед запуском игры или т.п.
      2) сообщения есть, но не видно. Отключил показ нужных сообщений или т.п.
      Лучше всего внимательно еще раз глянуть видео и сверить каждый шаг.

  • @вай-ц6э
    @вай-ц6э 4 ปีที่แล้ว +1

    А на другом языке можно программировать в юнити

    • @JalexyDev
      @JalexyDev  4 ปีที่แล้ว

      Раньше, если я не ошибаюсь, было 3 варианта: с#, javaScript и еще что-то свое...сейчас, вроде как только с#

    • @Segrio664
      @Segrio664 3 ปีที่แล้ว

      @@JalexyDev может Java? )

    • @JalexyDev
      @JalexyDev  3 ปีที่แล้ว

      @@Segrio664 c# та же java ) есть свои тонкости, но основа синтаксиса та же. Я не искал способа программировать на других языках.

    • @Segrio664
      @Segrio664 3 ปีที่แล้ว

      @@JalexyDev буду знать , я только с# изучать начал

    • @JalexyDev
      @JalexyDev  3 ปีที่แล้ว

      @@Segrio664 если до этого был опыт с java и есть основы ООП, то проблем быть не должно. У юнити большое сообщество и в сети много готовых решений практически на любую задачу. Если ООП нет, то тоже можно начинать с Юнити, но надо подтянуть и теорию, чтобы было понятно как работают те самые решения и можно было их адаптировать под свой случай.

  • @ITpythononline
    @ITpythononline ปีที่แล้ว

    Мне кажется что он чем-то похож на пайтон

    • @JalexyDev
      @JalexyDev  ปีที่แล้ว

      Если только тем, что на обоих языках можно писать код )

  • @kirillvpgames4932
    @kirillvpgames4932 ปีที่แล้ว

    Library\PackageCache\com.unity.render-pipelines.universal@7.3.1\Editor\ShaderGraph\UniversalShaderGraphUtils.cs(16,108): error CS0246: The type or namespace name 'ShaderPass' could not be found (are you missing a using directive or an assembly reference?) У меня такая ошибка.

    • @alexeytelyshev7546
      @alexeytelyshev7546 ปีที่แล้ว

      написано что в этом файле \Editor\ShaderGraph\UniversalShaderGraphUtils.cs где-то в районе строк (16,108) не может найти ShaderPass Но судя по возникшему вопросу, предположу что ты там ничего не делал. Попробуй пересоздать простой проект без пайплайнов и повторить урок.

    • @kirillvpgames4932
      @kirillvpgames4932 ปีที่แล้ว

      я переустановил urp, хотя проект сделан на srp, но это помогло.

    • @JalexyDev
      @JalexyDev  ปีที่แล้ว

      Супер. Возможно случайно повредил какой-то файл. Мб антивирус съел или вирус )

  • @АлиМурзабеков-с7я
    @АлиМурзабеков-с7я 2 ปีที่แล้ว

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

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      Привет! Да я бы не сказал, что видео мало )
      Большинство базовых вещей я рассмотрел, темы которые мне предлагали я тоже записал. Сейчас настал момент, когда каждое новое видео приходится делать на какие-то узконаправленные темы, которые мало кому интересны. А времени на такие виде уходит намного больше. Вот и получается, что сил и времени тратится, а просмотров меньше. Это очень демотивирует )
      Сейчас я жду отметки в 700 подписчиков, чтобы сделать следующий блок видеороликов 💁
      Такие вот дела. Спасибо за мотивирующий коммент )

    • @АлиМурзабеков-с7я
      @АлиМурзабеков-с7я 2 ปีที่แล้ว

      @@JalexyDev согласен. И если можно, я бы вопрос задал. Как научиться понимать и писать скрипты как профессионал. Я только 3 курс колледжа по программированию. Естественно юнити не обучают, а только основы программирования. И очень сложно понимать как все заставить работать. У меня много багов и вопросов. Вот и хотелось через простое обьяснение по полочкам понять как это делать. Как ты показывал на видео.

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      @@АлиМурзабеков-с7я все просто, но долго. Все приходит с практикой. Это похоже на изучение иностранного языка.
      Учишься печатать, буковки, потом складывать из них классы, методы и тп. Потом практикуешься, переписываешь у других, придумываешь свои простые вещи...и постепенно начинаешь мыслить теми структурами, которые раньше просто переписывал.
      В колледже тебя не научат кодить ) этому можно научиться только тыкая по клавишам, догоняя практику теорией

  • @star_3301
    @star_3301 4 ปีที่แล้ว +1

    Сложно

    • @JalexyDev
      @JalexyDev  4 ปีที่แล้ว

      Странно...а ты сначала смотрел? Я же прям с самого нуля объясняю )
      На самом деле может показаться сложным, но главное пробовать, пробовать... пока не станет просто 🙃👍

  • @NickProkhorenko
    @NickProkhorenko 3 ปีที่แล้ว +1

    Че за говно я щас услышал! Нихрена не понял... Почему нельзя на практике показать, как все работает. Я, блин, новичок!

    • @JalexyDev
      @JalexyDev  3 ปีที่แล้ว +1

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

    • @wowgames_
      @wowgames_ 3 ปีที่แล้ว

      Можем лишь посоветовать программу C Sharp Maker (masterigr.ru/c-sharp-maker). Она может создавать скрипт C# из простых блоков. Но нужно всё равно понимать, как работать в юнити, как работают скрипты, и как пользоваться самой программой.

  • @GPPSoft
    @GPPSoft 4 ปีที่แล้ว

    Спать ложись уже.

    • @JalexyDev
      @JalexyDev  4 ปีที่แล้ว

      как раз собирался =)

  • @WorldofHipHopRap
    @WorldofHipHopRap 3 ปีที่แล้ว +2

    Спасибо большое, что так хорошо всё объясняете и обучаете, даже лучше чем у меня учителя в универе 😏👍

  • @_lemu_
    @_lemu_ ปีที่แล้ว +1

    6:17 Можно не стирать буквы на конце слова. Можно просто поставить указатель на конец слова и нажать Win + Space, и тогда вылезет окошечко с автокомплитами

  • @Игрок9999-я6ы
    @Игрок9999-я6ы ปีที่แล้ว

    Привет а неподскажешь как зделать русский язык, потому что на английском непонемаю пытался перевести но перевод окозался неправильным 😭😭, но мне очень бы хотелось создать свою игру но языковой барьер мешает)

    • @JalexyDev
      @JalexyDev  ปีที่แล้ว

      Русский в Юнити? Мне кажется я где-то такое видел, но скорее всего это сторонние плагины. Я бы не рекомендовал так делать, тк потом ты не сможешь находить нужные пункты меню которые будут показывать в различных видеоуроках. Сделаешь только хуже )
      На первых парах переводить не обязательно. Достаточно повторять за учителями и мотать на ус. А потом с практикой придет понимание что как работает и в голове сформируется свой перевод под каждое непонятное слово

  • @maksimtrofimov553
    @maksimtrofimov553 12 วันที่ผ่านมา

    А че делать если виртуал студио открылось а скрипт нет

    • @JalexyDev
      @JalexyDev  12 วันที่ผ่านมา

      Это странно. Но скрипт - это всего лишь файлик на жестком диске. Можно открыть его из самой студии.
      Файл - открыть - найти нужный файл (или тп)
      Но лучше погуглить, в чем причина, чтобы открывалось все из юнити

  • @brazero_death
    @brazero_death ปีที่แล้ว

    Ребята я извиняюсь вы подскажете как открыть скрипты Веть сколько я не пробовал не получается открыть -

    • @JalexyDev
      @JalexyDev  ปีที่แล้ว +1

      Если не получается открыть из Юнити, значит к ней не привязана визуал студия. Где-то в первых видео этого курса я показывал как установить и настроить юнити. Там это есть.
      А вообще их можно открыть хоть блокнотом из файловой системы.

    • @brazero_death
      @brazero_death ปีที่แล้ว

      @@JalexyDev спасибо

  • @jobinhomeUNITY
    @jobinhomeUNITY ปีที่แล้ว

    2023 нихера не работает...........................

  • @Орочимару777
    @Орочимару777 2 ปีที่แล้ว

    1:50 О! Прямо как в Пайтоне

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      И не только )
      Это классика жанра почти везде так

  • @nezdanchickkun
    @nezdanchickkun 2 ปีที่แล้ว

    ощущение что автор сам еще не научился шарпу

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      Ага, есть такое )

    • @nezdanchickkun
      @nezdanchickkun 2 ปีที่แล้ว

      @@JalexyDev Это не есть хорошо, к примеру - есть курсы сугубо C#, а есть курсы Unity, так вот переменные, методы, обьекты - все это к обычному шарпу, к UnityEngine не относится, если хотите рассказать про переменные создайте плейлист с курсом по шарпу и когда пройдете вместе с подписчиками часть ООП, то можете в курсе Unity просто ссылаться на пред. курс. Так вы и сами научитесь, ища информацию, и людям не нужно будет опять "учить" шарп, чтобы создать игру мечты. Также совет - не используйте термины, которые сами не знаете, это плохой опыт. И все это вы говорите неокрепшим маслятам, только представьте, что из этого получится, у них будет каша в голове. И просьба не учить плохому опыту - ищите как делать НАДО, а не проще для маслят. Ну а так - удачи, надеюсь я вам помог)))

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      @@nezdanchickkun конечно, спасибо за ваше мнение. Очень конструктивная критика. Но записывая этот урок я придерживался немного другой философии. Люди приходящие посмотреть это видео ищат короткий путь к изучению того, как создать игру. Если бы они были готовы сначала получить докторскую степень по программированию, прежде чем начинать делать игру, они бы нашли курс по с# или же поступили в универ на подходящее отделение.
      Я постарался простыми словами объяснить людям, что будет происходить на их экранах в последующих видео. Во всех видео, как вы правильно отметили, не используются лучшие практики. Это связано с тем, что чтобы их осознать, нужно иметь определенный опыт в программировании, тогда как новичкам намного проще осознать то, что достигается в 1-2 шага и желательно в одном файлике.
      Чтобы поступить как вы рекомендуете, то пришлось бы переименовать плейлист на Юнити с 0 + база по С# и опп.
      Не буду скрывать, меня задели слова, что я говорю о том, в чем не разбираюсь. Хотелось бы узнать более предметно о чем речь, чтобы я мог это изучить, если это действительно так.
      Если коротко, то в вашем коментарии действительно есть зерно истины, но рекомендуемый вами подход не тот, которому я бы следовал при обучении. По моему, лучше учить тому, что можно сразу применить, чтобы новички могли сохранять мотивацию пока не втянутся. А потом переучить их если им это действительно нужно. Чем сразу давать сложные подводящие уроки не связанные напрямую с той темой ради которой они смотрят видео. Если им не понравится сухое программирование на с#, то они просто развернутся и уйдут из игродела даже не попробовав сам процес...а ведь сейчас все больше и больше продвигается визуальное программирование, так что смысла у такого подхода становится еще меньше.

    • @nezdanchickkun
      @nezdanchickkun 2 ปีที่แล้ว

      @@JalexyDev Просто все курсы именно так и делают, я предлагаю вам новый опыт и нечто новое привнести в курсы на youtube. Думаю что вы извлечете зерно и взрастите его, а я лишь комментатор

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว +1

      @@nezdanchickkun хорошо, спасибо. Я учту ваше мнение, возможно однажды что-то из этого и выйдет

  • @emae759
    @emae759 2 ปีที่แล้ว

    Желаю вам 1000 подписчиков

    • @JalexyDev
      @JalexyDev  2 ปีที่แล้ว

      В будущем этот комент может поменять свой смысл кардинально. Но сегодня я скажу спасибо ! )

    • @Qreo_que_te_amo_Rockerboy
      @Qreo_que_te_amo_Rockerboy ปีที่แล้ว

      @@JalexyDev желаю вам 10000000000000000000000000000000000000000000000000 подписчиков.этот коммент точно никогда кардинально не поменяет смысл)

  • @romanyoutubegame6202
    @romanyoutubegame6202 3 ปีที่แล้ว +1

    Вот самый основной вопрос, а более простыми словами можно это всё объяснять? Или вы там прикалываетесь, когда записываете очередное видео по обучению, чтобы пользователь не чесал голову именно над вашими словами и не разбирал их значение у себя в голове, а именно напрямую понимал что да как дальше делать. Что за индивиды с другой планеты..