Eu tenho o seguinte problema. Eu tenho uma cena de jogador que atualmente tem apenas um Node2D como root, um Sprite2D com meu Spritesheet e um player de animação nele. A spritesheet contém sprites de animação para 5 ações em 8 direções cada (frente, esquerda, direita, atrás, esquerda_atrás, esquerda_front etc) No player de animação criei apenas a animação frontal para cada ação via godot.
No arquivo tscn, uma animação se parece com esta:
[sub_resource type="Animation" id="Animation_e7hpv"]
resource_name = "looking_around_front"
length = 3.6
step = 0.4
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:frame_coords")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.4, 0.8, 1.2, 1.6, 2, 2.4, 2.8, 3.2, 3.6),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [Vector2i(6, 0), Vector2i(5, 0), Vector2i(4, 0), Vector2i(5, 0), Vector2i(6, 0), Vector2i(6, 0), Vector2i(7, 0), Vector2i(4, 1), Vector2i(7, 0), Vector2i(6, 0)]
}
Como a única coisa que muda é a coordenada y nos valores, pensei em gerar as animações restantes com um pequeno programa e inseri-las diretamente no meu arquivo tscn.
Para fazer isso copiei o sub_resource original para cada ação e alterei o id, o nome do recurso e os valores. Mantendo o resto como está.
Em seguida, adicionei-os ao tscn e alterei o objeto de dados AnimationLibrary para armazenar todas as minhas animações geradas.
Carreguei o arquivo final aqui , se você quiser dar uma olhada.
Quando tento abrir o arquivo, recebo o seguinte erro:
scene/resources/resource_format_text.cpp:592 - res://hero_kitten.tscn:709 - Parse Error: Expected Identifier
Failed loading resource: res://hero_kitten.tscn. Make sure resources have been imported by opening the project in the editor at least once.
A linha 709 é meu nó raiz que não alterei no processo de geração:
[node "name"="HeroKitten" type="Node2D"]
Então não entendo como isso pode ser o problema. Como eu disse a cena foi criada em godot adicionei apenas sub*recursos de animação.
*
Verifiquei se todos os ids são únicos e estão incluídos no objeto de dados Animation_libray.
Tentei copiar amostras das minhas animações geradas para outra cena e funcionou. Mas adicionar todas as 42 animações parece causar o problema.
Alguma idéia de como eu poderia identificar o erro em uma linha específica? Se eu tiver que excluir todas as animações uma vez para verificar se esse é o problema, posso também criar as animações manualmente.
TLDR o que eu tentei:
- copiei o código de amostra para outra cena para verificar se ainda é possível abrir
- Verificou todos os IDs gerados em busca de duplicatas
- Verificado que todos os sub_recursos gerados estão na AnimaitonLibrary
- Aumentou os atributos load_steps para verificar se faz diferença