Пятница, 22 Ноября 2024, 08:46

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
возвращение в Megakerma
LiraДата: Пятница, 12 Ноября 2021, 03:19 | Сообщение # 1
почетный гость
Сейчас нет на сайте
вдохновившись DUSKом меня снова потянуло на игровое творчество, и я решила вернуться к Megakerma
я уже смирилась с его однозначным first person, но изучив новые для себя материалы, выяснилось что да, он всё-таки поддерживает скелетную анимацию, и можно прикрепить отдельную камеру к объекту start, это игрок и есть.
~~~
здесь я буду собирать свои материалы по Megakerma.
~~~
видеоролики:
third-person тест
меню и тест визуальных эффектов
новая система анимаций


Сообщение отредактировал Lira - Пятница, 19 Ноября 2021, 11:28
TLTДата: Пятница, 12 Ноября 2021, 13:11 | Сообщение # 2
Сейчас нет на сайте
Lira, это если механику игры придумать под возможности - жесткий компромисс. Думаю, возня не стоит свеч, тем более, разработчик забросил этот конструктор. Он ещё тогда сильно отставал по графике и возможностям... что уж говорить про сейчас и более доступные движки/конструкторы.

Дао, выраженное словами, не есть истинное Дао.
COOLGAMERДата: Пятница, 12 Ноября 2021, 17:29 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Lira, а может все таки перейти на Coppercube где и графика лучше и пример там такой есть.

Сообщение отредактировал COOLGAMER - Пятница, 12 Ноября 2021, 21:01
CoreДата: Пятница, 12 Ноября 2021, 19:13 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
COOLGAMER, А может на unity или godot? Где графика лучше и примеров таких 100500 есть.

LiraДата: Пятница, 12 Ноября 2021, 23:34 | Сообщение # 5
почетный гость
Сейчас нет на сайте
я знала что меня пошлют в другие программы, не буду спорить, что они лучше, но для меня мегакерма - самый дружелюбный конструктор.
я занимаюсь этим в первую очередь для себя, своего интереса. и только в мегакерме именно процесс приносит радость, разработка сама по себе игра, а не работа. всё понятно, разложено по полочкам, при этом множество возможностей для интересных идей.
моих умственных способностей, к сожалению, на большее не хватает. вернее концентрации.
я начинала делать игру и в юнити, даже писала свой код хоть и по шаблонам с уроками.
и даже с кучей комментариев так и не научилась в нём ориентироваться, просто стена текста. а в мегакерме всё настолько лаконично и просто, что можно придумать и воплотить множество интересных сценариев и оживить игру даже такому тормозу как я. его минимализм даёт мне свободу.
и графика для нужного мне ретро 3d вполне подходит. возможно, когда нибудь перейду на что то посерьёзнее, когда накоплю опыта и материалов, ведь они никуда не денутся после возни с мегакермой.
но мне есть ещё чем в нём заняться и что сотворить, и если всё-же получится изловчиться чтобы сделать играбельного персонажа, это будет для меня очень хорошо
TLTДата: Суббота, 13 Ноября 2021, 00:46 | Сообщение # 6
Сейчас нет на сайте
Задачу менее сумбурно описать, а то непонятно, что нужно. Я так полагаю, что это не понять, если не пользуешься Megakerma?

Глянул мануал, скрипт очень похож на Basic. Возможно, стоит попробовать конструкторы с этим ЯП, типа AppGameKit, 001 Game Creator... ладно, ладно... Больше не буду предлагать переход на другой движок.


Дао, выраженное словами, не есть истинное Дао.
LiraДата: Суббота, 13 Ноября 2021, 16:40 | Сообщение # 7
почетный гость
Сейчас нет на сайте
Можно не относиться слишком серьёзно.
Я из тех, кто пьёт чай только в любимой кружке, потому что из других не так вкусно х)
У меня уже есть некоторые успехи в моих экспериментах, результаты буду выкладывать в этой теме, может кому ещё будет интересно

Добавлено (15 Ноября 2021, 17:39)
---------------------------------------------
проблему удалось обойти заблокировав обзор мышью по вертикали. вместо этого добавила три режима камеры выше и ниже, которые меняются колёсиком. больше всего сил ушло на то, чтобы более менее адекватно прописать анимации к нужным действиям, больше сил нет.
но главной цели я добилась, играбельного персонажа сделать на Мегакерме реально...
видео


Сообщение отредактировал Lira - Понедельник, 15 Ноября 2021, 17:41
TLTДата: Понедельник, 15 Ноября 2021, 18:14 | Сообщение # 8
Сейчас нет на сайте
Цитата Lira ()
играбельного персонажа сделать на Мегакерме реально...


Неплохо получилось, А как камера ведёт себя в закрытых пространствах - заходит в стены?


Дао, выраженное словами, не есть истинное Дао.
LiraДата: Вторник, 16 Ноября 2021, 02:25 | Сообщение # 9
почетный гость
Сейчас нет на сайте
TLT, да, хотя коллизия у неё и объектов включена. возможно коллизия работает только с объектом старт, самим игроком. позже поэксперементирую с этим, может получится подогнать свойства

Добавлено (16 Ноября 2021, 16:36)
---------------------------------------------
Мне снова нужна помощь. понимаю, что никто не работает с мегакермой, но может логику можно объяснить?
ищу упрощённый способ воспроизводить анимации. на форуме есть такой урок, но видео уже не посмотреть:
анимация 3D объектов
там сказано что код нужно добавлять в событие STEP которое работает в реальном времени и выполняет скрипт каждый игровой кадр.

Код
PLAYANIMATION STOP

IFKEYDOWN 2
PLAYANIMATION pos1
ENDIF

IFKEYDOWN 3
PLAYANIMATION pos2
ENDIF

IFKEYDOWN 4
PLAYANIMATION pos3
ENDIF

IFKEYDOWN 5
PLAYANIMATION pos4
ENDIF


если кнопка зажата, выполняется анимация pos1, вот только событие начинается заново каждый раз, и в игре "застывает" лишь первый кадр анимации.
но если человек сделал урок и даже записал видео, у него всё работало нормально? я что то упускаю.

я в своём проекте ставила кучу переключателей, чтобы когда анимация уже запустилась, она не запускалась повторно. всё вышло сложно и запутано, ищу способ упростить, чтобы можно было добавить больше анимаций и условий их воспроизведения.
Fire_PhoenixДата: Среда, 17 Ноября 2021, 00:34 | Сообщение # 10
был не раз
Сейчас нет на сайте
Lira, здравствуйте :)

Перед прочтением этого сообщения: я отправил Вам письмо в ЛС - прочтите, возможно оно решит Вашу проблему ;)

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

Цитата Lira ()
если кнопка зажата, выполняется анимация pos1, вот только событие начинается заново каждый раз, и в игре "застывает" лишь первый кадр анимации.
но если человек сделал урок и даже записал видео, у него всё работало нормально? я что то упускаю.


На мой взгляд, это правильное поведение с точки зрения здравого смысла, ведь STEP скорее всего итерация, и вызывая в нем:
Код
PLAYANIMATION STOP


что по сути, как я понимаю просто переводит цикл воспроизведения к нулевому кадру, учитывая что в приведенной Вами теме есть такой код:
Цитата
Код
CREATEANIMATION hand1 STOP 0 0 2
CREATEANIMATION hand1 pos1 February 16 0
CREATEANIMATION hand1 pos2 30 40 2
CREATEANIMATION hand1 pos3 40 50 2
CREATEANIMATION hand1 pos4 16 March 30


а потом вызывая воспроизведение той же анимации с начала:

Код
IFKEYDOWN 3
PLAYANIMATION pos2
ENDIF




Вообще, я хоть и не работал с синтаксисом Megakerma, но пример из темы (из которой я привел код создания анимаций) для меня уже какой-то странный, если смотреть на manual, который Вы предоставили в начале этой темы:

Цитата
CREATEANIMATION
Description
Creates a new user defined animation sequence by extracting frames from an existing model.
Usage
CREATEANIMATION objectName animationName start end mode

Parameters
ObjectName – Name of the game object
AnimationName – Name of the animation
Start – The first frame number of the sequence
End – The last frame number of the sequence
Mode – Playing mode (1:loop, 2:ping-pong, 3:one shot)
Example
Код
CREATEANIMATION myHero Running 0 18 1



А что тогда происходит здесь:

Цитата
Код
CREATEANIMATION hand1 pos1 February 16 0


?

Давайте разберемся с параметрами:

hand1 - допустим, объект; pos1 - название анимации, February - это что, константа, в руководстве про это ничего нет, ладно пропустим, предположив что это константа, равная 2 и в качестве параметра это кадр начала анимации, 16 - кадр конца анимации; а 0 тогда что, если по идее, остался только режим анимации, но там нет 0 индекса (цитата: "1:loop, 2:ping-pong, 3:one shot").

То же самое и с:
Цитата
Код
CREATEANIMATION hand1 pos4 16 March 30


"March 30", если March снова 3, то что за режим 30? %)

Цитата
но если человек сделал урок и даже записал видео, у него всё работало нормально? я что то упускаю.


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

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




