Side scrolling creepy puzzle game.
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

1044 Zeilen
36KB

  1. [gd_scene load_steps=45 format=2]
  2. [ext_resource path="res://Data/Graphics/SS_001.png" type="Texture" id=1]
  3. [ext_resource path="res://icon.png" type="Texture" id=2]
  4. [sub_resource type="CapsuleShape2D" id=1]
  5. radius = 6.0
  6. height = 14.0
  7. [sub_resource type="Animation" id=2]
  8. resource_name = "Base"
  9. length = 0.02
  10. loop = true
  11. step = 0.02
  12. tracks/0/type = "value"
  13. tracks/0/path = NodePath("Body/Sprite:frame")
  14. tracks/0/interp = 1
  15. tracks/0/loop_wrap = true
  16. tracks/0/imported = false
  17. tracks/0/enabled = true
  18. tracks/0/keys = {
  19. "times": PoolRealArray( 0 ),
  20. "transitions": PoolRealArray( 1 ),
  21. "update": 1,
  22. "values": [ 16 ]
  23. }
  24. tracks/1/type = "value"
  25. tracks/1/path = NodePath("Body/Head/Sprite:frame")
  26. tracks/1/interp = 1
  27. tracks/1/loop_wrap = true
  28. tracks/1/imported = false
  29. tracks/1/enabled = true
  30. tracks/1/keys = {
  31. "times": PoolRealArray( 0 ),
  32. "transitions": PoolRealArray( 1 ),
  33. "update": 1,
  34. "values": [ 0 ]
  35. }
  36. tracks/2/type = "value"
  37. tracks/2/path = NodePath("Body:position")
  38. tracks/2/interp = 1
  39. tracks/2/loop_wrap = true
  40. tracks/2/imported = false
  41. tracks/2/enabled = true
  42. tracks/2/keys = {
  43. "times": PoolRealArray( 0 ),
  44. "transitions": PoolRealArray( 1 ),
  45. "update": 0,
  46. "values": [ Vector2( -0.75, 0.75 ) ]
  47. }
  48. tracks/3/type = "value"
  49. tracks/3/path = NodePath("Body:rotation_degrees")
  50. tracks/3/interp = 1
  51. tracks/3/loop_wrap = true
  52. tracks/3/imported = false
  53. tracks/3/enabled = true
  54. tracks/3/keys = {
  55. "times": PoolRealArray( 0 ),
  56. "transitions": PoolRealArray( 1 ),
  57. "update": 0,
  58. "values": [ 0.0 ]
  59. }
  60. tracks/4/type = "value"
  61. tracks/4/path = NodePath("Body:scale")
  62. tracks/4/interp = 1
  63. tracks/4/loop_wrap = true
  64. tracks/4/imported = false
  65. tracks/4/enabled = true
  66. tracks/4/keys = {
  67. "times": PoolRealArray( 0 ),
  68. "transitions": PoolRealArray( 1 ),
  69. "update": 0,
  70. "values": [ Vector2( 1, 1 ) ]
  71. }
  72. tracks/5/type = "value"
  73. tracks/5/path = NodePath("Body/Head:position")
  74. tracks/5/interp = 1
  75. tracks/5/loop_wrap = true
  76. tracks/5/imported = false
  77. tracks/5/enabled = true
  78. tracks/5/keys = {
  79. "times": PoolRealArray( 0 ),
  80. "transitions": PoolRealArray( 1 ),
  81. "update": 0,
  82. "values": [ Vector2( 0.291992, -5.2558 ) ]
  83. }
  84. tracks/6/type = "value"
  85. tracks/6/path = NodePath("Body/Head:rotation_degrees")
  86. tracks/6/interp = 1
  87. tracks/6/loop_wrap = true
  88. tracks/6/imported = false
  89. tracks/6/enabled = true
  90. tracks/6/keys = {
  91. "times": PoolRealArray( 0 ),
  92. "transitions": PoolRealArray( 1 ),
  93. "update": 0,
  94. "values": [ 0.0 ]
  95. }
  96. tracks/7/type = "value"
  97. tracks/7/path = NodePath("Body/Head:scale")
  98. tracks/7/interp = 1
  99. tracks/7/loop_wrap = true
  100. tracks/7/imported = false
  101. tracks/7/enabled = true
  102. tracks/7/keys = {
  103. "times": PoolRealArray( 0 ),
  104. "transitions": PoolRealArray( 1 ),
  105. "update": 0,
  106. "values": [ Vector2( 1, 1 ) ]
  107. }
  108. tracks/8/type = "value"
  109. tracks/8/path = NodePath("Body/Right Hand:position")
  110. tracks/8/interp = 1
  111. tracks/8/loop_wrap = true
  112. tracks/8/imported = false
  113. tracks/8/enabled = true
  114. tracks/8/keys = {
  115. "times": PoolRealArray( 0 ),
  116. "transitions": PoolRealArray( 1 ),
  117. "update": 0,
  118. "values": [ Vector2( -2.83482, -0.404972 ) ]
  119. }
  120. tracks/9/type = "value"
  121. tracks/9/path = NodePath("Body/Right Hand:rotation_degrees")
  122. tracks/9/interp = 1
  123. tracks/9/loop_wrap = true
  124. tracks/9/imported = false
  125. tracks/9/enabled = true
  126. tracks/9/keys = {
  127. "times": PoolRealArray( 0 ),
  128. "transitions": PoolRealArray( 1 ),
  129. "update": 0,
  130. "values": [ 0.0 ]
  131. }
  132. tracks/10/type = "value"
  133. tracks/10/path = NodePath("Body/Right Hand:scale")
  134. tracks/10/interp = 1
  135. tracks/10/loop_wrap = true
  136. tracks/10/imported = false
  137. tracks/10/enabled = true
  138. tracks/10/keys = {
  139. "times": PoolRealArray( 0 ),
  140. "transitions": PoolRealArray( 1 ),
  141. "update": 0,
  142. "values": [ Vector2( 1, 1 ) ]
  143. }
  144. tracks/11/type = "value"
  145. tracks/11/path = NodePath("Body/Left Hand:position")
  146. tracks/11/interp = 1
  147. tracks/11/loop_wrap = true
  148. tracks/11/imported = false
  149. tracks/11/enabled = true
  150. tracks/11/keys = {
  151. "times": PoolRealArray( 0 ),
  152. "transitions": PoolRealArray( 1 ),
  153. "update": 0,
  154. "values": [ Vector2( 6.0746, -0.728951 ) ]
  155. }
  156. tracks/12/type = "value"
  157. tracks/12/path = NodePath("Body/Left Hand:rotation_degrees")
  158. tracks/12/interp = 1
  159. tracks/12/loop_wrap = true
  160. tracks/12/imported = false
  161. tracks/12/enabled = true
  162. tracks/12/keys = {
  163. "times": PoolRealArray( 0 ),
  164. "transitions": PoolRealArray( 1 ),
  165. "update": 0,
  166. "values": [ 0.0 ]
  167. }
  168. tracks/13/type = "value"
  169. tracks/13/path = NodePath("Body/Left Hand:scale")
  170. tracks/13/interp = 1
  171. tracks/13/loop_wrap = true
  172. tracks/13/imported = false
  173. tracks/13/enabled = true
  174. tracks/13/keys = {
  175. "times": PoolRealArray( 0 ),
  176. "transitions": PoolRealArray( 1 ),
  177. "update": 0,
  178. "values": [ Vector2( 1, 1 ) ]
  179. }
  180. tracks/14/type = "value"
  181. tracks/14/path = NodePath("Body/Right Foot:position")
  182. tracks/14/interp = 1
  183. tracks/14/loop_wrap = true
  184. tracks/14/imported = false
  185. tracks/14/enabled = true
  186. tracks/14/keys = {
  187. "times": PoolRealArray( 0 ),
  188. "transitions": PoolRealArray( 1 ),
  189. "update": 0,
  190. "values": [ Vector2( -1.29591, 9.47638 ) ]
  191. }
  192. tracks/15/type = "value"
  193. tracks/15/path = NodePath("Body/Right Foot:rotation_degrees")
  194. tracks/15/interp = 1
  195. tracks/15/loop_wrap = true
  196. tracks/15/imported = false
  197. tracks/15/enabled = true
  198. tracks/15/keys = {
  199. "times": PoolRealArray( 0 ),
  200. "transitions": PoolRealArray( 1 ),
  201. "update": 0,
  202. "values": [ 0.0 ]
  203. }
  204. tracks/16/type = "value"
  205. tracks/16/path = NodePath("Body/Right Foot:scale")
  206. tracks/16/interp = 1
  207. tracks/16/loop_wrap = true
  208. tracks/16/imported = false
  209. tracks/16/enabled = true
  210. tracks/16/keys = {
  211. "times": PoolRealArray( 0 ),
  212. "transitions": PoolRealArray( 1 ),
  213. "update": 0,
  214. "values": [ Vector2( 1, 1 ) ]
  215. }
  216. tracks/17/type = "value"
  217. tracks/17/path = NodePath("Body/Left Foot:position")
  218. tracks/17/interp = 1
  219. tracks/17/loop_wrap = true
  220. tracks/17/imported = false
  221. tracks/17/enabled = true
  222. tracks/17/keys = {
  223. "times": PoolRealArray( 0 ),
  224. "transitions": PoolRealArray( 1 ),
  225. "update": 0,
  226. "values": [ Vector2( 2.26785, 9.31439 ) ]
  227. }
  228. tracks/18/type = "value"
  229. tracks/18/path = NodePath("Body/Left Foot:rotation_degrees")
  230. tracks/18/interp = 1
  231. tracks/18/loop_wrap = true
  232. tracks/18/imported = false
  233. tracks/18/enabled = true
  234. tracks/18/keys = {
  235. "times": PoolRealArray( 0 ),
  236. "transitions": PoolRealArray( 1 ),
  237. "update": 0,
  238. "values": [ 0.0 ]
  239. }
  240. tracks/19/type = "value"
  241. tracks/19/path = NodePath("Body/Left Foot:scale")
  242. tracks/19/interp = 1
  243. tracks/19/loop_wrap = true
  244. tracks/19/imported = false
  245. tracks/19/enabled = true
  246. tracks/19/keys = {
  247. "times": PoolRealArray( 0 ),
  248. "transitions": PoolRealArray( 1 ),
  249. "update": 0,
  250. "values": [ Vector2( 1, 1 ) ]
  251. }
  252. tracks/20/type = "value"
  253. tracks/20/path = NodePath("Body/Sprite:scale")
  254. tracks/20/interp = 1
  255. tracks/20/loop_wrap = true
  256. tracks/20/imported = false
  257. tracks/20/enabled = true
  258. tracks/20/keys = {
  259. "times": PoolRealArray( 0 ),
  260. "transitions": PoolRealArray( 1 ),
  261. "update": 0,
  262. "values": [ Vector2( 1, 1 ) ]
  263. }
  264. [sub_resource type="Animation" id=3]
  265. resource_name = "Blink"
  266. length = 0.8
  267. tracks/0/type = "value"
  268. tracks/0/path = NodePath("Body/Head/Sprite:frame")
  269. tracks/0/interp = 1
  270. tracks/0/loop_wrap = true
  271. tracks/0/imported = false
  272. tracks/0/enabled = true
  273. tracks/0/keys = {
  274. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.6, 0.7 ),
  275. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ),
  276. "update": 1,
  277. "values": [ 0, 1, 2, 3, 2, 1 ]
  278. }
  279. [sub_resource type="Animation" id=4]
  280. resource_name = "Breath"
  281. length = 2.0
  282. loop = true
  283. tracks/0/type = "bezier"
  284. tracks/0/path = NodePath("Body/Sprite:scale:x")
  285. tracks/0/interp = 1
  286. tracks/0/loop_wrap = true
  287. tracks/0/imported = false
  288. tracks/0/enabled = true
  289. tracks/0/keys = {
  290. "points": PoolRealArray( 1, -0.25, 0, 0.25, 0, 1.15, -0.25, 0, 0.25, 0, 1.15, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0 ),
  291. "times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
  292. }
  293. tracks/1/type = "bezier"
  294. tracks/1/path = NodePath("Body/Sprite:scale:y")
  295. tracks/1/interp = 1
  296. tracks/1/loop_wrap = true
  297. tracks/1/imported = false
  298. tracks/1/enabled = true
  299. tracks/1/keys = {
  300. "points": PoolRealArray( 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0 ),
  301. "times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
  302. }
  303. tracks/2/type = "bezier"
  304. tracks/2/path = NodePath("Body/Sprite:position:x")
  305. tracks/2/interp = 1
  306. tracks/2/loop_wrap = true
  307. tracks/2/imported = false
  308. tracks/2/enabled = true
  309. tracks/2/keys = {
  310. "points": PoolRealArray( 0.346, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0, 0.346, -0.25, 0, 0.25, 0 ),
  311. "times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
  312. }
  313. tracks/3/type = "bezier"
  314. tracks/3/path = NodePath("Body/Sprite:position:y")
  315. tracks/3/interp = 1
  316. tracks/3/loop_wrap = true
  317. tracks/3/imported = false
  318. tracks/3/enabled = true
  319. tracks/3/keys = {
  320. "points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
  321. "times": PoolRealArray( 0, 0.7, 0.9, 1.6 )
  322. }
  323. [sub_resource type="Animation" id=6]
  324. length = 0.6
  325. tracks/0/type = "value"
  326. tracks/0/path = NodePath("Body/Head/Sprite:frame")
  327. tracks/0/interp = 1
  328. tracks/0/loop_wrap = true
  329. tracks/0/imported = false
  330. tracks/0/enabled = true
  331. tracks/0/keys = {
  332. "times": PoolRealArray( 0, 0.1, 0.2 ),
  333. "transitions": PoolRealArray( 1, 1, 1 ),
  334. "update": 1,
  335. "values": [ 0, 1, 4 ]
  336. }
  337. [sub_resource type="Animation" id=21]
  338. resource_name = "FootShuffleA"
  339. length = 0.8
  340. tracks/0/type = "bezier"
  341. tracks/0/path = NodePath("Body/Right Foot:position:x")
  342. tracks/0/interp = 1
  343. tracks/0/loop_wrap = true
  344. tracks/0/imported = false
  345. tracks/0/enabled = true
  346. tracks/0/keys = {
  347. "points": PoolRealArray( -1.29591, -0.25, 0, 0.25, 0 ),
  348. "times": PoolRealArray( 0 )
  349. }
  350. tracks/1/type = "bezier"
  351. tracks/1/path = NodePath("Body/Right Foot:position:y")
  352. tracks/1/interp = 1
  353. tracks/1/loop_wrap = true
  354. tracks/1/imported = false
  355. tracks/1/enabled = true
  356. tracks/1/keys = {
  357. "points": PoolRealArray( 9.47638, -0.25, 0, 0.25, 0 ),
  358. "times": PoolRealArray( 0 )
  359. }
  360. tracks/2/type = "bezier"
  361. tracks/2/path = NodePath("Body/Right Foot:rotation_degrees")
  362. tracks/2/interp = 1
  363. tracks/2/loop_wrap = true
  364. tracks/2/imported = false
  365. tracks/2/enabled = true
  366. tracks/2/keys = {
  367. "points": PoolRealArray( 0, -0.25, 0, 0.25, 0 ),
  368. "times": PoolRealArray( 0 )
  369. }
  370. tracks/3/type = "bezier"
  371. tracks/3/path = NodePath("Body/Left Foot:position:x")
  372. tracks/3/interp = 1
  373. tracks/3/loop_wrap = true
  374. tracks/3/imported = false
  375. tracks/3/enabled = true
  376. tracks/3/keys = {
  377. "points": PoolRealArray( 2.26785, -0.05, 0, 0.05, 0, 3.307, -0.05, 0, 0.05, 0, 3.5904, -0.05, 0, 0.05, 0, 3.5904, -0.05, 0, 0.05, 0, 3.68487, -0.05, 0, 0.05, 0, 3.68487, -0.05, 0, 0.05, 0, 2.26785, -0.05, 0, 0.05, 0 ),
  378. "times": PoolRealArray( 0, 0.1, 0.3, 0.4, 0.5, 0.6, 0.8 )
  379. }
  380. tracks/4/type = "bezier"
  381. tracks/4/path = NodePath("Body/Left Foot:position:y")
  382. tracks/4/interp = 1
  383. tracks/4/loop_wrap = true
  384. tracks/4/imported = false
  385. tracks/4/enabled = true
  386. tracks/4/keys = {
  387. "points": PoolRealArray( 9.31439, -0.05, 0, 0.05, 0, 8.18078, -0.05, 0, 0.05, 0, 7.04716, -0.05, 0, 0.05, 0, 8.65312, -0.05, 0, 0.05, 0, 7.42503, -0.05, 0, 0.05, 0, 8.55865, -0.05, 0, 0.05, 0, 9.31439, -0.05, 0, 0.05, 0 ),
  388. "times": PoolRealArray( 0, 0.1, 0.3, 0.4, 0.5, 0.6, 0.8 )
  389. }
  390. tracks/5/type = "bezier"
  391. tracks/5/path = NodePath("Body/Left Foot:rotation_degrees")
  392. tracks/5/interp = 1
  393. tracks/5/loop_wrap = true
  394. tracks/5/imported = false
  395. tracks/5/enabled = true
  396. tracks/5/keys = {
  397. "points": PoolRealArray( 0, -0.05, 0, 0.05, 0, 40.8562, -0.05, 0, 0.05, 0, 40.8562, -0.05, 0, 0.05, 0, 0, -0.05, 0, 0.05, 0 ),
  398. "times": PoolRealArray( 0, 0.1, 0.6, 0.8 )
  399. }
  400. [sub_resource type="Animation" id=22]
  401. resource_name = "HandsShuffleA"
  402. length = 0.9
  403. tracks/0/type = "bezier"
  404. tracks/0/path = NodePath("Body/Left Hand:position:x")
  405. tracks/0/interp = 1
  406. tracks/0/loop_wrap = true
  407. tracks/0/imported = false
  408. tracks/0/enabled = true
  409. tracks/0/keys = {
  410. "points": PoolRealArray( 6.0746, -0.05, 0, 0.25, 0, 7.39715, -0.05, 0, 0.25, 0, 3.7129, -0.05, 0, 0.25, 0, 6.0746, -0.05, 0, 0.25, 0 ),
  411. "times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
  412. }
  413. tracks/1/type = "bezier"
  414. tracks/1/path = NodePath("Body/Left Hand:position:y")
  415. tracks/1/interp = 1
  416. tracks/1/loop_wrap = true
  417. tracks/1/imported = false
  418. tracks/1/enabled = true
  419. tracks/1/keys = {
  420. "points": PoolRealArray( -0.728951, -0.05, 0, 0.25, 0, -0.35108, -0.05, 0, 0.25, 0, 0.404663, -0.05, 0, 0.25, 0, -0.728951, -0.05, 0, 0.25, 0 ),
  421. "times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
  422. }
  423. tracks/2/type = "bezier"
  424. tracks/2/path = NodePath("Body/Left Hand:rotation_degrees")
  425. tracks/2/interp = 1
  426. tracks/2/loop_wrap = true
  427. tracks/2/imported = false
  428. tracks/2/enabled = true
  429. tracks/2/keys = {
  430. "points": PoolRealArray( 0, -0.05, 0, 0.25, 0 ),
  431. "times": PoolRealArray( 0 )
  432. }
  433. tracks/3/type = "bezier"
  434. tracks/3/path = NodePath("Body/Right Hand:position:x")
  435. tracks/3/interp = 1
  436. tracks/3/loop_wrap = true
  437. tracks/3/imported = false
  438. tracks/3/enabled = true
  439. tracks/3/keys = {
  440. "points": PoolRealArray( -2.83482, -0.05, 0, 0.25, 0, -4.15738, -0.05, 0, 0.25, 0, -0.66206, -0.05, 0, 0.25, 0, -2.83482, -0.05, 0, 0.25, 0 ),
  441. "times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
  442. }
  443. tracks/4/type = "bezier"
  444. tracks/4/path = NodePath("Body/Right Hand:position:y")
  445. tracks/4/interp = 1
  446. tracks/4/loop_wrap = true
  447. tracks/4/imported = false
  448. tracks/4/enabled = true
  449. tracks/4/keys = {
  450. "points": PoolRealArray( -0.404972, -0.05, 0, 0.25, 0, -0.499439, -0.05, 0, 0.25, 0, 0.350771, -0.05, 0, 0.25, 0, -0.404972, -0.05, 0, 0.25, 0 ),
  451. "times": PoolRealArray( 0, 0.2, 0.5, 0.9 )
  452. }
  453. tracks/5/type = "bezier"
  454. tracks/5/path = NodePath("Body/Right Hand:rotation_degrees")
  455. tracks/5/interp = 1
  456. tracks/5/loop_wrap = true
  457. tracks/5/imported = false
  458. tracks/5/enabled = true
  459. tracks/5/keys = {
  460. "points": PoolRealArray( 0, -0.05, 0, 0.25, 0 ),
  461. "times": PoolRealArray( 0 )
  462. }
  463. [sub_resource type="Animation" id=23]
  464. resource_name = "HandsShuffleB"
  465. length = 2.8
  466. tracks/0/type = "bezier"
  467. tracks/0/path = NodePath("Body/Right Hand:position:x")
  468. tracks/0/interp = 1
  469. tracks/0/loop_wrap = true
  470. tracks/0/imported = false
  471. tracks/0/enabled = true
  472. tracks/0/keys = {
  473. "points": PoolRealArray( -2.83482, -0.05, 0, 0, 0, -0.000782251, 0, 0, 0, 0, 2.54985, 0, 0, 0, 0, 4.1558, 0, 0, 0, 0, 4.25027, 0, 0, 0, 0, 4.62814, 0, 0, 0, 0, 4.34473, 0, 0, 0, 0, 4.1558, 0, 0, 0, 0, 2.54985, 0, 0, 0, 0, -0.000782251, 0, 0, 0, 0, -2.83482, 0, 0, 0.05, 0 ),
  474. "times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 2, 2.2, 2.4, 2.6, 2.8 )
  475. }
  476. tracks/1/type = "bezier"
  477. tracks/1/path = NodePath("Body/Right Hand:position:y")
  478. tracks/1/interp = 1
  479. tracks/1/loop_wrap = true
  480. tracks/1/imported = false
  481. tracks/1/enabled = true
  482. tracks/1/keys = {
  483. "points": PoolRealArray( -0.404972, -0.05, 0, 0, 0, -0.782844, 0, 0, 0, 0, -1.82199, 0, 0, 0, 0, -4.37263, 0, 0, 0, 0, -5.3173, 0, 0, 0, 0, -5.12837, 0, 0, 0, 0, -5.12837, 0, 0, 0, 0, -4.37263, 0, 0, 0, 0, -1.82199, 0, 0, 0, 0, -0.782844, 0, 0, 0, 0, -0.404972, 0, 0, 0.05, 0 ),
  484. "times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 2, 2.2, 2.4, 2.6, 2.8 )
  485. }
  486. [sub_resource type="Animation" id=26]
  487. resource_name = "LookAtCamera"
  488. length = 0.4
  489. tracks/0/type = "value"
  490. tracks/0/path = NodePath("Body/Head/Sprite:frame")
  491. tracks/0/interp = 1
  492. tracks/0/loop_wrap = true
  493. tracks/0/imported = false
  494. tracks/0/enabled = true
  495. tracks/0/keys = {
  496. "times": PoolRealArray( 0, 0.1, 0.2, 0.3 ),
  497. "transitions": PoolRealArray( 1, 1, 1, 1 ),
  498. "update": 1,
  499. "values": [ 0, 9, 10, 11 ]
  500. }
  501. [sub_resource type="Animation" id=27]
  502. resource_name = "LookDown"
  503. length = 0.1
  504. tracks/0/type = "value"
  505. tracks/0/path = NodePath("Body/Head/Sprite:frame")
  506. tracks/0/interp = 1
  507. tracks/0/loop_wrap = true
  508. tracks/0/imported = false
  509. tracks/0/enabled = true
  510. tracks/0/keys = {
  511. "times": PoolRealArray( 0 ),
  512. "transitions": PoolRealArray( 1 ),
  513. "update": 1,
  514. "values": [ 12 ]
  515. }
  516. [sub_resource type="Animation" id=28]
  517. resource_name = "LookFromCamera"
  518. length = 0.4
  519. tracks/0/type = "value"
  520. tracks/0/path = NodePath("Body/Head/Sprite:frame")
  521. tracks/0/interp = 1
  522. tracks/0/loop_wrap = true
  523. tracks/0/imported = false
  524. tracks/0/enabled = true
  525. tracks/0/keys = {
  526. "times": PoolRealArray( 0, 0.1, 0.2, 0.3 ),
  527. "transitions": PoolRealArray( 1, 1, 1, 1 ),
  528. "update": 1,
  529. "values": [ 11, 10, 9, 0 ]
  530. }
  531. [sub_resource type="Animation" id=7]
  532. resource_name = "Run"
  533. length = 1.2
  534. loop = true
  535. step = 0.02
  536. tracks/0/type = "bezier"
  537. tracks/0/path = NodePath("Body:position:x")
  538. tracks/0/interp = 1
  539. tracks/0/loop_wrap = true
  540. tracks/0/imported = false
  541. tracks/0/enabled = true
  542. tracks/0/keys = {
  543. "points": PoolRealArray( -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0, -0.75, -0.05, 0, 0.05, 0 ),
  544. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  545. }
  546. tracks/1/type = "bezier"
  547. tracks/1/path = NodePath("Body:position:y")
  548. tracks/1/interp = 1
  549. tracks/1/loop_wrap = true
  550. tracks/1/imported = false
  551. tracks/1/enabled = true
  552. tracks/1/keys = {
  553. "points": PoolRealArray( 0.75, -0.05, 0, 0.05, 0, 1.82693, -0.05, 0, 0.05, 0, 1, -0.05, 0, 0.05, 0, 0.75, -0.05, 0, 0.05, 0, 0, -0.05, 0, 0.05, 0, 0.45, -0.05, 0, 0.05, 0, 0.75, -0.05, 0, 0.05, 0, 1.827, -0.05, 0, 0.05, 0, 1, -0.05, 0, 0.05, 0, 0.75, -0.05, 0, 0.05, 0, 0, -0.05, 0, 0.05, 0, 0.45, -0.05, 0, 0.05, 0, 0.75, -0.05, 0, 0.05, 0 ),
  554. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  555. }
  556. tracks/2/type = "bezier"
  557. tracks/2/path = NodePath("Body:rotation_degrees")
  558. tracks/2/interp = 1
  559. tracks/2/loop_wrap = true
  560. tracks/2/imported = false
  561. tracks/2/enabled = true
  562. tracks/2/keys = {
  563. "points": PoolRealArray( 4, -0.05, 0, 0.05, 0, 4, -0.05, 0, 0.05, 0 ),
  564. "times": PoolRealArray( 0, 1.2 )
  565. }
  566. tracks/3/type = "bezier"
  567. tracks/3/path = NodePath("Body/Head:rotation_degrees")
  568. tracks/3/interp = 1
  569. tracks/3/loop_wrap = true
  570. tracks/3/imported = false
  571. tracks/3/enabled = true
  572. tracks/3/keys = {
  573. "points": PoolRealArray( 0, -0.05, 0, 0.05, 0, 6.16962, -0.05, 0, 0.05, 0, -3.0988, -0.05, 0, 0.05, 0, 6.16962, -0.05, 0, 0.05, 0, -3.0988, -0.05, 0, 0.05, 0, 0, -0.05, 0, 0.05, 0 ),
  574. "times": PoolRealArray( 0, 0.1, 0.4, 0.7, 1, 1.2 )
  575. }
  576. tracks/4/type = "bezier"
  577. tracks/4/path = NodePath("Body/Right Hand:position:x")
  578. tracks/4/interp = 1
  579. tracks/4/loop_wrap = true
  580. tracks/4/imported = false
  581. tracks/4/enabled = true
  582. tracks/4/keys = {
  583. "points": PoolRealArray( -8.5038, -0.05, 0, 0.05, 0, -6.32139, -0.05, 0, 0.05, 0, -3.38769, -0.05, 0, 0.05, 0, 2.75203, -0.05, 0, 0.05, 0, 5.40025, -0.05, 0, 0.05, 0, 6.73876, -0.05, 0, 0.05, 0, 7.5589, -0.05, 0, 0.05, 0, 6.73876, -0.05, 0, 0.05, 0, 5.40025, -0.05, 0, 0.05, 0, 2.75203, -0.05, 0, 0.05, 0, -3.38769, -0.05, 0, 0.05, 0, -6.32139, -0.05, 0, 0.05, 0, -8.5038, -0.05, 0, 0.05, 0 ),
  584. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  585. }
  586. tracks/5/type = "bezier"
  587. tracks/5/path = NodePath("Body/Right Hand:position:y")
  588. tracks/5/interp = 1
  589. tracks/5/loop_wrap = true
  590. tracks/5/imported = false
  591. tracks/5/enabled = true
  592. tracks/5/keys = {
  593. "points": PoolRealArray( 0.416108, -0.05, 0, 0.05, 0, 3.32226, -0.05, 0, 0.05, 0, 4.10672, -0.05, 0, 0.05, 0, 3.13761, -0.05, 0, 0.05, 0, 2.41264, -0.05, 0, 0.05, 0, 0.96959, -0.05, 0, 0.05, 0, -0.167324, -0.05, 0, 0.05, 0, 0.96959, -0.05, 0, 0.05, 0, 2.41264, -0.05, 0, 0.05, 0, 3.13761, -0.05, 0, 0.05, 0, 4.10672, -0.05, 0, 0.05, 0, 3.32226, -0.05, 0, 0.05, 0, 0.416108, -0.05, 0, 0.05, 0 ),
  594. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  595. }
  596. tracks/6/type = "bezier"
  597. tracks/6/path = NodePath("Body/Left Hand:position:x")
  598. tracks/6/interp = 1
  599. tracks/6/loop_wrap = true
  600. tracks/6/imported = false
  601. tracks/6/enabled = true
  602. tracks/6/keys = {
  603. "points": PoolRealArray( 9.06326, -0.05, 0, 0.05, 0, 8.99689, -0.05, 0, 0.05, 0, 7.79799, -0.05, 0, 0.05, 0, -1.23787, -0.05, 0, 0.05, 0, -4.1509, -0.05, 0, 0.05, 0, -5.7417, -0.05, 0, 0.05, 0, -6.98066, -0.05, 0, 0.05, 0, -5.7417, -0.05, 0, 0.05, 0, -4.1509, -0.05, 0, 0.05, 0, -1.23787, -0.05, 0, 0.05, 0, 7.79799, -0.05, 0, 0.05, 0, 8.99689, -0.05, 0, 0.05, 0, 9.06326, -0.05, 0, 0.05, 0 ),
  604. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  605. }
  606. tracks/7/type = "bezier"
  607. tracks/7/path = NodePath("Body/Left Hand:position:y")
  608. tracks/7/interp = 1
  609. tracks/7/loop_wrap = true
  610. tracks/7/imported = false
  611. tracks/7/enabled = true
  612. tracks/7/keys = {
  613. "points": PoolRealArray( -0.765617, -0.05, 0, 0.05, 0, 0.85837, -0.05, 0, 0.05, 0, 3.01137, -0.05, 0, 0.05, 0, 3.73318, -0.05, 0, 0.05, 0, 1.95768, -0.05, 0, 0.05, 0, 1.07932, -0.05, 0, 0.05, 0, 0.0863929, -0.05, 0, 0.05, 0, 1.07932, -0.05, 0, 0.05, 0, 1.95768, -0.05, 0, 0.05, 0, 3.73318, -0.05, 0, 0.05, 0, 3.01137, -0.05, 0, 0.05, 0, 0.85837, -0.05, 0, 0.05, 0, -0.765617, -0.05, 0, 0.05, 0 ),
  614. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  615. }
  616. tracks/8/type = "bezier"
  617. tracks/8/path = NodePath("Body/Right Foot:position:x")
  618. tracks/8/interp = 1
  619. tracks/8/loop_wrap = true
  620. tracks/8/imported = false
  621. tracks/8/enabled = true
  622. tracks/8/keys = {
  623. "points": PoolRealArray( 7.12145, -0.05, 0, 0.05, 0, 4.62287, -0.05, 0, 0.05, 0, 1.2647, -0.05, 0, 0.05, 0, -4.91884, -0.05, 0, 0.05, 0, -6.2824, -0.05, 0, 0.05, 0, -7.27782, -0.05, 0, 0.05, 0, -6.55347, -0.05, 0, 0.05, 0, -4.97081, -0.05, 0, 0.05, 0, -1.90815, -0.05, 0, 0.05, 0, 4.24599, -0.05, 0, 0.05, 0, 5.99706, -0.05, 0, 0.05, 0, 6.82972, -0.05, 0, 0.05, 0, 7.12145, -0.05, 0, 0.05, 0 ),
  624. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  625. }
  626. tracks/9/type = "bezier"
  627. tracks/9/path = NodePath("Body/Right Foot:position:y")
  628. tracks/9/interp = 1
  629. tracks/9/loop_wrap = true
  630. tracks/9/imported = false
  631. tracks/9/enabled = true
  632. tracks/9/keys = {
  633. "points": PoolRealArray( 8.78822, -0.05, 0, 0.05, 0, 7.79341, -0.05, 0, 0.05, 0, 8.65798, -0.05, 0, 0.05, 0, 9.00041, -0.05, 0, 0.05, 0, 10.0854, -0.05, 0, 0.05, 0, 8.71555, -0.05, 0, 0.05, 0, 7.49537, -0.05, 0, 0.05, 0, 9.54383, -0.05, 0, 0.05, 0, 9.59956, -0.05, 0, 0.05, 0, 7.54987, -0.05, 0, 0.05, 0, 8.14713, -0.05, 0, 0.05, 0, 7.18927, -0.05, 0, 0.05, 0, 8.78822, -0.05, 0, 0.05, 0 ),
  634. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  635. }
  636. tracks/10/type = "bezier"
  637. tracks/10/path = NodePath("Body/Right Foot:rotation_degrees")
  638. tracks/10/interp = 1
  639. tracks/10/loop_wrap = true
  640. tracks/10/imported = false
  641. tracks/10/enabled = true
  642. tracks/10/keys = {
  643. "points": PoolRealArray( -40.6858, -0.05, 0, 0.05, 0, -5.64208, -0.05, 0, 0.05, 0, -2.7316, -0.05, 0, 0.05, 0, 30.9261, -0.05, 0, 0.05, 0, 44.2104, -0.05, 0, 0.05, 0, 77.8077, -0.05, 0, 0.05, 0, 109.662, -0.05, 0, 0.05, 0, 132.096, -0.05, 0, 0.05, 0, 101.727, -0.05, 0, 0.05, 0, 29.4588, -0.05, 0, 0.05, 0, -2.57295, -0.05, 0, 0.05, 0, -11.4331, -0.05, 0, 0.05, 0, -40.6858, -0.05, 0, 0.05, 0 ),
  644. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  645. }
  646. tracks/11/type = "bezier"
  647. tracks/11/path = NodePath("Body/Left Foot:position:x")
  648. tracks/11/interp = 1
  649. tracks/11/loop_wrap = true
  650. tracks/11/imported = false
  651. tracks/11/enabled = true
  652. tracks/11/keys = {
  653. "points": PoolRealArray( -5.80155, -0.05, 0, 0.05, 0, -3.63603, -0.05, 0, 0.05, 0, -0.60655, -0.05, 0, 0.05, 0, 4.82511, -0.05, 0, 0.05, 0, 6.67197, -0.05, 0, 0.05, 0, 6.81346, -0.05, 0, 0.05, 0, 7.41322, -0.05, 0, 0.05, 0, 6.8842, -0.05, 0, 0.05, 0, 3.08467, -0.05, 0, 0.05, 0, -3.54025, -0.05, 0, 0.05, 0, -5.19742, -0.05, 0, 0.05, 0, -6.14902, -0.05, 0, 0.05, 0, -5.80155, -0.05, 0, 0.05, 0 ),
  654. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  655. }
  656. tracks/12/type = "bezier"
  657. tracks/12/path = NodePath("Body/Left Foot:position:y")
  658. tracks/12/interp = 1
  659. tracks/12/loop_wrap = true
  660. tracks/12/imported = false
  661. tracks/12/enabled = true
  662. tracks/12/keys = {
  663. "points": PoolRealArray( 7.56739, -0.05, 0, 0.05, 0, 8.94534, -0.05, 0, 0.05, 0, 9.81307, -0.05, 0, 0.05, 0, 7.72394, -0.05, 0, 0.05, 0, 8.40446, -0.05, 0, 0.05, 0, 7.85479, -0.05, 0, 0.05, 0, 8.71248, -0.05, 0, 0.05, 0, 7.57995, -0.05, 0, 0.05, 0, 8.56535, -0.05, 0, 0.05, 0, 9.02861, -0.05, 0, 0.05, 0, 9.77423, -0.05, 0, 0.05, 0, 9.0311, -0.05, 0, 0.05, 0, 7.56739, -0.05, 0, 0.05, 0 ),
  664. "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  665. }
  666. tracks/13/type = "bezier"
  667. tracks/13/path = NodePath("Body/Left Foot:rotation_degrees")
  668. tracks/13/interp = 1
  669. tracks/13/loop_wrap = true
  670. tracks/13/imported = false
  671. tracks/13/enabled = true
  672. tracks/13/keys = {
  673. "points": PoolRealArray( 114.222, -0.05, 0, 0.05, 0, 101.558, -0.05, 0, 0.05, 0, 21.8541, -0.05, 0, 0.05, 0, -3.35793, -0.05, 0, 0.05, 0, -15.1317, -0.05, 0, 0.05, 0, -25.4655, -0.05, 0, 0.05, 0, -6.78048, -0.05, 0, 0.05, 0, -4.43915, -0.05, 0, 0.05, 0, 30.8803, -0.05, 0, 0.05, 0, 44.418, -0.05, 0, 0.05, 0, 80.042, -0.05, 0, 0.05, 0, 114.222, -0.05, 0, 0.05, 0 ),
  674. "times": PoolRealArray( 0, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2 )
  675. }
  676. [sub_resource type="Animation" id=29]
  677. resource_name = "Walk"
  678. length = 1.6
  679. loop = true
  680. tracks/0/type = "value"
  681. tracks/0/path = NodePath("Body:position")
  682. tracks/0/interp = 1
  683. tracks/0/loop_wrap = true
  684. tracks/0/imported = false
  685. tracks/0/enabled = true
  686. tracks/0/keys = {
  687. "times": PoolRealArray( 0.00350559, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
  688. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
  689. "update": 0,
  690. "values": [ Vector2( -0.75, 0.75 ), Vector2( -0.75, 2 ), Vector2( -0.75, 0 ), Vector2( -0.75, -0.75 ), Vector2( -0.75, 0.75 ), Vector2( -0.75, 2 ), Vector2( -0.75, 0 ), Vector2( -0.75, -0.75 ) ]
  691. }
  692. tracks/1/type = "value"
  693. tracks/1/path = NodePath("Body:rotation_degrees")
  694. tracks/1/interp = 1
  695. tracks/1/loop_wrap = true
  696. tracks/1/imported = false
  697. tracks/1/enabled = true
  698. tracks/1/keys = {
  699. "times": PoolRealArray( 0.00350559 ),
  700. "transitions": PoolRealArray( 1 ),
  701. "update": 0,
  702. "values": [ 0.0 ]
  703. }
  704. tracks/2/type = "value"
  705. tracks/2/path = NodePath("Body/Right Hand:position")
  706. tracks/2/interp = 1
  707. tracks/2/loop_wrap = true
  708. tracks/2/imported = false
  709. tracks/2/enabled = true
  710. tracks/2/keys = {
  711. "times": PoolRealArray( 0.00350559, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
  712. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
  713. "update": 0,
  714. "values": [ Vector2( -4.91311, -0.216038 ), Vector2( -6.95929, -1.06861 ), Vector2( -2.52591, 0.380762 ), Vector2( 3.4421, 1.06282 ), Vector2( 5.31776, 1.06282 ), Vector2( 6.59661, 0.210247 ), Vector2( 0.287579, 1.65962 ), Vector2( -2.52591, 0.977562 ) ]
  715. }
  716. tracks/3/type = "value"
  717. tracks/3/path = NodePath("Body/Left Hand:position")
  718. tracks/3/interp = 1
  719. tracks/3/loop_wrap = true
  720. tracks/3/imported = false
  721. tracks/3/enabled = true
  722. tracks/3/keys = {
  723. "times": PoolRealArray( -2.32831e-10, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
  724. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
  725. "update": 0,
  726. "values": [ Vector2( 8.62523, -0.728951 ), Vector2( 10.5009, -0.643694 ), Vector2( 5.81174, -0.217408 ), Vector2( 0.696301, 0.379392 ), Vector2( -3.39605, 0.549907 ), Vector2( -4.84542, 0.294136 ), Vector2( 1.63413, 1.573 ), Vector2( 6.74957, 1.14671 ) ]
  727. }
  728. tracks/4/type = "value"
  729. tracks/4/path = NodePath("Body/Right Foot:position")
  730. tracks/4/interp = 1
  731. tracks/4/loop_wrap = true
  732. tracks/4/imported = false
  733. tracks/4/enabled = true
  734. tracks/4/keys = {
  735. "times": PoolRealArray( -2.32831e-10, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
  736. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
  737. "update": 0,
  738. "values": [ Vector2( 4.0753, 8.96484 ), Vector2( 4.41633, 8.02701 ), Vector2( 0.750264, 10.1584 ), Vector2( -2.40425, 10.4995 ), Vector2( -5.13249, 8.87957 ), Vector2( -6.15558, 8.19752 ), Vector2( -2.9158, 9.05009 ), Vector2( 2.28489, 9.30586 ) ]
  739. }
  740. tracks/5/type = "value"
  741. tracks/5/path = NodePath("Body/Right Foot:rotation_degrees")
  742. tracks/5/interp = 1
  743. tracks/5/loop_wrap = true
  744. tracks/5/imported = false
  745. tracks/5/enabled = true
  746. tracks/5/keys = {
  747. "times": PoolRealArray( -0.00350559, 0.2, 0.4, 0.8, 1, 1.2, 1.4 ),
  748. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ),
  749. "update": 0,
  750. "values": [ -23.6647, 0.0, 0.0, 45.6642, 93.5603, 93.5603, 60.3923 ]
  751. }
  752. tracks/6/type = "value"
  753. tracks/6/path = NodePath("Body/Left Foot:position")
  754. tracks/6/interp = 1
  755. tracks/6/loop_wrap = true
  756. tracks/6/imported = false
  757. tracks/6/enabled = true
  758. tracks/6/keys = {
  759. "times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
  760. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
  761. "update": 0,
  762. "values": [ Vector2( -3.95593, 8.46182 ), Vector2( -3.78541, 7.95027 ), Vector2( -0.630892, 9.22913 ), Vector2( 4.05826, 9.05862 ), Vector2( 6.27495, 9.14388 ), Vector2( 5.59289, 8.12079 ), Vector2( 1.84157, 9.9112 ), Vector2( -3.78541, 9.99646 ) ]
  763. }
  764. tracks/7/type = "value"
  765. tracks/7/path = NodePath("Body/Left Foot:rotation_degrees")
  766. tracks/7/interp = 1
  767. tracks/7/loop_wrap = true
  768. tracks/7/imported = false
  769. tracks/7/enabled = true
  770. tracks/7/keys = {
  771. "times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
  772. "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
  773. "update": 0,
  774. "values": [ 30.2969, 101.405, 101.405, 49.9436, -33.5517, 0.0, 0.0, 49.7383 ]
  775. }
  776. [sub_resource type="AnimationNodeAnimation" id=46]
  777. animation = "Walk"
  778. [sub_resource type="AnimationNodeAnimation" id=8]
  779. animation = "Run"
  780. [sub_resource type="AnimationNodeAnimation" id=9]
  781. animation = "Breath"
  782. [sub_resource type="AnimationNodeTimeScale" id=10]
  783. [sub_resource type="AnimationNodeBlendTree" id=11]
  784. nodes/Animation/node = SubResource( 9 )
  785. nodes/Animation/position = Vector2( 60, 120 )
  786. nodes/BreathRate/node = SubResource( 10 )
  787. nodes/BreathRate/position = Vector2( 280, 120 )
  788. nodes/output/position = Vector2( 680, 140 )
  789. node_connections = [ "output", 0, "BreathRate", "BreathRate", 0, "Animation" ]
  790. [sub_resource type="AnimationNodeBlend2" id=12]
  791. [sub_resource type="AnimationNodeAnimation" id=13]
  792. animation = "Blink"
  793. [sub_resource type="AnimationNodeAnimation" id=24]
  794. animation = "Eyebrow"
  795. [sub_resource type="AnimationNodeAnimation" id=30]
  796. animation = "HandsShuffleA"
  797. [sub_resource type="AnimationNodeAnimation" id=31]
  798. animation = "HandsShuffleB"
  799. [sub_resource type="AnimationNodeAnimation" id=32]
  800. animation = "FootShuffleA"
  801. [sub_resource type="AnimationNodeAnimation" id=15]
  802. animation = "Base"
  803. [sub_resource type="AnimationNodeOneShot" id=33]
  804. [sub_resource type="AnimationNodeTransition" id=34]
  805. input_count = 3
  806. input_0/name = "Blink"
  807. input_0/auto_advance = false
  808. input_1/name = "EyeBrow"
  809. input_1/auto_advance = false
  810. input_2/name = "ShakeHead"
  811. input_2/auto_advance = false
  812. [sub_resource type="AnimationNodeOneShot" id=35]
  813. [sub_resource type="AnimationNodeTransition" id=36]
  814. input_count = 2
  815. input_0/name = "Fidget"
  816. input_0/auto_advance = false
  817. input_1/name = "Contemplate"
  818. input_1/auto_advance = false
  819. [sub_resource type="AnimationNodeOneShot" id=25]
  820. [sub_resource type="AnimationNodeAnimation" id=38]
  821. animation = "LookAtCamera"
  822. [sub_resource type="AnimationNodeAnimation" id=47]
  823. animation = "LookAtCamera"
  824. [sub_resource type="AnimationNodeAnimation" id=39]
  825. animation = "LookFromCamera"
  826. [sub_resource type="AnimationNodeAnimation" id=40]
  827. animation = "LookFromCamera"
  828. [sub_resource type="AnimationNodeStateMachineTransition" id=41]
  829. switch_mode = 2
  830. auto_advance = true
  831. [sub_resource type="AnimationNodeStateMachineTransition" id=42]
  832. switch_mode = 2
  833. auto_advance = true
  834. [sub_resource type="AnimationNodeStateMachineTransition" id=48]
  835. switch_mode = 2
  836. auto_advance = true
  837. [sub_resource type="AnimationNodeStateMachine" id=44]
  838. states/LookAtCamera/node = SubResource( 47 )
  839. states/LookAtCamera/position = Vector2( 382, 12 )
  840. "states/LookAtCamera 2/node" = SubResource( 38 )
  841. "states/LookAtCamera 2/position" = Vector2( 338, 257 )
  842. states/LookFromCamera/node = SubResource( 39 )
  843. states/LookFromCamera/position = Vector2( 601, 135 )
  844. states/ShakeHead/node = SubResource( 40 )
  845. states/ShakeHead/position = Vector2( 122, 143 )
  846. transitions = [ "LookFromCamera", "LookAtCamera 2", SubResource( 41 ), "LookAtCamera 2", "ShakeHead", SubResource( 42 ), "LookAtCamera", "LookFromCamera", SubResource( 48 ) ]
  847. start_node = "LookAtCamera"
  848. end_node = "ShakeHead"
  849. graph_offset = Vector2( -163, -106 )
  850. [sub_resource type="AnimationNodeBlendTree" id=18]
  851. graph_offset = Vector2( -40.5663, 152.619 )
  852. nodes/Animation/node = SubResource( 15 )
  853. nodes/Animation/position = Vector2( 400, 160 )
  854. "nodes/Animation 2/node" = SubResource( 13 )
  855. "nodes/Animation 2/position" = Vector2( 120, 300 )
  856. "nodes/Animation 3/node" = SubResource( 24 )
  857. "nodes/Animation 3/position" = Vector2( 120, 420 )
  858. "nodes/Animation 4/node" = SubResource( 30 )
  859. "nodes/Animation 4/position" = Vector2( 580, 380 )
  860. "nodes/Animation 5/node" = SubResource( 31 )
  861. "nodes/Animation 5/position" = Vector2( 580, 500 )
  862. "nodes/Animation 6/node" = SubResource( 32 )
  863. "nodes/Animation 6/position" = Vector2( 1100, 80 )
  864. nodes/Expression/node = SubResource( 33 )
  865. nodes/Expression/position = Vector2( 600, 160 )
  866. nodes/FaceState/node = SubResource( 34 )
  867. nodes/FaceState/position = Vector2( 380, 340 )
  868. nodes/Feet/node = SubResource( 35 )
  869. nodes/Feet/position = Vector2( 1400, 80 )
  870. nodes/HandState/node = SubResource( 36 )
  871. nodes/HandState/position = Vector2( 860, 400 )
  872. nodes/Hands/node = SubResource( 25 )
  873. nodes/Hands/position = Vector2( 1080, 200 )
  874. nodes/ShakeHead/node = SubResource( 44 )
  875. nodes/ShakeHead/position = Vector2( 120, 540 )
  876. nodes/output/position = Vector2( 1820, 120 )
  877. node_connections = [ "output", 0, "Feet", "Expression", 0, "Animation", "Expression", 1, "FaceState", "FaceState", 0, "Animation 2", "FaceState", 1, "Animation 3", "FaceState", 2, "ShakeHead", "HandState", 0, "Animation 4", "HandState", 1, "Animation 5", "Hands", 0, "Expression", "Hands", 1, "HandState", "Feet", 0, "Hands", "Feet", 1, "Animation 6" ]
  878. [sub_resource type="AnimationNodeTransition" id=19]
  879. input_count = 4
  880. input_0/name = "Idle"
  881. input_0/auto_advance = false
  882. input_1/name = "Run"
  883. input_1/auto_advance = false
  884. input_2/name = "Walk"
  885. input_2/auto_advance = false
  886. input_3/name = "Jump"
  887. input_3/auto_advance = false
  888. [sub_resource type="AnimationNodeBlendTree" id=20]
  889. graph_offset = Vector2( 162, 134 )
  890. nodes/Animation/node = SubResource( 8 )
  891. nodes/Animation/position = Vector2( 140, 280 )
  892. "nodes/Animation 2/node" = SubResource( 46 )
  893. "nodes/Animation 2/position" = Vector2( 140, 400 )
  894. nodes/Breath/node = SubResource( 11 )
  895. nodes/Breath/position = Vector2( 640, 340 )
  896. nodes/BreathCtrl/node = SubResource( 12 )
  897. nodes/BreathCtrl/position = Vector2( 900, 220 )
  898. nodes/Idle/node = SubResource( 18 )
  899. nodes/Idle/position = Vector2( 140, 160 )
  900. nodes/State/node = SubResource( 19 )
  901. nodes/State/position = Vector2( 660, 120 )
  902. nodes/output/position = Vector2( 1460, 160 )
  903. node_connections = [ "output", 0, "BreathCtrl", "State", 0, "Idle", "State", 1, "Animation", "State", 2, "Animation 2", "BreathCtrl", 0, "State", "BreathCtrl", 1, "Breath" ]
  904. [sub_resource type="AnimationNodeStateMachinePlayback" id=45]
  905. [node name="Player" type="KinematicBody2D"]
  906. position = Vector2( 0, -0.174824 )
  907. [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
  908. shape = SubResource( 1 )
  909. [node name="Body" type="Position2D" parent="."]
  910. position = Vector2( -0.75, 1.60819 )
  911. [node name="Sprite" type="Sprite" parent="Body"]
  912. position = Vector2( 0.348317, 0 )
  913. scale = Vector2( 1.00226, 1 )
  914. texture = ExtResource( 1 )
  915. vframes = 16
  916. hframes = 16
  917. frame = 16
  918. [node name="Head" type="Position2D" parent="Body"]
  919. position = Vector2( 0.291992, -5.2558 )
  920. rotation = 0.0950778
  921. [node name="Sprite" type="Sprite" parent="Body/Head"]
  922. position = Vector2( 0.291992, -2.04392 )
  923. texture = ExtResource( 1 )
  924. vframes = 16
  925. hframes = 16
  926. [node name="Right Hand" type="Position2D" parent="Body"]
  927. position = Vector2( 6.38461, 1.3514 )
  928. [node name="Sprite" type="Sprite" parent="Body/Right Hand"]
  929. position = Vector2( 0.404972, 0.728954 )
  930. texture = ExtResource( 1 )
  931. region_enabled = true
  932. region_rect = Rect2( 5, 32, 5, 5 )
  933. [node name="Left Hand" type="Position2D" parent="Body"]
  934. show_behind_parent = true
  935. position = Vector2( -5.3208, 1.31172 )
  936. [node name="Sprite" type="Sprite" parent="Body/Left Hand"]
  937. position = Vector2( 0.404972, 0.728954 )
  938. texture = ExtResource( 1 )
  939. region_enabled = true
  940. region_rect = Rect2( 5, 36, 5, 5 )
  941. [node name="Right Foot" type="Position2D" parent="Body"]
  942. position = Vector2( -4.16048, 9.55858 )
  943. [node name="Sprite" type="Sprite" parent="Body/Right Foot"]
  944. position = Vector2( 0.485966, 0.890942 )
  945. texture = ExtResource( 1 )
  946. region_enabled = true
  947. region_rect = Rect2( 0, 32, 5, 4 )
  948. [node name="Left Foot" type="Position2D" parent="Body"]
  949. show_behind_parent = true
  950. position = Vector2( 5.8789, 7.84067 )
  951. [node name="Sprite" type="Sprite" parent="Body/Left Foot"]
  952. position = Vector2( 0.485966, 0.890942 )
  953. texture = ExtResource( 1 )
  954. region_enabled = true
  955. region_rect = Rect2( 0, 36, 5, 4 )
  956. [node name="icon" type="Sprite" parent="."]
  957. position = Vector2( 0.0053978, 44.3479 )
  958. texture = ExtResource( 2 )
  959. [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
  960. anims/Base = SubResource( 2 )
  961. anims/Blink = SubResource( 3 )
  962. anims/Breath = SubResource( 4 )
  963. anims/Eyebrow = SubResource( 6 )
  964. anims/FootShuffleA = SubResource( 21 )
  965. anims/HandsShuffleA = SubResource( 22 )
  966. anims/HandsShuffleB = SubResource( 23 )
  967. anims/LookAtCamera = SubResource( 26 )
  968. anims/LookDown = SubResource( 27 )
  969. anims/LookFromCamera = SubResource( 28 )
  970. anims/Run = SubResource( 7 )
  971. anims/Walk = SubResource( 29 )
  972. [node name="AnimationTree" type="AnimationTree" parent="."]
  973. tree_root = SubResource( 20 )
  974. anim_player = NodePath("../AnimationPlayer")
  975. parameters/Breath/BreathRate/scale = 1.0
  976. parameters/BreathCtrl/blend_amount = 0.5
  977. parameters/Idle/Expression/active = false
  978. parameters/Idle/FaceState/current = 2
  979. parameters/Idle/Feet/active = false
  980. parameters/Idle/HandState/current = 0
  981. parameters/Idle/Hands/active = false
  982. parameters/Idle/ShakeHead/playback = SubResource( 45 )
  983. parameters/State/current = 1