Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 20 9 10
Godot #81 Аноним 19/06/26 Птн 09:50:31 1092274 1
totot.png 838Кб, 890x850
890x850
1656686083524.webm 1595Кб, 1080x1080, 00:00:11
1080x1080
Видео-16-06-202[...].mp4 9268Кб, 1920x1080, 00:00:32
1920x1080
Homyaki3.mp4 6903Кб, 1600x898, 00:00:21
1600x898
Аноним 19/06/26 Птн 10:12:34 1092276 2
Перекатился на 4.7. Аддон диаложик сломался, потому что некоторые функции у него что-то не возвращали.

Проставил return'ы, теперь всё норм
Аноним 19/06/26 Птн 10:22:24 1092277 3
>>1092274 (OP)
Посмотрел видос, впечатляет. Вроде ничего особенного, но по отдельности куча полезных мелочей.
Аноним 19/06/26 Птн 11:47:04 1092290 4
image.png 66Кб, 1005x723
1005x723
Все теперь нельзя шаблоны для годота 4.7 для жителей необъятной скачать?
Аноним 19/06/26 Птн 12:46:30 1092306 5
>>1092290
Давно уже. Год как. С добрым утром. (Нет)
Аноним 19/06/26 Птн 13:14:52 1092308 6
>>1092274 (OP)
>последний видос
Это уже старенький билд хомяков, я в субшоте свежее на прошолой неделе выкладывал: >>1091761 →
Но спасибо, второй раз в шапке, приятно
Аноним 19/06/26 Птн 18:40:31 1092340 7
хехех.jpg 76Кб, 540x1400
540x1400
хомяки.jpg 405Кб, 1600x2160
1600x2160
>>1092274 (OP)
Неожиданный логотип, но мне нравится. Откуда?

>>1092290
Несколько вариантов решения:
1. Качать напрямую с GitHub одним паком (1.2 Гб):
https://github.com/godotengine/godot-builds/releases/download/4.7-stable/Godot_v4.7-stable_export_templates.tpz
2. Скачать исходники (44 Мб) и собрать самому:
https://github.com/godotengine/godot-builds/releases/download/4.7-stable/godot-4.7-stable.tar.xz
https://docs.godotengine.org/en/stable/engine_details/development/compiling/index.html
Это недолго, нужно только компиляторы добыть.
3. Для Windows/Linux/MacOS можно использовать стандартный editor build в качестве "плеера игры". Единственный минус - editor build в debug режиме и поэтому может быть чуть медленнее release build.
4. Покупать/настраивать средства обхода...
Рекомендую вариант 2 - пригодится в будущем.
А если ты игру/утилиту для себя делаешь - то 3.

>>1092308
>Это уже старенький билд
Почувствовал себя старым...
Аноним 19/06/26 Птн 19:05:46 1092345 8
Как же меня векторная математика раздражает...

Как думаете, нормально ли костыльнуть моё личное неудобство с матрицами и векторами банальнейшим размещением пустых Node3D в сцене? Уже делал так несколько раз, но боюсь, что это слишком "не труъ"...

Пример (не уверен пока, как лучше):
>Player: CharacterBody3D
>— Yaw: Node3D
>— — Pitch: Node3D
>— — — Roll: Node3D
>— — — — Vector: MeshInstance3D
Player - то, к чему нужно применить силу.
Yaw, Pitch, Roll - для вращения вектора...
Vector - debug-репрезентация вектора.

Так я хотя бы визуально буду видеть, что я делаю...
Реально тяжело представить вектор мысленно...
Аноним 19/06/26 Птн 19:09:00 1092346 9
>>1092345
Нормально. Я так делал. Многие так делали. Я так делал, когда не понимал в матане, и сейчас, когда понимаю в матане, тоже так сделаю при случае.
Аноним 19/06/26 Птн 19:16:21 1092347 10
>>1092345
>нужно применить силу
Вообще, ещё непонятно, возможно ли и как вращать CharacterBody3D. Т.к. у него отсуствуют методы для физического поворота (в отличие от RigidBody3D), то остаётся только вращение через Transform3D, но для персонажа не идеально сферической формы такое вращение грозит попаданием в чужие коллизии... Я склоняюсь к тому, что CharacterBody3D невозможно безопасно вращать (кроме оси Y, если используется цилиндр или капсула без коллизий рук-ног), так что приходится вращать только визуальную модельку. Сложности с трансформацией векторов растут.

Я подумывал/пробовал использовать вращение визуализации персонажа в расчётах физики, но мне кажется, что такая лапша взаимосвязей в будущем усложняет... да всё усложняет. Поэтому хочу такую отдельную ветку из нод чисто под физику, чтобы абстрагироваться от реальной 3D модельки...

>>1092346
>Многие так делали
Что-то нигде такого не видел/не слышал. Зато много рассказов о том, как плохо иметь избыточные ноды. Видел, как визуально простые игры использовали оптимизацию через серверы Godot, лишь бы на количестве нод сэкономить. Дерево с тех пор вроде оптимизировали, но всё равно не всё идеально...
>понимаю в матане, тоже так сделаю при случае
Почему? Не получается удержать все векторы?
Аноним 19/06/26 Птн 19:19:03 1092349 11
>>1092347
> Почему? Не получается удержать все векторы?
Потому что комбинацией нод по факту все эти векторные операции делаются в кишках движка на сишном ядре.
Векторов лучше обмазать поверх композиции нод.
Аноним 19/06/26 Птн 19:24:07 1092350 12
image.png 26Кб, 1057x113
1057x113
image.png 16Кб, 541x147
541x147
Кто не понел отсылочки, тот малолетнее bydlo
Аноним 19/06/26 Птн 19:29:32 1092351 13
Аноним 19/06/26 Птн 19:36:06 1092352 14
>>1092349
Так ты в любом случае вызовы API делаешь - те же Vector3, Basis, Transform3D и т.д. С нодами суть в их визуализации на экране, т.к. без нод эти классы - абстрактные массивы чисел без какого-то значения.

Тип, мне нужно такое:
>velocity += force
Я мог бы сделать это так:
>force = vector.rotate...rotate...rotate... # wtf
Но мне было бы удобнее так:
>$Helper1.rotate...
>$Helper2.rotate...
>velocity += $Helper3.global_basis.Y
Т.е. Basis.Y можно увидеть прям в окне редактора.

Выходит, этот способ в разы затратнее по ресурсам.

Вслепую стакать вызовы Vector/Transform тяжело...
Аноним 19/06/26 Птн 19:48:59 1092354 15
>>1092352
А, и да, я много слышал, что нужны Quaternions, тип выгоднее по сравнению с вращением векторов, но я вообще не понимаю их. Смотрел визуализации и не разобрался. Обычно, когда игрок жмёт кнопки, тут понятно - влево-вправо, вверх-вниз, и т.д. А вот как превращать нажатия в Quaternion и обратно неясно. С gymbal lock ещё не сталкивался на практике...

Так что пока по классике векторы вращаю.
Аноним 20/06/26 Суб 06:04:52 1092402 16
Гайс, а как нормально аддон устанавливать чтобы без ошибок? А то у меня иногда вообще всю папку удаляет с аддонами
Аноним 20/06/26 Суб 07:53:06 1092406 17
>>1092354
Потому что кватернионы про другое. Они не про векторы движения, а про вращение. Незаменимы при создании анимаций. Почему так? Вот представь себе самолет, давай просто выключим физику и он в воздухе висит всё время, но вращаться может. Ты берешь и вводишь его в штопор, то есть он тупо смотрит вниз. У тебя из трех осей наклона лишь одна не в нуле, она 90 градусов, две оставшиеся в нуле, а потому тупо параллельны. И теперь ты хочешь его вынести его из штопора. Для этого что надо сделать? Два оставшихся угла из нуля вытащить. Однако проблема в том, что если ты начнешь одновременно их выводить, то они начнут друг друга "отменять", потому что они хоть и параллельны, но у них вращение обратное друг другу. И если ты внезапно дашь обоим нулевым углам наклон в 45 градусов, то они вычтутся друг из друга, и опять будут нулевые.

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

Кватернионы избавляют от подобных проблем, потому что считаются не как матрицы углов наклона, а как матрицы непосредственно вращения объекта. Звучит странно, но это немного разные вещи.
Аноним 20/06/26 Суб 15:28:14 1092435 18
>>1092402
Попробуй скачать с GitHub и распаковать.

>>1092406
>Два оставшихся угла из нуля вытащить
Почему два? Если смотришь вниз, то у тебя 90° по горизонтальной оси (X - тангаж). Чтобы посмотреть наверх, уменьшаешь этот угол... Нет необходимости трогать два других угла (Y/Z), вне зависимости от их текущих значений (Y - рысканье, Z - крен). Как-то так:
>yaw += Input.get_axis("A", "D") # рысканье
>pitch += Input.get_axis("W", "S") # тангаж
>roll += Input.get_axis("Q", "E") # крен
>var gp := global_position
>global_transform = Transform3D.IDENTITY\
>.rotated_local(Vector3.UP, yaw)\
>.rotated_local(Vector3.LEFT, pitch)\
>.rotated_local(Vector3.BACK, roll)
>global_position = gp
Т.е. рысканье -> тангаж -> крен. В чём проблема?..

>>1092345
Осознал, что дело не столько в векторах, сколько в применяемых формулах, а их никакими нодами не заменишь... Пытался гуглить формулы в интернете, спрашивать нейронку - на практике фигня, Vector3 стремится улететь в inf или ВНЕЗАПНО обнуляется... Другими словами, получить векторы - легко, а что вычислять с их помощью - это нужно думать. Так я несколько часов промучился, потом открыл свой предыдущий проект и обнаружил, что переизобрёл собственный велосипед с квадратными колёсами, который тогда не нравился. Что делать - не знаю...
Аноним 20/06/26 Суб 18:00:28 1092463 19
В itch summer sale кто участвует? Оно почему-то не все мои проекты показывает как подходящие для распродажи, хотя цены стоят одинаковые, и методы монетизации тоже, и все проекты скачиваемые, не веб.
Аноним 20/06/26 Суб 19:17:14 1092479 20
>>1092463
Разобрался, в некоторых присутствует платный бонус файл, в некоторых нет.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов