Скажите возможно увидеть в редакторе изменения обьектов
к примеру в Юнити есть окно игры и окно сцены в котором можно увидеть
статусы о обьектах (переменные самих обьектов)
или только через print() ??
Чем не устраивает просмотр свойств во вкладке remote?
Также Смотри гайд "выполнение кода в редакторе" командой tool
И может пригодиться флаг OS.has_feature("standalone")
Что значит "статусы оБ объектах"? Как было упомянуто, есть инспектор дерева
выполняемого приложения и есть просто отладчик.
InfuriatedCoder
> И может пригодиться флаг OS.has_feature("standalone")
Standalone - немного другое - это экспортировано приложение или нет.
Для tool есть Engine.is_editor_hint()
s3dworld
Я не силён в анимациях.
Думаю, что дерево анимаций создано, чтобы _из_кода_не_фигачить.
Тоесть, визуальная настройка _до_запуска_игры.
Пробуй читать нечто..
https://docs.godotengine.org/en/3.5/tutorials/animation/animation_tree.html
Сравнивай с версией 4
https://docs.godotengine.org/en/stable/classes/class_animationnod… dspace1d.html
https://docs.godotengine.org/en/stable/tutorials/animation/animation_tree.html
s3dworld
Это не о редакторе вопрос ))
Тебе никакого BlendSpace1D не надо, если у тебя управление дискретное.
Делаешь просто граф стейт-машины (AnimationNodeStateMachine), там завязываешь переходы между анимациями и выставляешь xfade_time.
Оно и будет плавным. Далее, в нужных местах делаешь travel()
stateMachine.travel("idle") ... stateMachine.travel("walk) ... stateMachine.travel("run")
s3dworld
> Привык что есть слои, есть анимационные параметры в аниматоре
Так и здесь есть "слои" - это фильтры костей. А в аниматоре ты можешь поменять loop для отдельной анимации.
> Это основной и правильный способ?
Нет таких. AnimationTree - очень гибкий инструмент. В сочетании с кодом можно разные подходы рисовать.
У AnimationPlayer есть особенность, что сигналы не работают, когда он в связке с AnimationTree, т.к. используется не он, а его кэшированная копия.
У тебя много вопросов, ты бы их сгруппировал. Я когда изучал, всё в доках находил.
Напиши поконкретнее, что непонятно. И лучше в новой теме.
s3dworld
> проблем не будет что я пишу не _isAttacking?
Это конвенция gdscript. В шарпе, как я понимаю паскалькейз.
KeyList.W - неправильно хардкодить. Нужны экшены. Ещё более правильно - это Inpit.get_vector(...)
И dir должен быть Vector2
s3dworld
> В общем если игрок хоть раз атаковал, то двигаться он больше не сможет. Как это исправить?
Как то так
private bool isAttacking = false; void setAttackState(bool value) { if ( value != isAttacking) { isAttacking = value; stateMachine.Travel( isAttacking ? "Attack" : "Move"); } } // ... setAttackState( Input.isActionJustPressed( "attack") ); Vector2 motionDir = isAttacking ? Vector2.Zero : Input.get_vector( "move_left", "move_right", "move_forward", "move_back");
s3dworld
Есть Input.isActionJustPressed(), а есть Input.isActionPressed()
> получать событие что анимация атаки завершилась
Я уже писал.
Der FlugSimulator
> У AnimationPlayer есть особенность, что сигналы не работают, когда он в связке с AnimationTree
Это некоторая багофича, которую подправили в G4, реструктуризацией классов.
В G3, я сильно не парился и делал одноразовый таймер
get_tree().create_timer(aniPlayer.get_animation("fire").length)
s3dworld
> Ох, надеюсь вызов create_timer() ничего там не выделяет
Что значит "не выделяет". Это RefCounted
> Но, честно говоря мне это не очень нравится. Везде строки. В Unity можно было хэшировать строку и работать через числа.
Мне тоже не нравится, что ты не прочитал о сравнениях строк в Godot. Они под капотом работают как целые.
Всё ведь в открытом доступе.
s3dworld
> Значит Godot 3 с багами. Весело.
Ты баггрекер юнити видел?
И собственно это не баг, я вроде всё объяснил.
> Да не суть.
Зачем я тогда трачу время на флуд?
Странный подход. Ты возьми да попробуй.
Просто у тебя 100 пионерских вопросов, которые есть в документации. Я тебе пишу ответы, а ты пытаешься их оспорить.
Прости, но у меня нет на это времени. В конце концов - это у тебя вопросы. А у меня всё работает как надо.
Если есть конкретные вопросы - задавай их в новой теме.
Если ты нашел баг, или очень недоволен движком, его подходами, то пожалуйста - тоже делай это в новой теме.
Если хочешь сделать предметное сравнение с Юнити - всё то же самое.
Раздел не очень большой, и тем более важно не превращать его во флудопомойку с дискуссиями ниочём в левой теме.
Тема закрыта.