Аноны, есть простейший вопрос по физике.Учусь на программиста, делаю курсач с другом НА ЮНИТИ, весь код и спрайты свои. Я пишу код и анимирую спрайты, он рисует спрайты.Игра - раннер, качок бежит за курицей. Игрок управляет качком, прыгая в нужный момент, курица должна маняврировать и перепрыгивать с платформы на платформу, убегая от игрока.ЗАДАЧА: мне нужна формула, по которой курица сможет автоматически рассчитывать прыжок по дуге, как на втором пике. Скажите, куда копать в этом направлении или дайте уже существующую формулу.
>>222442873Спасибо, буду разбираться. Если кто-то еще что-то кинет, то буду признателен. Собственно, если кто еще не понял, проблема как на этой вебм - курица должна подпрыгивать, как только видит, что под ней нихуя нет. На сколько подпрыгивать и как далеко - вопрос.
делай дальность прыжка такую, чтобы она смогла перепрыгивать все препятствия, и пусть прыгает у края \ при подходе
>>222443195Вот начало уровня. Как видишь, платформы находятся на разном расстоянии. Сделаю прыжок одной силы для курицы, чтобы курица прыгала каждый раз далеко, то она будет перелетать некоторые препятствия и падать вниз.
>>222442505 (OP)Вот тебе КОСТЫЛЬЗаранее сам записываешь паттерн курицы(как будто управляешь кочком), а потом в игре воспроизводишь. И никакой ебли с формулами.
>>222443494Могу. Могу поставить везде триггеры, при вхождении в которых курица будет прыгать с заданной силой. Но это все придется вручную вымерять, для каждого куска уровня, а уровней у меня немало.
>>222442505 (OP)Ну для начала тебе надо формулу длины дуги вычислить. Затем тебе надо вычислитт силу прыжка для того чтобы преодолеть это расстояние. И если у тебя физика прыжка работает так что чем дольше жмешь на кнопку тем выше прыжок с сохранением скорости, то по сути для курицы тебе надо будет вычислить это самое время нажатия и подставить в ее метод прыжка. А вот для того чтобы с края прыгала, ты можешь либо ставить точку триггер на самый край, либо как то вычислять, чтобы 1 раз вбил в нее код и забыл про это.
>>222442505 (OP)У меня вопрос к геймдизайну игрушки. В чем цель игры? Качку надо поймать курицу, или она просто как декорация? Если декорация, то зачем она вообще нужна? Или цель как можно быстрее поймать курицу?
>>222443040К курице добавь объект с триггером, поставь его перед лицом курицы, на него повесь скрипт проверяющий наличие ground (проверка как с прыжками, что бы нельзя было несколько раз подряд прыгнуть). If (faceGround == false) Jump().Можешь прыжок всегда одинаковым, но это скучный вариант.Если хочешь прыжки разной длинны, нужно думать. Вот что мне первое пришло в голову. К объекту с триггером цепляешь еще один, содержащий 5-10 кубов тригеров, каждый из которых проверяет isGround. Чем больше кубов с isGround == false, тем больше значение jumpForce, которое передаешь в Jump().Классные спрайты. Мне нравятся.Мимогеймдизайнер
>>222444269Вкратце - в мире не осталось курицы и обезумевший качок гоняется за последней курицей по разным локациям, продвигаясь по сюжету. По пути попадаются разные враги, банки с протеином (для сбора), препятствия на пути, через которые нужно перепрыгивать(шипы, лужи с кислотой, пилы). Игрок пробегает уровень - получает пару картинок с сюжетом. В конце игры, при прохождении всего сюжета игрок ловит курицу. Пока что что-то такое.
>>222444807Ну в целом годный сюжет, я не помню ни одного раннера где бы финишная цель все время бежала перед гг и её нельзя было поймать.
>>222444441Еще одна мысль в голову пришла. Расстояние можно измерить при помощи Raycast и Vector3.Distance.https://docs.unity3d.com/ScriptReference/Vector3.Distance.html>>222444761С#?
>>222442505 (OP)Вариант с триггером - рабочий. Пусть эта тварь всегда подпрыгивает перед препятствием с одинаковой силой. Если падая все еще нет опоры - пусть сволота машет потешно крыльями и еще раз подпрыгивает
>>222443109Ты видимо тоже хуй сосал, это в 7 классе не проходят, обычно в 10. Тем более такими вопросами разбирается механика как отдельная наука, хуета ты лысая
>>222445086Двачаю, и пусть еще кудахтает когда прыгает, а при приземлении чтобы из неё перья сыпались.
>>222444441Точно. Можно cделать несколько лучей, который будут обозначать разную силу прыжка. 1 луч определяет пустоту под собой - 800 ед силы прыжка.2 луч определяет пустоту под собой - 1200 ед силы прыжка.3 луч определяет пустоту под собой - 1500 ед силы прыжка.4 луч определяет пустоту под собой - 2000 ед силы прыжка.
Если нужна будет помощь с гейм-дизайном, левел дизайном, балансом или плейтестами - пиши на [email protected]Мимо гей-дизайнер
Каким образом ты пытаешься это реализовать? В твоей игре учитываются величина силы? Или курица будет просто двигаться по просчитанной дуге, в зависимости от расстояния до края следующей платформы?
>>222442505 (OP)И это, сделай, чтоб расстояние до курицы не одно и тоже было, а менялось - например становилось ближе к концу уровня или просто рандомно. Добавит динамики и веселья
Блин, ОП, молю, кинь демку. Я хочу в это сыграть, выглядит охуенно! Я б рублей за 50 даже в стиме купил.
>>222445760Мы делаем с другом игру без денег, на энтузиазме, не думаю, что тебе хочется работать за просто так.
>>222445827Да, в юнити есть возможность делать прыжки по дуге, прикладывая к телу импульс. Если пойму, как легче это реализовать, то буду думать в эту сторону. Может быть придется написать собственную физику для прыжка курицы по дуге, не используя встроенную в юнити физику.
>>222445998А где ты такого друга взял, который так красиво может всё нарисовать? Я уже годами хочу свою игру попробовать сделать (умею кодить на java, php, python, c++, то есть c# проблемой не будет). И я никак не могу найти чувака, который бесплатно бы клепал арты.
>>222445998>что тебе хочется работать за просто такХочется и тому есть несколько причин. Мне слегка поднадоели коммерческие проекты и тестовые задания. Мне нравится арт. Мне нравится твой адекватный подход к запросу на помощь. Почему бы не уделить немного времени на любопытный проект?
>>222446436Не-не-не, он охуенно сделал. Во-первых, ему это презентовать преподавателям, это раз. Во-вторых, качок - это нейтральный персонаж. А фитоняша с задницей уже вызывает некоторые эмоции и приятна далеко не всем.
>>222442505 (OP)Завидую тебе опик, учишься на интересной специальности, есть друг с которым пилите совместный проект, так еще и игрушку.В рашке вообще есть институты нацеленные на обучение игроделов?
>>222445882Я создам тред в /gd/, когда сделаю1)Прыгающую курицу2)Собираемые объекты3)Пару враговЧтобы уровень был хотя бы немного интересен. Там треды висят годами, думаю найдешь.
>>222446981ОП, подкину тебе идею. Сделай ей стандартный прыжок, но если под ней нет земли - она будет планировать на крыльях лол. Таким образом ты избавишь себя от ебли с формулами и разнообразишь графен
>>222447142Ну бля а откуда вообще игровые студии берутся? Типа собираются три программиста и два дизайнера и называются девелоперами? А геймдизайнеры и сценаристы откуда берутся?
>>222444807Бля, вместо качка Невского-Курицына бы или ниггу (лучше не негра, а то ОПа из универа попросят)
>>222447016Вот ситуация - нужно быстро прыгнуть 4 раза. Прыг-прыг-прыг-прыг. Планирование курицы в этом случае может обосраться и она упадет под уровень прямо перед недоумевающим игроком.
>>222447249>>222445086Вот ситуация - нужно быстро прыгнуть 4 раза. Прыг-прыг-прыг-прыг. Планирование курицы в этом случае может обосраться и она упадет под уровень прямо перед недоумевающим игроком.
>>222448299Негр бежит за курицей из kfs, попутно ловя арбузы. Игра будет называться Beefcake life matters, отличная идея
>>222442505 (OP)>мне нужна формула, по которой курица сможет автоматически рассчитывать прыжок по дуге,E=MC²мимо 9 классов других не знаю
>>222442505 (OP)Ты тупой скот. Это школьная программа, движение по параболе. Не быть тебе похромистом.
>>222451030Конечно, ставишь тригер в нужном моменте - воспроизводится скрипт и курица прыгает. Нахуя тут что-то выдумывать - мне не понятно. Ты ещё игровой ИИ курице начни высирать в поделии уровня игра от школьников на Pygame.
>>222451409Расстояние между платформами разное + курица должна ускоряться и замедляться вместе с качком
>>222442505 (OP)L <= длина препятствия (которую курица должна будет перепрыгнуть)V <= скорость линейного движения курицы (c которой она бежит по горизонтали)g <= ускорение свободного падения в твоей игре (насколько быстро курица разгоняется вниз, когда падает)U0 = (gL)/(2V) - будет начальная скорость вверх, с которой курица должна подпрыгнуть.Координаты курицы во время прыжка (считаю, что она прыгает в (0, 0):X = Vt (горизонтальное перемещение)Y = U0t - (gtt)/2 (высота)
>>222451409Представь, что уровень генерируется по отрезкам, а не статичен. И кусочков много. Штук 100. Про коллайдеры с триггером я и сам догадался, только вот нахуя мне тратить кучу часов на расставление коллайдеров, если есть возможность рассчитать прыжок по дуге.
>>222451543Ну генерируется он, и чё? Почему бы тебе не создать несколько шаблонов с этими отрезками, в начале которого ты ставишь необходимую высоту прыжка для курицы, ну а дальше пусть уже генерирует какие хочешь уровни. Посмотри как делают люди, которые занимаются играми столько, сколько ты ещё на этом свете не прожил, те же фираксисы так и делают. Там их уровни пусть и рандомно генерируются, но из заранее заготовленных кусков. Иначе никакого геймдизайна бы в хкоме и не пахло от этой генерации бесполезной.
>>222442505 (OP)Блджад ты серьезно? Как ты на похроммистскую специальность поступил, если не знаешь 6 класс физики?
>>222452257>если не знаешь 6 класс физики>похроммистскую специальностьСёрнул с ебаната. Зачем в погромировании физика? Транзисторы считать?
>>222442505 (OP)ОП, ты какую-то ерунду делаешь. Почему у тебя курица должна прыгать на разные расстояния (в силу разных препятствий)? Предположим, что ты считаешь это красиво, но тогда основная проблема не в реализации курицы, а в реализации геймплея игрока, он тоже должен прыгать на разные расстояния. От чего это зависит? Нужно зажимать пробел перед прыжком? Или ты хочешь, чтобы перед каждым новым препятствием игра сама высчитывала длину прыжка и для игрока?
>>222442505 (OP)>качек белыйРасист! Расист! Фу быть ебаным расистом, фу! Давай адрес вуза - я жалобу на тебя буду писать.
>>222452640Я перед созданием игры скачал штук 15 разных 2d-раннеров, посмотрел, как они сделали. Они делают либо 1)двойной прыжок 2)короткий прыжок при коротком нажатии на пробел и длинный прыжок при долгом нажатии пробел.3)Комбинирование первого и второго.Я сделал так же. Возможность двойного прыжка+при зажатии пробела персонаж медленнее падает, за счет чего повышается длительность прыжка.
>>222442505 (OP)Решить проблему, конечно, можно кучей способов, как в треде насоветовали, но вычисление силы прыжка по формуле выглядело бы более элегантно и без костылей. Делай лучше как задумал.
>>222449448Так я ж не про планирование, а про дабл/трипл джампы. Пущай курятина крыльями машет, пока под лапами земли не окажется. Это и реализовать элементарно, и для рандомных уровней подойдет - перед препятствием - триггер. Если координата петухевена ниже пола - машет крыльями и взлетает
>>222455142Идея с фитоняшкой с жопой норм. Чтобы было 2 гг - парень и тян. Разную одежду тоже легко сделать - поверх тела качка просто налепить разную одежду, либо заменять спрайты самого тела на другие.
Ну смотри, берешь свои надизайненные левлы, находишь самый короткую яму. Делишь ее длинну на два, это будет расстояние взлета-падения = x. Ставишь два датчика земли (выше расписали), один вплотную, один на расстоянии х. Когда тригерится датчик вплотную к курице, курица по гипотенузе треугольника с катетами х и у (у - высота полета, выберешь сам) (х по горизонтали) взлетает и смешно машет крыльями в воздухе. Когда тригерится второй датчик и курица в воздухе - она по той же траектории опускается. Если надо, херану рисунок.Если заюзаешь это - называй магазин карасик молл
>>222445735Не особо будет работать в случае с узкими платформами, курица не будет на них прыгать - будет всегда прыгать выше, дисбаланс
>>222455933Только у = разница между фиксированной высотой полета и высотой следующей платформыСамофикс
>>222442505 (OP)Короче. Когда курица подбегает к краю, определяешь её расстояние до следующей платформы и координаты середины между курицей и следующей платформы. Далее меняешь y координату курицы так, чтобы (Y + M.y)^2= r^2-(X+M.x)^2, где X и Y - координаты курицы, M - определённые в первом кадре координаты середины, r - расстояние от курицы до платформы, делённое на два. Если всё сделано правильно, курица опишет красивую окружность. Ray советую кастить не под курицу, а на место впереди неё, чтобы она прыгала до того как сойдёт с платформы.
>>222457546Ща бы в 2020 думать, что кодеры днями сидят на работе и переводят математические формулы в код.
>>222458768>>222459008Иди нахуй, если бы еще что-то нормальное пиарил, а не эту порнопарашу и "илитарную" раковальню
Тред не читал, это же блять просто парабола по двум координатам, скорость движения по ней можешь на глаз ебануть, можешь прям рассчитатывать для каждого прыжка.