Сообщение отредактировал Fire_Phoenix - Среда, 17 Ноября 2021, 00:43
LiraДата: Среда, 17 Ноября 2021, 15:59 | Сообщение # 11
почетный гость
Сейчас нет на сайте
Fire_Phoenix, спасибо за отклик!
к сожалению тут есть некоторая путаница с терминами в мегакерме, существует два типа анимации:
первая - скелетная, которая задаёт кадры и воспроизводит анимацию самой модельки,
и вторая - анимация объекта в пространстве игры, которая имеет первый кадр (размер, позиция, направление) и последний кадр (изменённые парметры) и позже настраивается триггер, скорость, тип воспроизведения перехода из первого состояния во второе. можно например сделать движущуюся платформу или открывающуюся дверь.
в видеоуроке из ЛС как раз такой тип анимации, и такие команды как STARTANIMATION, STOPANIMATION, относятся ко второму типу.

"месяцы" - наверно действительно переведённые числа, глюк текстового редактора может, но да, всё равно странно)

я делаю своим способом, как раз с методом флагов, просто интересно, если у этого автора получилось, то каким образом..
пока что всё идёт хорошо, прогресс есть, хоть и не быстрый.
Fire_PhoenixДата: Среда, 17 Ноября 2021, 19:34 | Сообщение # 12
был не раз
Сейчас нет на сайте
Lira, желаю удачи в разработке :)

Цитата
просто интересно, если у этого автора получилось, то каким образом


Хм, а что если у автора часть про флаги просто опущена для примера?

Если я правильно понимаю, то коды клавиш для IFKEYDOWN, которые он использовал, соответствуют группе NUMBERS (исходя из руководства)? Возможно, в описании, он просто привел вид конструкции, чтобы показать, как запускается анимация - то есть упростил код.

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




Сообщение отредактировал Fire_Phoenix - Среда, 17 Ноября 2021, 19:39
LiraДата: Среда, 17 Ноября 2021, 21:47 | Сообщение # 13
почетный гость
Сейчас нет на сайте
Fire_Phoenix, спасибо!))

Добавлено (17 Ноября 2021, 21:48)
---------------------------------------------
шапка обновлена, добавлено новое видео на тему визуальных эффектов.

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


Сообщение отредактировал Lira - Пятница, 19 Ноября 2021, 11:27
Fire_PhoenixДата: Суббота, 20 Ноября 2021, 08:40 | Сообщение # 14
был не раз
Сейчас нет на сайте
Цитата Lira ()
однако, игра начинает фризить


Ну если учитывать, что:

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


Я же правильно понимаю, что для определения, есть ли у ГГ под ногами "земля", Вы используете CHECKINTERSECT?

Просто в конструкторе не указано, какая модель коллизии используется, и как она рассчитывается... Возможно, происходит подвисание из-за вычислений.

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

Подскажите, у Вас коллизии с "землей" и платформами происходит через группу, или Вы проверяете каждый объект в условии отдельно?

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



Повторюсь, не знаю ккакую систему расчетов использует Ваш конструктор, но если попробовать под ногами 3D модели Вашего ГГ разместить невидимый 3D объект - плоскость с минимально возможной толщиной, и использовать уже ее для расчета коллизии с землей, будет ли это давать какой-то прирост в вычислениях? ;) Если да, то можно создать полную модель для коллизий, и использовать уже ее.




Сообщение отредактировал Fire_Phoenix - Суббота, 20 Ноября 2021, 08:44
LiraДата: Суббота, 20 Ноября 2021, 11:28 | Сообщение # 15
почетный гость
Сейчас нет на сайте
Fire_Phoenix, движок в целом плохо оптимизирован, я уже делала небольшую игру давно, с гораздо меньшим количеством вычислений, и она тоже в какой то момент начинала тормозить...

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

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

я уже много тестила с "включённым счётчиком" - шло плавно, только когда всю систему анимаций выстроила, начало чуточку притормаживать..

я понимаю, что если много всего в игру добавлю, тормозов в любом случае не избежать. и это будет мало играбельно.
чтож, будем считать, что это мой арт-проект.
у меня ещё много идей, и скромная надежда, что если я покажу в интернете на что способна мегакерма, разработчик её воскресит, вдруг.
Fire_PhoenixДата: Суббота, 20 Ноября 2021, 12:59 | Сообщение # 16
был не раз
Сейчас нет на сайте
Lira, написал Вам в ЛС, поскольку мое сообщение больше касается обсуждения будущего Megakerma, а не разработки игры в нем ;)



Сообщение отредактировал Fire_Phoenix - Суббота, 20 Ноября 2021, 21:12
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг