Игровой движок Godot Engine 3D Простая и гибкая архитектура игры. + Интерактивные объекты.

Поділитися
Вставка
  • Опубліковано 8 вер 2024
  • Мои игры в Google Play - play.google.co...
    Мои игры на Yandex Games - yandex.ru/game...
    Мои игры в App Store - apps.apple.com...
    Все мои игры на Godot - pn.studio ВАЖНО! ВСЕ НОВЫЕ МАТЕРИАЛЫ БУДУТ ВЫХОДИТЬ НА ЯНДЕКС ДЗЕН
    y2u.ru?zen
    | -- СПАСИБО -- | #Godot3D #GodotEngine #Godot Побочка: skanersoft.ru
    - - - - - - - - -
    В этом видео мы переделываем проект, изменяя архитектуру его так, чтобы в дальнейшем его можно было модифицировать.
    Поддержите канал пожалуйста: onjs.ru
    Сотрудничество: goo.gl/cbMSz3
    Стать спонсором: / @godot3d
    === ИНФОРМАЦИЯ ===
    Патреон: goo.gl/rGBT1L
    Канал на UA-cam: goo.gl/fpOJLf
    Наш чат в Discord: / discord
    Группа ВК: skaner.soft
    Автор идеи и ведущий: skaner.game
    Партнерская программа для заработка на UA-cam: goo.gl/dnLFNR
    === ТЕХНОЛОГИИ ===
    Операционная система: Ubuntu 18.04 / Windows 1.0
    Запись видео: OBS
    Обработка звука: Audacity
    Монтаж: KDEnlive, Movavi
    Музыку можно найти в группе ВКонтакте
    GitHub с некоторыми проектами (исходники НЕ ВСЕ там): github.com/Ska...
    === ПЛЕЙЛИСТЫ ===
    GDScript Book (обучение GDScript)
    • GDScript Book - изучен...
    Создание 3D игр на Godot Engine
    • Уроки Godot Engine на ...
    Создание 2D игр на Godot Engine
    • Playlist
    Написание игр и приложений на NW.js
    • Playlist
    Основы создания игр на JavaScript с нуля + интересные решения для ваших игр
    • Создание игр на JavaSc...
    Интересные решения на JavaScript
    • Playlist
    Истории игровых движков
    • История движка
    Создание "арканоида" на чистом JavaScript с нуля
    • Как создать Arkanoid н...
    Создание 3D игр на C++
    • Playlist
    Программирование в Lazarus
    • Playlist
    Теги для поиска моих видео - #SkanerSoft #Skaner #ЗаЗдоровыйКод
    -- добавлено в 2020 году --
    ДРУГ, ПОДДЕРЖИ ПРОЕКТ!
    PATREON - / skaner
    БУСТИ - boosty.to/game3d
    UA-cam - / @godot3d

КОМЕНТАРІ • 81

  • @sbn0671
    @sbn0671 5 років тому +19

    Please make english tutorial videos. You are very good at this!

    • @moshamiracle
      @moshamiracle 5 років тому +10

      there are many godot lessons in english

  • @supersusmaster735
    @supersusmaster735 9 місяців тому +5

    На GODOT 4 способ с загрузкой уровня уже не работает. Я так понимаю, чем дальше по гайду, тем больше различий в коде.
    UPD: Ну с загрузкой я разобрался, и даже с загрузкой в фоне. А так все гайды SkanerSoft'а очень интересные, полезные и информативные. Пока что на русскоязычном ютубе нет толковых обучающих видео о создании 3D игры на GODOT. Жаль что автор перестал записывать видосы, хотелось бы возобновление гайдов на свежей версии движка GODOT 4))

  • @user-pm8uy5pb3c
    @user-pm8uy5pb3c 5 років тому +13

    интересно будет посмотреть на папку scenes через пару недель разработки

    • @FrelCop
      @FrelCop 5 років тому +1

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

  • @kaemey4330
    @kaemey4330 2 місяці тому

    Круто реализуешь, видно, что профи + умеешь обучать

  • @trampleman80
    @trampleman80 5 років тому +9

    Пара вопросов еще. Папка models в каждом уровне своя будет что ли? Имхо те объекты, которые встречаются во всех уровнях, можно было бы вынести из папки level. Ну и я бы сделал одну сцену action_object с mesh, static_body, action_area, а потом уже через унаследованные сцены сдеал бы отдельно ключ, отдельно коробку и все такое. Имхо проще было бы. Ну и еще вопрос, а почему ты не хочешь для построения уровня делать GridMap? Это тот же TileMap, только в 3д. Забил домики, деревья и другое окружение в тайлы и расставляй по карте

  • @user-pl5yc6et3h
    @user-pl5yc6et3h 8 місяців тому

    Уроки просто СУПЕР!!! Всё понятно, просто, доходчиво.

  • @перпунчик
    @перпунчик 5 років тому +5

    отлично получается

  • @xinotick
    @xinotick 3 роки тому

    Я посмотрел 10-яток твоих видео, ты лучший. Буду тебя дальше смотреть и учится.

  • @trampleman80
    @trampleman80 5 років тому +2

    Кстати, что бы не плодить четыре if на опрос управления, можно просто написать dir.x = Input.is_action_pressed("left") - Input.is_action_pressed("up") и тоже самое с dir.y :) Но это так, мелочь :)

    • @FoxSlyme
      @FoxSlyme 4 роки тому

      блин, чел, спасибо

  • @GreeDer79
    @GreeDer79 5 років тому +2

    наконец то!

  • @kolfeg5918
    @kolfeg5918 5 років тому +4

    ТАК ДЕРЖАТЬ ТАК ЛУЧШЕ

  • @autumnweaver2183
    @autumnweaver2183 Місяць тому

    помоему у вас на 40:40 7 и 8 строчка лишние. ведь null и без этого будет помещаться в данную переменую (G.action_object). я даже проверил выводом в консоль. работает и так.
    а, кажется я понял почему у вас так. у вас туда помещается просто null а не

  • @user-sw9ff1ow8h
    @user-sw9ff1ow8h 5 років тому +1

    Супер! Выздоравливай!

  • @leonidussaks
    @leonidussaks 5 років тому +7

    как всегда на высоте

  • @me2beats313
    @me2beats313 5 років тому +3

    👍⬆️

  • @user-sw9ff1ow8h
    @user-sw9ff1ow8h 5 років тому +1

    У Вас ещё сверху дома полигоны прозрачные. Возможно, нормали не в ту сторону торчат. Ctrl+N или Ctrl+Shift+N в блендере.

    • @Godot3D
      @Godot3D  5 років тому

      Там попросту нет полигонов))

  • @autumnweaver2183
    @autumnweaver2183 Місяць тому

    Еще не очень понятно зачем вот это - if !G.action_object: set_action_name('')
    насколько я понимаю если это оставить надпись не будет убираться если вы смотрите на другой объект, не на нуль, ведь у вас оставлена галка "colide with bodies" в свойствах рейкаста
    гораздо лучше сделать так:
    if G.action_object and 'action_name' in G.action_object:
    set_action_name(G.action_object.action_name)
    else: set_action_name('')

  • @trampleman80
    @trampleman80 5 років тому +3

    В raycast я бы сделал
    if is_colliding() and collide() != object:
    object = collide()
    else:
    object = null
    G.object_action = object

    • @autumnweaver2183
      @autumnweaver2183 Місяць тому

      дак ведь у вас G.object_action будет постоянно обнуляться, даже если вы смотрите на какой-то объект и не двигаетесь

  • @jarjaju9778
    @jarjaju9778 2 роки тому +1

    Petr Nagel, Расскажи как защитить игру от взлома или как создать игру так, что бы не взломали, то есть, если игра платная, чтоб лицензию не крякнули. Пожаааалуйста. Пожалуйста. Пожаааалуйста .

  • @3dnoob787
    @3dnoob787 4 роки тому +1

    В версии 3.2.2 почему-то нету выпуклого статичного тела, только вогнутое... нужно в объект воткнуть статичное тело, потом выпуклую область столкновения, а потом эту выпуклую область переткнуть из объекта к статичному телу, вот... еле разобрался, чтоб ошибку не показывало)) вдруг кому полезна информация будет... только статичное тело нужно будет по размеру объекта растянуть

  • @caseways4534
    @caseways4534 4 роки тому

    *Огромное спасибо!*

  • @StimSmit
    @StimSmit 3 роки тому +1

    0:25 "мои кровь, пот, слезы и другие жидкости..."
    © Мейбл Пайнс 3S1E

  • @l-oo-rd899
    @l-oo-rd899 5 років тому +2

    интересно будет посмотреть на папку scenes через пару не

    • @Godot3D
      @Godot3D  5 років тому

      Увы, не получится)

    • @FoxSlyme
      @FoxSlyme 4 роки тому +1

      ...через пару не
      ...дописанных сообщений

  • @saratani_art
    @saratani_art 11 місяців тому

    Какие же альтернативы есть в противовес синглтону? Наверное больше интересует, почему это этот подход может быть неверным?

  • @NewFunnyAnimations
    @NewFunnyAnimations 3 роки тому

    Спасибо, что делишься знаниями!

  • @SuperPracion
    @SuperPracion 4 роки тому

    17:04 А если будет большое кол-во сцен, например между уровнями, тогда механика с переходом в ту или иную сцену исчерпает себя...

  • @hookiefox
    @hookiefox 5 років тому +2

    Случалась ли у кого нибудь проблема с пропаданием изображений в игре на Godot,запущенном на Android? Как это исправить?

    • @Godot3D
      @Godot3D  5 років тому

      2D проект?

    • @hookiefox
      @hookiefox 5 років тому

      @@Godot3D Агась

    • @Godot3D
      @Godot3D  5 років тому +1

      @@hookiefox Я в 2D не сильно шарю... можешь к нам чат заглянуть: y2u.ru?чат

  • @bodamat
    @bodamat 5 років тому

    Спасибо большое. Очень помог!

  • @fordel_0
    @fordel_0 5 років тому +3

    Напиши хорор на godot

  • @SanyaSanyavich
    @SanyaSanyavich 5 років тому

    Круто

  • @GameStoriesNCH
    @GameStoriesNCH 5 років тому +1

    Пётр, подскажи, пожалуйста, как запускать игру на Linux Godot Server через терминал?

  • @danyaalexandrov385
    @danyaalexandrov385 3 роки тому +2

    блеееен, у меня всегда проблемы, в кусочке кода который сканер писал if G.action_object && 'action_name in G.action_object:' (41:50), как только я кликаю на обьект с целью поднять, вылазит ошибка "invalid operands 'String' and 'object' in operator 'in' " в чём может быть ошибка?

    • @Godot3D
      @Godot3D  3 роки тому

      Внимательно сравни мою строчку и свою

    • @danyaalexandrov385
      @danyaalexandrov385 3 роки тому +1

      @@Godot3D func _physics_process(delta):
      if !Global.action_object:
      set_action_name(' ')
      elif Global.action_object && 'action_name' in Global.action_object:
      set_action_name(Global.action_object.action_name) единственное отличия которое я нашел - у меня синглтон называеться Global а не G :\

    • @danyaalexandrov385
      @danyaalexandrov385 3 роки тому +1

      такой гемор, третий день не могу исправить казалось бы простой баг :\

    • @---cock4449
      @---cock4449 2 роки тому

      Как решил, братюнь?

  • @user-tv8nn9rb7t
    @user-tv8nn9rb7t 9 місяців тому

    У меня почему-то последняя часть урока не получается где вы делаете на объект добавляете action он у меня не определился не пишет на какой объект направлен и нет подбора объекта

    • @user-tv8nn9rb7t
      @user-tv8nn9rb7t 9 місяців тому

      Подскажите как можно ещё

  • @dreab7905
    @dreab7905 4 роки тому

    W 0:00:00.467 The function 'change_scene()' returns a value, but this value is never used.
    RETURN_VALUE_DISCARDED
    global.gd:6
    не работает

    • @dreab7905
      @dreab7905 4 роки тому

      все откатил а потом оказалось что автоматом когда скобки ("++") выскакивают то там лишний знак стоял поэтому ошибку выдавала

  • @DrawingTimeLapse
    @DrawingTimeLapse 5 років тому +1

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

    • @Godot3D
      @Godot3D  5 років тому

      Я игру уже написал по этому принципу)

  • @vladyan01
    @vladyan01 2 роки тому

    Гдскрипт транслируется в плюсы или как оно устроено в готовой игре?

  • @BARNY509
    @BARNY509 3 місяці тому

    у меня у одного объект head не добавляется и пишет что нельзя т.к. разные сцены

  • @storiz05
    @storiz05 4 роки тому

    Invalid call. Nonexistent function 'action (via call)' in base 'StaticBody'. На последнем этапе выскакивает вот такая ошибка. Может ли кто-нибудь подсказать как её решить?

    • @sgm23
      @sgm23 2 роки тому

      у меня тоже такая ошибка, не помнишь как ее ты решил?

  • @Stereopadness
    @Stereopadness Місяць тому

    Обнови гайд

  • @FoxSlyme
    @FoxSlyme 4 роки тому

    35:20 что это такое сверху появилось?

  • @levelgd9729
    @levelgd9729 5 років тому

    Order Road - лучшая игра на годоте.

  • @user-rs4pp9sp8i
    @user-rs4pp9sp8i 5 років тому

    как сделать сумку с обьектфми какиє взял

  • @user-ub4hw4zo8s
    @user-ub4hw4zo8s 5 років тому +1

    А проект, better than unity все?

    • @Godot3D
      @Godot3D  5 років тому +2

      Не а) Он скоро появится на канале)

    • @user-ub4hw4zo8s
      @user-ub4hw4zo8s 5 років тому +1

      @@Godot3D тогда жду)

    • @oz669
      @oz669 4 роки тому

      @@Godot3D Появился?:D Или я плохо искал?:D

  • @Heronzavr
    @Heronzavr 5 місяців тому

    Где 3d чëрный экран

  • @Gektor3000
    @Gektor3000 5 років тому

    Видео о том, как не нужно собирать проекты)

    • @arkadiyviking3919
      @arkadiyviking3919 4 роки тому +5

      Может получится кратко описать как тогда нужно собирать проекты?

  • @f4rid953
    @f4rid953 5 років тому

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

    • @Godot3D
      @Godot3D  5 років тому

      Якоря)

    • @f4rid953
      @f4rid953 5 років тому

      @@Godot3D всм?

    • @Godot3D
      @Godot3D  5 років тому

      Контролы (зеленые) можно привязывать к краям окна) Через Макет.

    • @f4rid953
      @f4rid953 5 років тому

      @@Godot3D аааа, спс огромноее

    • @f4rid953
      @f4rid953 5 років тому

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

  • @arianmanchurin7149
    @arianmanchurin7149 4 роки тому

    Научи делать сохранения

  • @pita7447
    @pita7447 2 роки тому

    Что значит G. ????

    • @user-igor_kotori_dima
      @user-igor_kotori_dima Рік тому

      G. Это ссылка на тот синглтон (глобальный скрипт) который нам нужно сейчас использовать ( здесь он его создаёт 10:50 )

  • @playplay1875
    @playplay1875 Рік тому

    памагите не работает

  • @omkar2420
    @omkar2420 Рік тому

    Всё ты выдума, нет никакого
    func action, я пробовал, ни-ху-я

  • @GORDRIGES
    @GORDRIGES 4 роки тому

    На каком языке пишешь? И на каком можно вообще писать?

    • @zenhammer1118
      @zenhammer1118 3 роки тому

      GDscript используется в Godo engine, но есть и Mono верия движка, там можно писать на C# и вроде С++, но эти языки в Godo не особо сильно развиты и имеют ошибки и т.д. По крайней мере я так слышал.