Это видео недоступно.
Сожалеем об этом.

Как сделать 3D Игру на Python с Нуля [ Часть #2 Оптимизация ]

Поделиться
HTML-код
  • Опубликовано: 1 июн 2020
  • Второй урок по созданию с нуля простой псевдо 3d игры на основе Ray casting принципов, используя Python и Pygame.
    В этом уроке узнаем, как значительно ускорить движок игры и еще сделаем парочку интересный вещей.
    Для ускорения игры, в данном уроке предлагаю использовать свою интерпретацию DDA алгоритма (алгоритм растеризации отрезка)
    Код:
    github.com/StanislavPetrovV/R...
    #standalonecoder

Комментарии • 230

  • @aresont9372
    @aresont9372 4 года назад +40

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

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +18

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

    • @aresont9372
      @aresont9372 4 года назад +4

      @@StandaloneCoder ок, будем надеятся и идти в будущее 👍

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +12

      как временное решение, замени в файле ray_casting.py сточку, где вычисляем proj_height на:
      proj_height = min(PROJ_COEFF / depth, HEIGHT)

    • @NIVLON
      @NIVLON 3 года назад +1

      @@StandaloneCoder а у меня норм когда к стене подхожу

    • @underwater5555
      @underwater5555 2 года назад +8

      у меня наоборот фпс взлетает до 300

  • @mhdmodocluber9591
    @mhdmodocluber9591 4 года назад +49

    Спасибо тебе! Единственный, кто нормально и чётко объяснил, как делать рэйкаст! Ждём тутора по текстурам)

    • @user-lm9qr8hr1e
      @user-lm9qr8hr1e 3 года назад

      Ни хрена се четко, да там хуй знает что еще может бить, а он тебе за 10 минут объяснил ЧЕТКО рейкастинг.

    • @blockedchannel7032
      @blockedchannel7032 2 года назад

      @@user-lm9qr8hr1e А что тут сложного? Банальная геометрия 9 класса, лол

    • @blitzkrieg107
      @blitzkrieg107 Год назад +1

      @@blockedchannel7032 да только я 9 класс закончил лет 13 назад, и не повторял ее столько же, остальные 2 класса я прогуливал

  • @gandrew8102
    @gandrew8102 2 года назад +7

    АГООООННЬ!!! Создавать игру очень интересно, но тут столько формул, что голова просто взрывается)))))

  • @aresont9372
    @aresont9372 4 года назад +19

    Ты молодец, но кто-то как обычно лайк зажал.

  • @karenjantv2302
    @karenjantv2302 2 года назад +3

    Вау, это потрясающе, спасибо тебе за то что ты делаешь! Я очень рад, что нашел твой канал

  • @dmitriymatvienko4294
    @dmitriymatvienko4294 3 года назад +3

    спасибо большое за хорошие обьяснения и демонстрации, делай так по чаще)

  • @stevecom8184
    @stevecom8184 3 года назад

    Спасибо за видео и за весь плей-лист!))))))

  • @roll_the_relax
    @roll_the_relax 3 года назад +1

    ООООООООООчень редко пишу комменты! но!!! это поразительно!!!! однозначно "палец вверх" и подписка!!!!!
    270 - 290 FPS!!! Вы - гений в моих глазах.

  • @WhiteLightRus
    @WhiteLightRus 4 года назад +1

    Огонь! Вы молодец!

  • @user-xl3qu1yj4k
    @user-xl3qu1yj4k 4 года назад +1

    Круто! Ещё для 3D с Python есть библа Panda3D. Было бы круто если у тебя появился урок по этой библе.

  • @ASW_StormOfficial
    @ASW_StormOfficial Год назад

    я погнал на продолжение сюда))) Респект=) Мужыык)

  • @miles7610
    @miles7610 4 года назад

    Продолжай) Это топ!)

  • @user-dz5gt2vm2b
    @user-dz5gt2vm2b 4 года назад +1

    Ты как всегда крут!!!

  • @user-zo2vn5im2r
    @user-zo2vn5im2r 4 года назад +1

    Супер!!!! Лайк Тебе !!!! И подписка !!!

  • @a.l.uperccot4546
    @a.l.uperccot4546 3 года назад

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

  • @masclickofficial9196
    @masclickofficial9196 4 года назад +4

    не зря подписался

  • @angelinahoritonova5642
    @angelinahoritonova5642 2 года назад +2

    Ваши видео прекрасны. Пожалуйста дайте мне совет с вершины ваших знаний.
    Мне нужно в этот проект вписать несколько важных аспектов.
    1) Полоску жизни для главного героя.
    2) Получение урона он врагов ( Нигде нет об этом информации)
    3) Счётчик убитых врагов.

  • @zerox2536
    @zerox2536 Год назад

    КРУТЯК, спасибо огромное!!!

  • @Эйри
    @Эйри 7 месяцев назад +1

    Если честно, я в седьмом классе. Создал свою игрушку по твоему тутору - одноклассники в ах*е! Спасибо большое!

  • @uapb13
    @uapb13 4 года назад

    крутое продвижение по игре, добавь новых спрайтов типо врагов или просто нпс, что бы можно было что-то поделать)

  • @maingames5652
    @maingames5652 2 года назад +1

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

  • @____-wh3jo
    @____-wh3jo 4 года назад +1

    Крутой канал
    Я подписался

  • @PBryakin
    @PBryakin 9 месяцев назад

    Респект👍

  • @timurcult8310
    @timurcult8310 4 года назад

    круто! продолжай

  • @user-uk4ww6ln7q
    @user-uk4ww6ln7q 2 года назад

    Ты чертов гений!)

  • @marc_timeed4355
    @marc_timeed4355 Год назад +1

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

  • @Anonim-im6ln
    @Anonim-im6ln 3 года назад

    Бомба!)

  • @govdamikhaylo4183
    @govdamikhaylo4183 4 года назад +2

    У сюка код стал меньше, да настолько быстрее, кажется я не зря подписался:)

    • @______373
      @______373 3 года назад

      ща ещё код настолько быстрый что не догонишь

  • @user-ez3xy1sf3w
    @user-ez3xy1sf3w 3 года назад +1

    Вставки с видео и картинками зашли)

  • @userweignz
    @userweignz Год назад +1

    6:48 топ 1 жестких пранков

  • @store38ru
    @store38ru 4 года назад +3

    Обалдеть ты умный ! Видео просто топ! Я хоть и попадал в топ20 математиков на всеросе но я считаю что ты гений разработки игр и прикладной математики !!!! Хотим еще видео! Твои рассказы о играх - супер

  • @nandreyk
    @nandreyk 4 года назад

    Меня позабавил тот факт, что после оптимизации фпс начал падать не далеко от стен, а в близи от них. А еще понял, как один неверный символ (> вместо

    • @marc_timeed4355
      @marc_timeed4355 Год назад

      у меня на днях случился казус, когда я мис комком поставил запятую и складывал float с tuple и потом сутки не понимал почему программа не запускается ибо складывал я переменные совершенно в отличном модуле от того в котором поставил запятую, а дебаг показывал именно на тот в котором складывал)))

  • @diraimer
    @diraimer 3 года назад

    Отлично

  • @denizdemir9255
    @denizdemir9255 2 года назад

    awesome!!

  • @nomilious8093
    @nomilious8093 4 года назад

    ОГОНЬ!!!

  • @name1584
    @name1584 4 года назад +3

    А, так ты во второй части карту сделал)))

  • @cheetah5309
    @cheetah5309 3 года назад

    Доброго времени суток. У меня из-за меньшего разрешения экрана пришлось установить значение высоты на 640 (вместо 800) и поэтому мини-карта отображается не полностью (не видно нижней части). Не подскажете, как это можно исправить?

  • @user-xu3tl4mm8w
    @user-xu3tl4mm8w 4 года назад +1

    Все круто. Плиз сделай еще видос про 3d на python. 10 раз уже смотрел тот видос про 3д и ничего не понял.

    • @______373
      @______373 3 года назад

      x = (FOV / z) * x
      y = (FOV / z) * y
      вот формулы как найти на экране точку из 2D пространства. Думаю этого для создания 3D хватит.

  • @AENGINEERSA
    @AENGINEERSA 4 года назад +1

    Чувак проблема - у меня pycharm считает что init и quit имеют ошибки. Что делать?

  • @user-jc6rm8rr6g
    @user-jc6rm8rr6g 2 года назад

    Я кстати не могу ходить, вроде все правильно , а моя проекция стоит на месте

  • @smoke9238
    @smoke9238 4 года назад

    Четко

  • @Ilya1510
    @Ilya1510 2 года назад

    А если высоту поменял из за разрешения экрана какие настройки еще надо поменять чтобы корректно отобразилась карта?
    HEIGHT = 600

  • @user-dz5gt2vm2b
    @user-dz5gt2vm2b 4 года назад +1

    Давай продолжение с текстурами!!!

  • @endershteker90
    @endershteker90 3 года назад

    Гений

  • @SultanYusifzadeh
    @SultanYusifzadeh 2 года назад

    Здравствуйте, беретесь ли Вы за какие либо проекты на пайтоне?

  • @user-ls7lx7rq1o
    @user-ls7lx7rq1o 3 года назад +2

    Очень здорово,только после переписывания метода ray_casting сначала не запускалось,т.к. depth не принимал равным нулю, потом взяв условие depth != 0 все запустилось,но fps стал 580

  • @tipa.psevdo
    @tipa.psevdo Год назад +1

    привет, такая проблема: когда не водишь мышкой по экрану фпс больше 30 не бывает, а если водишь, то персонаж летает на огромной скорости, помоги пожалуйста((

  • @captaingames12
    @captaingames12 2 года назад +1

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

    • @VadimSuharnikov
      @VadimSuharnikov 2 года назад

      Для прототипа вполне себе можно, а вот для реализаци я бы взял бы что-то другое. Хоят в целом если всех все устраивает (python - инструмент) то зачем что-то менять?

    • @captaingames12
      @captaingames12 2 года назад

      @@VadimSuharnikov а создавать масштабные 3Д проекты на пайтоне очень сложно или невозможно?:)

    • @VadimSuharnikov
      @VadimSuharnikov 2 года назад

      @@captaingames12 Что в твоем понимание масштабные :)

    • @VadimSuharnikov
      @VadimSuharnikov 2 года назад

      @@captaingames12 Тут палка о двух канцах. Ты можешь взять производительный язык и погрузиться в чудесный мир достаточно низкоуровнего программировани, не факт что что-то дельное получишь. А можешь взять Python/JS какие-нибудь и не факт что слокнешься с проблемами проивзодительности сразу, но у тебя будет хоть какой-то готовый рабочий результат.

    • @captaingames12
      @captaingames12 2 года назад

      @@VadimSuharnikov допустим что-то на подобии майнкрафта)

  • @Andrewtort
    @Andrewtort 3 года назад +1

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

  • @vitka8002
    @vitka8002 3 года назад

    у меня получается после оптимизации то что поменялось движение(в смысле когда нажимаю w то он идет назад и т.д.)

  • @user-ef9cn5nl1e
    @user-ef9cn5nl1e 2 года назад +1

    Похоже на The Elder Scrolls 1 Arena

  • @user-td5qw7zi3z
    @user-td5qw7zi3z 4 года назад +1

    ПРосто топ

  • @emilfilipov169
    @emilfilipov169 8 месяцев назад

    I will write this in English because my writing skills in Russian are not very good.
    This videos series is amazing! I have been looking for some relatively easy way of making a small game to play with my kids!
    I was wondering if you can make a multiplayer game with ray tracing...

  • @Анекдоты-в2и
    @Анекдоты-в2и 18 дней назад

    👍👍👍👍👍👍👍👍👍👍👍

  • @nerklion
    @nerklion 3 года назад +1

    Помоги пж Traceback (most recent call last):
    File "D:/Programming/Python/3d game/main.py", line 26, in
    drawing.mini_map(player)
    File "D:\Programming\Python\3d game\drawing.py", line 25, in mini_map
    self.sc_map.fill(BLACK)
    AttributeError: 'Drawing' object has no attribute 'sc_map'
    Process finished with exit code 1

  • @ryanhackery6515
    @ryanhackery6515 2 года назад

    Люди либо автор. Помогите пожалуйста разобраться у меня версия python 3.4.0 подойдёт или нет а то у меня не скачюется

  • @honey661
    @honey661 3 года назад

    damn so good

  • @WsadMyYT
    @WsadMyYT 3 года назад

    хорошо, то что ты сделал оптимизацию, а то я до 4ггц разогнался

  • @Romanychev_Iliy_G7
    @Romanychev_Iliy_G7 3 года назад +1

    Го продолжение, создание уровней

  • @armanmaratuly1349
    @armanmaratuly1349 Год назад

    5:42 Как он это сделал?! Магия не иначе, или после выделения сочетание клавиш Ctrl + /

  • @faseplay.
    @faseplay. 3 года назад +2

    Очень круто.
    Но вот что произошло: видимо, я где-то совершил ошибку в реализации алгоритма нахождения стен, поэтому получился интересный результат: github.com/FasePlay/RayCastingPythonBug
    Вышло красиво, но, всё-таки, придётся искать ошибку

  • @tkmxl
    @tkmxl Месяц назад

    AttributeError: 'Drawing' object has no attribute 'world' что делать?

  • @Kostya_bro
    @Kostya_bro 2 года назад

    Игру можно оптимизировать если рисовать все эти линии не в классе а за классом для этого нужен какой-то плагин который я не помню как называется

  • @alexanderpadalka5708
    @alexanderpadalka5708 3 года назад

    🗽

  • @MrMagno-pv7js
    @MrMagno-pv7js 3 года назад +2

    Спасибо! Я пишу игру на C# и не совсем понимаю как работает новый алгоритм ray casting(не понимаю что означает TILE). Если кто-то объяснит, буду благодарен.

    • @legopro156
      @legopro156 3 года назад

      TILE - сторона блока в 2Д проекции

  • @Ilya1510
    @Ilya1510 2 года назад

    Не такой мощный комп но fps бьет от 350 - 371 это ошибка?

  • @user-lk2bt8mp9o
    @user-lk2bt8mp9o 2 года назад +2

    У меня у одного проблема, что нужно постоянно шевелить мышью? Если этого не делать, FPS падает до 25, игра лагает, персонаж двигается рывками. Но если же постоянно юлозить мышью по игровому экрану, всё как на видео 100-200 FPS, помогите пожалуйста в чём дело?(((

    • @user-lk2bt8mp9o
      @user-lk2bt8mp9o 2 года назад +2

      Разобрался, проблема была в неправильном отступе основного цикла... я идиот(

  • @Mikrov36
    @Mikrov36 6 месяцев назад

    всё супер но у меня игрок проходит сквозь стены это норм? а ещё изза того что у меня огромный фпс то игрок разгоняется до скорости света

  • @Psevdonimhm
    @Psevdonimhm 2 года назад

    У меня проблема в том то-что я работаю по приложению Atom, для python. А в этой программе я просто не могу запустить игру

  • @ed6280
    @ed6280 4 года назад

    Посоветуйте литературу в этом направлении питона, спасибо большое заранее. Лайк комментарий, если тоже интересно

  • @Mich77777
    @Mich77777 2 года назад

    3:45 что это за программа подскажите пожалуйста!

  • @parateam
    @parateam 2 года назад

    Нашел странный баг. При количестве лучей выше 400 у программы появляется графический пробел в рейкастинге. С чем это связано? Хочу 1000 лучей :(

  • @name1584
    @name1584 4 года назад +17

    Вот говорят некоторые дураки что программисту необязательно знать математику. Но мы-то знаем что это не так! Особенно после первой части.

    • @user-ze7wo4et9v
      @user-ze7wo4et9v 4 года назад +1

      Это ты дурак. Зачем, к примеру, frontend developer знать математику и геометрию?

    • @MeatBringer
      @MeatBringer 4 года назад +1

      @@user-ze7wo4et9v Для того чтобы считать свои финансы)

    • @neaf1sss
      @neaf1sss 3 года назад

      @@name1584 даже в вебе?))

    • @name1584
      @name1584 3 года назад +2

      @@neaf1sss, двигать кнопочки - не программирование. А вот в бэкенде, где уже реально программирование, без математики не обойтись)

    • @name1584
      @name1584 3 года назад

      @@user-ze7wo4et9v, ты и впрямь считаешь, что двигать кнопочки и подбирать цвет фона - программирование?)
      Хотя, я бы посмотрел как ты это делаешь без базовых знаний геометрии 😂

  • @Mich77777
    @Mich77777 2 года назад +1

    Что за горячие клавиши используются здесь скажите пж 5:41?

    • @armanmaratuly1349
      @armanmaratuly1349 Год назад

      10 месяцев прошло...
      Но не поздно чем никогда, сочетание клавиш Ctrl + / после выделения строк

  • @samuraiji6522
    @samuraiji6522 3 года назад

    Можете напомнить что значит текущий угол

  • @user-nx9hv3dx5w
    @user-nx9hv3dx5w 3 месяца назад

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

  • @user-re7ze9db5i
    @user-re7ze9db5i 3 года назад +2

    Сделал фитчу, которая подстраивает колличество лучей под производительность. Если движок рисует кадр за 1 \ FPS, то num_rays добавляю - и картинка становится четче. Если не успевает - отнимает num_rays, и картинка становится калькуляторнее.

    • @user-re7ze9db5i
      @user-re7ze9db5i 3 года назад +1

      Вообще мог извернуться и считать множители на управление, ну что-бы за кадр успевал проходить, поворачивать быстрее, если не успевает, но почему-то решил ухудшать графику.

    • @StandaloneCoder
      @StandaloneCoder  3 года назад +1

      Мне нравится такая идея. Это довольно оригинальный подход!

  • @Dinozawr1k
    @Dinozawr1k 2 года назад

    что делать если стена стала наоборот вогнутой

  • @user-gs1xw4kw6l
    @user-gs1xw4kw6l 4 года назад +2

    Я заметил, если увеличить ширину экрана игры, то стена будет отображаться не до конца экрана, не поможешь решить эту проблему пожалуйста?)

    • @StandaloneCoder
      @StandaloneCoder  4 года назад

      выбирай ширину кратную количеству лучам. Если лучей 300, то бери ширину 1500,1800 и т.д.

    • @user-gs1xw4kw6l
      @user-gs1xw4kw6l 4 года назад

      ​@@StandaloneCoder ​Спасибо большое!!

  • @user-ci5sl3jt7c
    @user-ci5sl3jt7c 2 года назад

    Что за трек играл ?

  • @alexmo6538
    @alexmo6538 2 года назад

    Долго соображал почему в цикле ray вычисляется синус и косинус текущего угла, в твоем варианте выглядит вот так:
    def ray_casting(sc, player_pos, player_angle):
    cur_angle = player_angle - HALF_FOV
    xo, yo = player_pos
    for ray in range(NUM_RAYS):
    sin_a = math.sin(cur_angle)
    cos_a = math.cos(cur_angle)
    for depth in range(MAX_DEPTH):
    x = xo + depth * cos_a
    y = yo + depth * sin_a
    pygame.draw.line(sc, DARKGRAY, player_pos, (x, y), 1)
    if (x // TILE * TILE, y // TILE * TILE) in world_map:
    break
    cur_angle += DELTA_ANGLE
    Перенес блок вычисления синуса и косинуса в цикл depth и ничего не изменилось, но код стал понятнее:
    def ray_casting(sc, player_pos, player_angle):
    cur_angle = player_angle - HALF_FOV
    xo, yo = player_pos
    for ray in range(NUM_RAYS):
    for depth in range(MAX_DEPTH):
    sin_a = math.sin(cur_angle)
    cos_a = math.cos(cur_angle)
    x = xo + depth * cos_a
    y = yo + depth * sin_a
    pygame.draw.line(sc, DARKGRAY, player_pos, (x, y), 1)
    if (x // TILE * TILE, y // TILE * TILE) in world_map:
    break
    cur_angle += DELTA_ANGLE

    • @StandaloneCoder
      @StandaloneCoder  2 года назад +1

      так ухудшили производительность только, вместо одно раза вычисления sin и cos - вы увеличили ненужные расчеты одного и того же значения (до в MAX_DEPTH раз). Сделайте карту с большим пространством и тогда увидите снижение производительности в вашем варианте

    • @alexmo6538
      @alexmo6538 2 года назад +1

      @@StandaloneCoder согласен со своей ошибкой.

  • @gamedev-9135
    @gamedev-9135 2 года назад +1

    Слушай, как исправить ходьбу сквозь стены?

    • @serj5931
      @serj5931 Год назад

      в следующих уроках там добавим хитбокс для игрока

  • @driftspick5903
    @driftspick5903 3 года назад

    У меня справа кусок экрана не видит ничего, помогите pliz ;(

  • @mynameisArseny
    @mynameisArseny 2 года назад

    а можно вопрос: как исправить ситуацию если границы некоторых стен пропадают?

    • @serj5931
      @serj5931 Год назад

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

  • @sonicstalkergames9279
    @sonicstalkergames9279 4 года назад

    Добавь прыжок и ускорение вместо выхода из игры на esc сделай меню , и добавь главное меню и меню выбора уровней в №3 части, и добавь в игру оружие и мультиплэйер в №4 части

    • @nandreyk
      @nandreyk 4 года назад

      фега чо захотел)

    • @shadow_blader192
      @shadow_blader192 Год назад

      если заплатишь может сделает

  • @tlegenov
    @tlegenov 4 года назад

    До того как ты показал как увеличит производительность у меня фпс был однозначным а после стало трехзначным

  • @hoh6587
    @hoh6587 4 года назад +2

    Сколько тебе лет?

  • @obuserkotikoff
    @obuserkotikoff 2 года назад

    Озвучка - "сдавайтесь человеки"

  • @viacheslavsemenov7289
    @viacheslavsemenov7289 3 года назад

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

  • @user-rb1zv6yg3v
    @user-rb1zv6yg3v 3 года назад

    FPS 71-75 с алгоритмом попиксельного поиска пересечений. FPS 243-303 с алгоритмом Брезенхема.

  • @harden2018
    @harden2018 11 месяцев назад

    drawing.background()
    ^^^^^^^
    NameError: name 'drawing' is not defined. Did you mean: 'Drawing'?
    и как это решить оно не видит drawing и заменяет на Drawing и всё равно ошибка...

    • @mik34329
      @mik34329 7 месяцев назад

      Короче ты забыл написать drawing= Drawing(sc)

  • @zairhanchataev9788
    @zairhanchataev9788 4 года назад

    Какой ты используеш Python 3.8.5 или 3.7.3

  • @parateam
    @parateam 2 года назад

    Самое странное что все жалуются на просадку фпс у стены,а у меня наоборот программа просто рвется от количества фпс рядом с стенами

  • @iondiscatch
    @iondiscatch 2 года назад

    Я не особо знаю питон, но нельзя использовать видеокарту для прорисовки?

    • @cosmonavt2376
      @cosmonavt2376 Год назад +2

      Нет

    • @iondiscatch
      @iondiscatch Год назад +2

      @@cosmonavt2376 я это понял уже полгода назад)

  • @andriykeker6178
    @andriykeker6178 Год назад

    Я поставил num_rays на 300 и ничего не поменялось

  • @user-ls7lx7rq1o
    @user-ls7lx7rq1o 3 года назад

    Уже нашел ответ в Вашем следующем видео,извините

  • @mrshprotter2696
    @mrshprotter2696 4 года назад +1

    depth_h = (y - yo) / sin_a
    вот тут ошибка деления на ноль, иногда

    • @StandaloneCoder
      @StandaloneCoder  4 года назад +1

      в таком случае добавьте после вычисления sin_a и cos_a эти строчки:
      sin_a = sin_a if sin_a else 0.000001
      cos_a = cos_a if cos_a else 0.000001

  • @userupset6
    @userupset6 2 года назад

    А если у меня угол будет 0.001 или 89.9999 то при нахождении гипотенузы ее длина уйдет почти в бесконечность , и тогда я выйду за рамки массива

  • @hedgehog8056
    @hedgehog8056 2 года назад +1

    3:15 Нифига низкий!!!! У меня 111 fps было!

  • @user-sf5jc4ju8e
    @user-sf5jc4ju8e 4 года назад

    Вапролджэ))))🤪