SecondDay

This commit is contained in:
Vlad Rud 2024-10-05 20:44:32 +03:00
parent 281a9ee400
commit a288d9f1a1
64 changed files with 14374 additions and 90 deletions

File diff suppressed because one or more lines are too long

View File

@ -3,9 +3,9 @@ mtllib background.mtl
o plane
v 0.5 0.3125 0.5
v 0.5 0 -0.5
v 0.5 0 -0.5625000000000002
v -0.5 0.3125 0.5
v -0.5 0 -0.5
v -0.5 0 -0.5625000000000002
v 0.5 0.14583367270962758 0.16666775267080824
v -0.5 0.14583367270962758 0.16666775267080824
v 0.5 0.04166717573166087 -0.16666503765868518
@ -28,10 +28,10 @@ vt 0 1
vt 0 0.9375
vt 1 0.9375
vt 1 1
vn 0 0.9922777648072294 -0.12403562983743448
vn 0 0.9945053646183714 -0.1046856233934747
vn 0 0.8944269724450329 -0.447214032609457
vn 0 0.9544799780350297 -0.2982749931359468
vn 0 0.5235550571328688 -0.8519918439460548
vn 0 0.44103945534084765 -0.8974877151430257
usemtl m_3faa339c-1a1f-acb0-d167-578e9ad5cc6b
f 4/1/1 8/2/1 7/3/1 2/4/1
f 1/5/2 5/6/2 6/7/2 3/8/2
@ -39,9 +39,9 @@ f 5/9/3 7/10/3 8/11/3 6/12/3
f 2/13/4 9/14/4 10/15/4 4/16/4
o plane
v -0.5 0.3125 0.5
v -0.5 0 -0.5
v -0.5 0 -0.5625
v -1.5 0.3125 0.5
v -1.5 0 -0.5
v -1.5 0 -0.5625
v -0.5 0.14583367270962758 0.16666775267080824
v -1.5 0.14583367270962758 0.16666775267080824
v -0.5 0.04166717573166087 -0.16666503765868518
@ -64,10 +64,10 @@ vt 0 1
vt 0 0.9375
vt 1 0.9375
vt 1 1
vn 0 0.9922777648072294 -0.12403562983743448
vn 0 0.9945053646183712 -0.10468562339347474
vn 0 0.8944269724450329 -0.447214032609457
vn 0 0.9544799780350297 -0.2982749931359468
vn 0 0.5235550571328688 -0.8519918439460548
vn 0 0.44103945534084793 -0.8974877151430255
usemtl m_3faa339c-1a1f-acb0-d167-578e9ad5cc6b
f 14/17/5 18/18/5 17/19/5 12/20/5
f 11/21/6 15/22/6 16/23/6 13/24/6
@ -75,9 +75,9 @@ f 15/25/7 17/26/7 18/27/7 16/28/7
f 12/29/8 19/30/8 20/31/8 14/32/8
o plane
v 1.5 0.3125 0.5
v 1.5 0 -0.5
v 1.5 0 -0.5625
v 0.5 0.3125 0.5
v 0.5 0 -0.5
v 0.5 0 -0.5625
v 1.5 0.14583367270962758 0.16666775267080824
v 0.5 0.14583367270962758 0.16666775267080824
v 1.5 0.04166717573166087 -0.16666503765868518
@ -100,10 +100,10 @@ vt 0 1
vt 0 0.9375
vt 1 0.9375
vt 1 1
vn 0 0.9922777648072294 -0.12403562983743448
vn 0 0.9945053646183712 -0.10468562339347474
vn 0 0.8944269724450329 -0.447214032609457
vn 0 0.9544799780350297 -0.2982749931359468
vn 0 0.5235550571328688 -0.8519918439460548
vn 0 0.44103945534084793 -0.8974877151430255
usemtl m_3faa339c-1a1f-acb0-d167-578e9ad5cc6b
f 24/33/9 28/34/9 27/35/9 22/36/9
f 21/37/10 25/38/10 26/39/10 23/40/10

Binary file not shown.

Before

Width:  |  Height:  |  Size: 652 B

After

Width:  |  Height:  |  Size: 661 B

View File

@ -0,0 +1,4 @@
# Made in Blockbench 4.11.1
newmtl m_10abcfa1-83ef-c20e-f2e1-1e5a0dc63dbd
map_Kd chariot.png
newmtl none

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,4 @@
# Made in Blockbench 4.11.1
newmtl m_10abcfa1-83ef-c20e-f2e1-1e5a0dc63dbd
map_Kd chariot.png
newmtl none

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,138 @@
{
"format_version": "1.8.0",
"animations": {
"idle": {
"loop": true,
"animation_length": 2,
"bones": {
"Thor": {
"rotation": {
"0.0": [0, 0, 0],
"1.0": {
"pre": [0, 0, 10],
"post": [0, 0, 10],
"lerp_mode": "catmullrom"
},
"2.0": [0, 0, 0]
}
},
"shoulder_l": {
"rotation": {
"0.0": [0, 0, 0],
"1.0": {
"pre": [0, 0, -20],
"post": [0, 0, -20],
"lerp_mode": "catmullrom"
},
"2.0": [0, 0, 0]
}
},
"shoulder_r": {
"rotation": {
"0.0": [0, 0, 0],
"1.0": {
"pre": [17.5, 0, 0],
"post": [17.5, 0, 0],
"lerp_mode": "catmullrom"
},
"2.0": [0, 0, 0]
}
},
"arm_r": {
"rotation": {
"0.0": {
"post": [4.88673, 0.76577, 0.76425],
"lerp_mode": "catmullrom"
},
"1.0417": {
"post": [17.15714, 2.89593, 2.30957],
"lerp_mode": "catmullrom"
},
"2.0": {
"post": [4.88673, 0.76577, 0.76425],
"lerp_mode": "catmullrom"
}
}
},
"leg_l": {
"rotation": {
"0.0": [0, 0, 0],
"1.0": {
"pre": [0, 0, -7.5],
"post": [0, 0, -7.5],
"lerp_mode": "catmullrom"
},
"2.0": [0, 0, 0]
}
},
"leg_r": {
"rotation": {
"0.0": [0, 0, 0],
"1.0": {
"pre": [0, 0, -15],
"post": [0, 0, -15],
"lerp_mode": "catmullrom"
},
"2.0": [0, 0, 0]
}
}
}
},
"attack": {
"loop": "hold_on_last_frame",
"animation_length": 0.25,
"bones": {
"Thor": {
"rotation": {
"0.0": [0, 0, 0],
"0.0417": [0, 0, 11.3546],
"0.0833": [0, 0, 18.12846],
"0.125": [0, 0, 21.27275],
"0.1667": [0, 0, 22.61358],
"0.2083": [0, 0, 22.90298],
"0.25": [0, 0, 22.5]
}
},
"shoulder_l": {
"rotation": {
"0.0": [0, 0, 0],
"0.25": [42.5, -20, 0]
}
},
"shoulder_r": {
"rotation": {
"0.0": [0, 0, 0],
"0.0417": [14.30186, 0, 0],
"0.0833": [30.19141, 0, 0],
"0.125": [42.89321, 0, 0],
"0.1667": [48.25868, 0, 0],
"0.2083": [46.60189, 0, 0],
"0.25": [40, 0, 0]
}
},
"arm_r": {
"rotation": {
"0.0": [0, 0, 0],
"0.0417": [23.49155, 0, 0],
"0.0833": [36.85626, 0, 0],
"0.125": [44.95301, 0, 0],
"0.1667": [49.34104, 0, 0],
"0.2083": [50.85004, 0, 0],
"0.25": [50, 0, 0]
}
},
"Mjolnir": {
"rotation": {
"0.0": [0, 0, 0],
"0.0417": [0, 44.8919, 0],
"0.0833": [0, 73.91187, 0],
"0.125": [0, 84.29875, 0],
"0.1667": [0, 86.14593, 0],
"0.2083": [0, 83.30895, 0],
"0.25": [0, 77.5, 0]
}
}
}
}
}
}

File diff suppressed because one or more lines are too long

BIN
assets/models/chariot.glb Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,4 @@
# Made in Blockbench 4.11.1
newmtl m_10abcfa1-83ef-c20e-f2e1-1e5a0dc63dbd
map_Kd chariot.png
newmtl none

3555
assets/models/chariot.obj Normal file

File diff suppressed because it is too large Load Diff

BIN
assets/models/chariot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
assets/models/chariot2.glb Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -0,0 +1,4 @@
# Made in Blockbench 4.11.1
newmtl m_e91deb1f-314d-b464-5ad0-3ad418fd0550
map_Kd snake_body.png
newmtl none

View File

@ -0,0 +1,603 @@
# Made in Blockbench 4.11.1
mtllib snake_body.mtl
o Body
v 0 -0.28125 0
v 0 0.28125 0
v 0.2938926261462365 0.22753602966795397 0.08355506496096045
v 0.47552825814757677 0.08691102966795397 0.1351949350390394
v 0.4755282581475768 -0.08691102966795394 0.13519493503903943
v 0.29389262614623657 -0.22753602966795392 0.08355506496096046
v 0.18163563200134022 0.22753602966795397 0.21874999999999994
v 0.2938926261462365 0.08691102966795397 0.3539449350390394
v 0.29389262614623657 -0.08691102966795394 0.35394493503903945
v 0.18163563200134025 -0.22753602966795392 0.21875000000000003
v 4.111677822504684e-17 0.22753602966795397 0.27038987007807896
v 6.652834467601736e-17 0.08691102966795397 0.43749999999999994
v 6.652834467601736e-17 -0.08691102966795394 0.4375
v 4.1116778225046844e-17 -0.22753602966795392 0.270389870078079
v -0.29389262614623646 0.08691102966795397 0.3539449350390395
v -0.2938926261462365 -0.08691102966795394 0.35394493503903957
v -0.1816356320013402 -0.22753602966795392 0.21875000000000008
v -0.2938926261462365 0.22753602966795397 0.08355506496096056
v -0.47552825814757665 0.08691102966795397 0.13519493503903957
v -0.4755282581475767 -0.08691102966795394 0.1351949350390396
v -0.29389262614623657 -0.22753602966795392 0.08355506496096057
v -0.18163563200134014 0.22753602966795397 0.21875
v 0.2938926261462365 0.22753602966795397 -0.08355506496096059
v 0.47552825814757665 0.08691102966795397 -0.13519493503903962
v 0.4755282581475767 -0.08691102966795394 -0.13519493503903965
v 0.29389262614623657 -0.22753602966795392 -0.0835550649609606
v 0.1816356320013401 0.22753602966795397 -0.21875
v 0.2938926261462364 0.08691102966795397 -0.3539449350390395
v 0.29389262614623646 -0.08691102966795394 -0.35394493503903957
v 0.18163563200134014 -0.22753602966795392 -0.21875000000000008
v -7.896044552938833e-17 0.22753602966795397 -0.27038987007807896
v -1.27760684633385e-16 0.08691102966795397 -0.43749999999999994
v -1.2776068463338503e-16 -0.08691102966795394 -0.4375
v -7.896044552938836e-17 -0.22753602966795392 -0.270389870078079
v -0.29389262614623657 0.08691102966795397 -0.3539449350390394
v -0.2938926261462366 -0.08691102966795394 -0.35394493503903945
v -0.1816356320013403 -0.22753602966795392 -0.21875000000000003
v -0.2938926261462365 0.22753602966795397 -0.08355506496096042
v -0.47552825814757677 0.08691102966795397 -0.13519493503903934
v -0.4755282581475768 -0.08691102966795394 -0.13519493503903937
v -0.29389262614623657 -0.22753602966795392 -0.08355506496096043
v -0.18163563200134025 0.22753602966795397 -0.21874999999999994
vt 0.1467787378889731 0.765625
vt 0.105062906830619 0.7633443931451295
vt 0.12999807454307535 0.6899054402238683
vt 0.3619234375 0.8051184645024326
vt 0.3490140625 0.7476919020024326
vt 0.4166109375 0.7476919020024326
vt 0.4037015625 0.8051184645024326
vt 0.09375 0.53125
vt 0.09375 0.484375
vt 0.15625 0.484375
vt 0.15625 0.53125
vt 0.3490140625 0.9866819111700128
vt 0.3619234375 0.9292553486700128
vt 0.4037015625 0.9292553486700128
vt 0.4166109375 0.9866819111700128
vt 0.13447155278769665 0.78125
vt 0.1761873838460508 0.7835306068548705
vt 0.15125221613359444 0.8569695597761317
vt 0.10910903243751116 0.6152140685751771
vt 0.15088715743751116 0.6152140685751771
vt 0.12999809493751116 0.6899046935751771
vt 0.10910903243751116 0.6152140685751771
vt 0.09619965743751116 0.5577875060751771
vt 0.16379653243751116 0.5577875060751771
vt 0.15088715743751116 0.6152140685751771
vt 0.5 1
vt 0.5 0.953125
vt 0.5625 0.953125
vt 0.5625 1
vt 0.11745375823915868 0.9890874939248229
vt 0.13036313323915869 0.9316609314248229
vt 0.17214125823915868 0.9316609314248229
vt 0.18505063323915869 0.9890874939248229
vt 0.17214125823915868 0.9316609314248229
vt 0.13036313323915869 0.9316609314248229
vt 0.15125219573915868 0.8569703064248229
vt 0.18747471059259646 0.7338315108784277
vt 0.15493328304440332 0.7633443931451295
vt 0.1299981839154546 0.6899056422157317
vt 0.3244976617707567 0.828125
vt 0.2884583103809927 0.7849148114382066
vt 0.3490140625 0.7476919020024326
vt 0.3619237042964317 0.8051196513299872
vt 0.449646875 0.71875
vt 0.449646875 0.67529375
vt 0.520728125 0.67529375
vt 0.520728125 0.71875
vt 0.2884580435845609 0.9494601885617934
vt 0.3244973949743249 0.90625
vt 0.3619234375 0.9292553486700128
vt 0.3490137957035683 0.9866830979975674
vt 0.1761873838460508 0.7835306068548705
vt 0.2087288113942439 0.8130434891215723
vt 0.1512522847171021 0.8569693577842683
vt 0.2131759477837371 0.6783525143343117
vt 0.26458176669473216 0.6599442296192034
vt 0.27471666942140843 0.735654831218152
vt 0.2194396978805685 0.7251445064121775
vt 0.3732609375 0.71875
vt 0.3732609375 0.67529375
vt 0.449646875 0.67529375
vt 0.449646875 0.71875
vt 0.2747169600980782 0.8570258344585797
vt 0.22014508714845923 0.858851716939229
vt 0.2087288113942439 0.8130434891215723
vt 0.25624514329804104 0.7829069877874409
vt 0.2087288113942439 0.8130434891215723
vt 0.22014508714845923 0.858851716939229
vt 0.15125155518063002 0.8569699153253222
vt 0.296875 0.71875
vt 0.296875 0.67529375
vt 0.3732609375 0.67529375
vt 0.3732609375 0.71875
vt 0.25204560383364316 0.9366538568529853
vt 0.2062452295304151 0.9039684438383373
vt 0.22014508714845923 0.858851716939229
vt 0.27453591757473406 0.8636538757873631
vt 0.22014508714845923 0.858851716939229
vt 0.2062452295304151 0.9039684438383373
vt 0.15125155518063002 0.8569699153253222
vt 0 0.53125
vt 0 0.484375
vt 0.078125 0.484375
vt 0.078125 0.53125
vt 0.19243445752367688 0.9869130020370583
vt 0.17214125823915868 0.9316609314248229
vt 0.2062452295304151 0.9039684438383373
vt 0.24761506152075463 0.942106249821793
vt 0.20624522953041513 0.9039684438383373
vt 0.17214125823915868 0.9316609314248229
vt 0.15125225319396282 0.8569705118593766
vt 0.19889098634681174 0.688023283060771
vt 0.18747471059259643 0.7338315108784277
vt 0.12999745437898252 0.6899050846746778
vt 0.15088715743751116 0.6152140685751771
vt 0.1849911287287676 0.6429065561616627
vt 0.1299981523923153 0.6899044881406234
vt 0.1508868906410794 0.6152152554027317
vt 0.16379653243751116 0.5577875060751771
vt 0.2243522845565185 0.5950104155109511
vt 0.1883129331667545 0.6382206040727445
vt 0.1849911287287676 0.6429065561616627
vt 0.19889098634681174 0.688023283060771
vt 0.12999745437898252 0.6899050846746778
vt 0.18831261860984658 0.6382209812178035
vt 0.2243522845565185 0.5950104155109511
vt 0.26458176669473216 0.6599442296192034
vt 0.2131759477837371 0.6783525143343117
vt 0.15493328304440332 0.7633443931451295
vt 0.18747471059259646 0.7338315108784277
vt 0.1299981839154546 0.6899056422157317
vt 0.3490140625 0.7476919020024326
vt 0.2884583103809927 0.7849148114382066
vt 0.3244976617707567 0.828125
vt 0.3619237042964317 0.8051196513299872
vt 0.520728125 0.67529375
vt 0.449646875 0.67529375
vt 0.449646875 0.71875
vt 0.520728125 0.71875
vt 0.3619234375 0.9292553486700128
vt 0.3244973949743249 0.90625
vt 0.2884580435845609 0.9494601885617934
vt 0.3490137957035683 0.9866830979975674
vt 0.2087288113942439 0.8130434891215723
vt 0.1761873838460508 0.7835306068548705
vt 0.1512522847171021 0.8569693577842683
vt 0.27471666942140843 0.735654831218152
vt 0.26458176669473216 0.6599442296192034
vt 0.2131759477837371 0.6783525143343117
vt 0.2194396978805685 0.7251445064121775
vt 0.449646875 0.67529375
vt 0.3732609375 0.67529375
vt 0.3732609375 0.71875
vt 0.449646875 0.71875
vt 0.2087288113942439 0.8130434891215723
vt 0.22014508714845923 0.858851716939229
vt 0.2747169600980782 0.8570258344585797
vt 0.25624514329804104 0.7829069877874409
vt 0.22014508714845923 0.858851716939229
vt 0.2087288113942439 0.8130434891215723
vt 0.15125155518063002 0.8569699153253222
vt 0.3732609375 0.67529375
vt 0.296875 0.67529375
vt 0.296875 0.71875
vt 0.3732609375 0.71875
vt 0.22014508714845923 0.858851716939229
vt 0.2062452295304151 0.9039684438383373
vt 0.25204560383364316 0.9366538568529853
vt 0.27453591757473406 0.8636538757873631
vt 0.2062452295304151 0.9039684438383373
vt 0.22014508714845923 0.858851716939229
vt 0.15125155518063002 0.8569699153253222
vt 0.078125 0.484375
vt 0 0.484375
vt 0 0.53125
vt 0.078125 0.53125
vt 0.2062452295304151 0.9039684438383373
vt 0.17214125823915868 0.9316609314248229
vt 0.19243445752367688 0.9869130020370583
vt 0.24761506152075463 0.942106249821793
vt 0.17214125823915868 0.9316609314248229
vt 0.20624522953041513 0.9039684438383373
vt 0.15125225319396282 0.8569705118593766
vt 0.18747471059259643 0.7338315108784277
vt 0.19889098634681174 0.688023283060771
vt 0.12999745437898252 0.6899050846746778
vt 0.1849911287287676 0.6429065561616627
vt 0.15088715743751116 0.6152140685751771
vt 0.1299981523923153 0.6899044881406234
vt 0.2243522845565185 0.5950104155109511
vt 0.16379653243751116 0.5577875060751771
vt 0.1508868906410794 0.6152152554027317
vt 0.1883129331667545 0.6382206040727445
vt 0.19889098634681174 0.688023283060771
vt 0.1849911287287676 0.6429065561616627
vt 0.12999745437898252 0.6899050846746778
vt 0.26458176669473216 0.6599442296192034
vt 0.2243522845565185 0.5950104155109511
vt 0.18831261860984658 0.6382209812178035
vt 0.2131759477837371 0.6783525143343117
vn 0.17978916604272266 0.9837051670971656 -3.992121434375721e-17
vn 0.6121837144879707 0.7907155618272039 -1.3593209102501962e-16
vn 1 3.1935619358866036e-16 -2.220446049250313e-16
vn 0.6121837144879706 -0.790715561827204 -1.359320910250196e-16
vn 0.17978916604272283 -0.9837051670971656 -3.9921214343757244e-17
vn -0.17978916604272266 0.9837051670971655 3.992121434375721e-17
vn -0.6121837144879707 0.7907155618272039 1.3593209102501962e-16
vn -1 3.1935619358866036e-16 2.220446049250313e-16
vn -0.6121837144879706 -0.7907155618272043 1.359320910250196e-16
vn -0.17978916604272283 -0.9837051670971656 3.9921214343757244e-17
vn 0.14520449799989554 0.9820279752403004 0.12056827777667826
vn 0.48573415482098625 0.7754959100261777 0.40332173803678484
vn 0.7693548139801373 4.497098928590716e-16 0.6388217045511121
vn 0.4857341548209864 -0.7754959100261778 0.4033217380367847
vn 0.14520449799989568 -0.9820279752403005 0.12056827777667836
vn 0.18006315858611255 0.7526291135866146 0.6333456215225772
vn 0.27346739937930764 3.0718274171883443e-16 0.9618812720272282
vn 0.1800631585861124 -0.7526291135866146 0.6333456215225771
vn 0.0553109359142126 -0.979332298439532 0.1945480650159172
vn -0.2734673993793072 3.945162494552e-16 0.9618812720272282
vn -0.18006315858611213 -0.7526291135866147 0.6333456215225773
vn -0.05531093591421252 -0.979332298439532 0.1945480650159172
vn -0.7693548139801372 3.477040588854401e-16 0.6388217045511122
vn -0.4857341548209862 -0.7754959100261778 0.40332173803678456
vn -0.14520449799989568 -0.9820279752403004 0.12056827777667832
vn 0.05531093591421258 0.979332298439532 0.19454806501591704
vn -0.14520449799989552 0.9820279752403004 0.12056827777667826
vn -0.4857341548209863 0.7754959100261778 0.40332173803678495
vn -0.0553109359142125 0.979332298439532 0.19454806501591704
vn -0.18006315858611227 0.7526291135866147 0.6333456215225772
vn 0.1452044979998955 0.9820279752403004 -0.1205682777766783
vn 0.48573415482098614 0.7754959100261778 -0.40332173803678506
vn 0.769354813980137 5.615959426555624e-16 -0.6388217045511125
vn 0.48573415482098614 -0.7754959100261778 -0.40332173803678495
vn 0.14520449799989563 -0.9820279752403005 -0.12056827777667842
vn 0.18006315858611227 0.7526291135866146 -0.6333456215225773
vn 0.27346739937930714 3.2663155944365295e-16 -0.9618812720272282
vn 0.18006315858611213 -0.7526291135866146 -0.6333456215225771
vn 0.05531093591421252 -0.979332298439532 -0.1945480650159172
vn -0.2734673993793077 3.9195787133238375e-16 -0.9618812720272282
vn -0.1800631585861124 -0.7526291135866143 -0.6333456215225771
vn -0.0553109359142126 -0.979332298439532 -0.1945480650159172
vn -0.7693548139801375 2.8079797132778116e-16 -0.6388217045511118
vn -0.4857341548209864 -0.7754959100261778 -0.4033217380367844
vn -0.14520449799989574 -0.9820279752403004 -0.12056827777667826
vn 0.055310935914212496 0.979332298439532 -0.19454806501591704
vn -0.14520449799989557 0.9820279752403004 -0.12056827777667821
vn -0.48573415482098636 0.7754959100261776 -0.4033217380367846
vn -0.055310935914212586 0.979332298439532 -0.19454806501591704
vn -0.18006315858611255 0.7526291135866146 -0.6333456215225772
usemtl m_e91deb1f-314d-b464-5ad0-3ad418fd0550
f 3/1/1 23/2/1 2/3/1
f 3/4/2 4/5/2 24/6/2 23/7/2
f 4/8/3 5/9/3 25/10/3 24/11/3
f 5/12/4 6/13/4 26/14/4 25/15/4
f 26/16/5 6/17/5 1/18/5
f 38/19/6 18/20/6 2/21/6
f 38/22/7 39/23/7 19/24/7 18/25/7
f 39/26/8 40/27/8 20/28/8 19/29/8
f 40/30/9 41/31/9 21/32/9 20/33/9
f 21/34/10 41/35/10 1/36/10
f 7/37/11 3/38/11 2/39/11
f 7/40/12 8/41/12 4/42/12 3/43/12
f 8/44/13 9/45/13 5/46/13 4/47/13
f 9/48/14 10/49/14 6/50/14 5/51/14
f 6/52/15 10/53/15 1/54/15
f 11/55/16 12/56/16 8/57/16 7/58/16
f 12/59/17 13/60/17 9/61/17 8/62/17
f 13/63/18 14/64/18 10/65/18 9/66/18
f 10/67/19 14/68/19 1/69/19
f 15/70/20 16/71/20 13/72/20 12/73/20
f 16/74/21 17/75/21 14/76/21 13/77/21
f 14/78/22 17/79/22 1/80/22
f 19/81/23 20/82/23 16/83/23 15/84/23
f 20/85/24 21/86/24 17/87/24 16/88/24
f 17/89/25 21/90/25 1/91/25
f 11/92/26 7/93/26 2/94/26
f 18/95/27 22/96/27 2/97/27
f 18/98/28 19/99/28 15/100/28 22/101/28
f 22/102/29 11/103/29 2/104/29
f 22/105/30 15/106/30 12/107/30 11/108/30
f 23/109/31 27/110/31 2/111/31
f 24/112/32 28/113/32 27/114/32 23/115/32
f 25/116/33 29/117/33 28/118/33 24/119/33
f 26/120/34 30/121/34 29/122/34 25/123/34
f 30/124/35 26/125/35 1/126/35
f 28/127/36 32/128/36 31/129/36 27/130/36
f 29/131/37 33/132/37 32/133/37 28/134/37
f 30/135/38 34/136/38 33/137/38 29/138/38
f 34/139/39 30/140/39 1/141/39
f 33/142/40 36/143/40 35/144/40 32/145/40
f 34/146/41 37/147/41 36/148/41 33/149/41
f 37/150/42 34/151/42 1/152/42
f 36/153/43 40/154/43 39/155/43 35/156/43
f 37/157/44 41/158/44 40/159/44 36/160/44
f 41/161/45 37/162/45 1/163/45
f 27/164/46 31/165/46 2/166/46
f 42/167/47 38/168/47 2/169/47
f 35/170/48 39/171/48 38/172/48 42/173/48
f 31/174/49 42/175/49 2/176/49
f 32/177/50 35/178/50 42/179/50 31/180/50
o cuboid
v -0.13125 0.38749999999999996 0.02500000000000003
v 0.05625000000000003 0.3875 0.024999999999999988
v -0.11249999999999999 0.25 0.03125000000000003
v 0.11250000000000002 0.25 0.031249999999999976
v -0.1750000000000001 0.4687499999999999 0.012500000000000039
v 2.7755575615628915e-18 0.4687499999999999 0.0125
v -0.22500000000000023 0.5312499999999998 4.9960036108132095e-17
v -0.1500000000000001 0.5312499999999998 3.330669073875472e-17
v -0.13125 0.38749999999999996 -0.024999999999999974
v 0.056250000000000015 0.3875 -0.025000000000000015
v -0.11250000000000002 0.25 -0.031249999999999976
v 0.11249999999999999 0.25 -0.03125000000000003
v -0.1750000000000001 0.4687499999999999 -0.012499999999999963
v -2.7755575615628915e-18 0.4687499999999999 -0.0125
vt 0.015625 0.9375
vt 0.015625 1
vt 0 1
vt 0 0.9375
vt 0.203125 0.46875
vt 0.2015625 0.50344375
vt 0.1890625 0.50344375
vt 0.1875 0.46875
vt 0.4828125 0.4752953125
vt 0.4703125 0.4752953125
vt 0.46875 0.4381546875
vt 0.484375 0.4381546875
vt 0.403125 0.5260140625
vt 0.35625 0.5260140625
vt 0.3609375 0.49160468749999997
vt 0.4171875 0.49160468749999997
vt 0.1984375 0.5265140625
vt 0.1921875 0.5265140625
vt 0.1890625 0.50344375
vt 0.2015625 0.50344375
vt 0.3890625 0.5465656249999999
vt 0.3453125 0.5465656249999999
vt 0.35625 0.5260140625
vt 0.403125 0.5260140625
vt 0.4796875 0.5
vt 0.4734375 0.5
vt 0.4703125 0.4752953125
vt 0.4828125 0.4752953125
vt 0.1953125 0.5465234375
vt 0.1921875 0.5265140625
vt 0.1984375 0.5265140625
vt 0.3515625 0.5625
vt 0.3328125 0.5625
vt 0.3453125 0.5465656249999999
vt 0.3890625 0.5465656249999999
vt 0.01092829526719243 0.59375
vt 0.004696704732807557 0.553484338085513
vt 0.010928295267192443 0.5530049849674834
vt 0.3609375 0.49160468749999997
vt 0.35625 0.5260140625
vt 0.403125 0.5260140625
vt 0.4171875 0.49160468749999997
vt 0.35625 0.5260140625
vt 0.3453125 0.5465656249999999
vt 0.3890625 0.5465656249999999
vt 0.403125 0.5260140625
vt 0.3453125 0.5465656249999999
vt 0.3328125 0.5625
vt 0.3515625 0.5625
vt 0.3890625 0.5465656249999999
vn 0 -1 0
vn -0.990830168044299 -0.1351132047333136 2.2000849321119876e-16
vn 0.9255469562056768 0.378632845720504 -2.0551270823025477e-16
vn 2.08372206671196e-16 0.045407660918649985 0.9989685402102996
vn -0.8804710999221746 -0.47409982303501863 1.9550385753012703e-16
vn 2.1946260312391378e-16 0.15205718425394124 0.9883716976506172
vn 0.8221921916437781 0.569209978830309 -1.8256334036598834e-16
vn -0.7808688094430289 -0.624695047554426 1.7338770629105692e-16
vn 2.177326487309106e-16 0.1961161351381844 0.9805806756909201
vn 0.38461538461538386 0.9230769230769236 -8.540177112501187e-17
vn -2.344187325050955e-16 0.04540766091864998 -0.9989685402102996
vn -2.194626031239138e-16 0.15205718425394127 -0.9883716976506173
vn -2.177326487309106e-16 0.1961161351381844 -0.9805806756909201
usemtl m_e91deb1f-314d-b464-5ad0-3ad418fd0550
f 46/181/51 45/182/51 53/183/51 54/184/51
f 45/185/52 43/186/52 51/187/52 53/188/52
f 52/189/53 44/190/53 46/191/53 54/192/53
f 44/193/54 43/194/54 45/195/54 46/196/54
f 47/197/55 55/198/55 51/199/55 43/200/55
f 48/201/56 47/202/56 43/203/56 44/204/56
f 56/205/57 48/206/57 44/207/57 52/208/57
f 49/209/58 55/210/58 47/211/58
f 50/212/59 49/213/59 47/214/59 48/215/59
f 50/216/60 48/217/60 56/218/60
f 53/219/61 51/220/61 52/221/61 54/222/61
f 51/223/62 55/224/62 56/225/62 52/226/62
f 55/227/63 49/228/63 50/229/63 56/230/63
o cuboid
v -0.13124999999999992 -0.23953585474626513 0.37135238089972433
v 0.056250000000000105 -0.23953585474626518 0.37135238089972433
v -0.11249999999999993 -0.12021140839482584 0.3027448812883667
v 0.11250000000000007 -0.12021140839482584 0.30274488128836663
v -0.175 -0.31477765482289743 0.40446558100524277
v 8.980940014008237e-17 -0.31477765482289743 0.4044655810052427
v -0.22500000000000014 -0.374205865290538 0.4275044134542582
v -0.15000000000000002 -0.374205865290538 0.42750441345425816
v -0.13124999999999992 -0.26640083516360635 0.3291828086090801
v 0.0562500000000001 -0.26640083516360635 0.3291828086090801
v -0.11249999999999995 -0.15379263391650233 0.2500329159250614
v 0.11250000000000006 -0.15379263391650233 0.2500329159250614
v -0.175 -0.328210145031568 0.38338079485992066
v 8.512763713051554e-17 -0.328210145031568 0.3833807948599206
vt 0.515625 0.828125
vt 0.5 0.828125
vt 0.5 0.765625
vt 0.515625 0.765625
vt 0.3265625 0.48781874999999997
vt 0.3140625 0.48781874999999997
vt 0.3125 0.453125
vt 0.328125 0.453125
vt 0.453125 0.43815312500000003
vt 0.4515625 0.47529374999999996
vt 0.4390625 0.47529374999999996
vt 0.4375 0.43815312500000003
vt 0.4671875 0.5853546875
vt 0.471875 0.6197640625
vt 0.425 0.6197640625
vt 0.4109375 0.5853546875
vt 0.3265625 0.48781874999999997
vt 0.3234375 0.5108890625
vt 0.3171875 0.5108890625
vt 0.3140625 0.48781874999999997
vt 0.471875 0.6197640625
vt 0.4828125 0.6403156249999999
vt 0.4390625 0.6403156249999999
vt 0.425 0.6197640625
vt 0.4515625 0.47529374999999996
vt 0.4484375 0.5
vt 0.4421875 0.5
vt 0.4390625 0.47529374999999996
vt 0.3234375 0.5108890625
vt 0.3203125 0.5308984375
vt 0.3171875 0.5108890625
vt 0.4828125 0.6403156249999999
vt 0.4953125 0.65625
vt 0.4765625 0.65625
vt 0.4390625 0.6403156249999999
vt 0.5109282952671924 0.5842549849674834
vt 0.5109282952671924 0.625
vt 0.5046967047328076 0.584734338085513
vt 0.371875 0.6197640625
vt 0.325 0.6197640625
vt 0.3296875 0.585353125
vt 0.3859375 0.585353125
vt 0.3578125 0.6403156249999999
vt 0.3140625 0.6403156249999999
vt 0.325 0.6197640625
vt 0.371875 0.6197640625
vt 0.3203125 0.65625
vt 0.3015625 0.65625
vt 0.3140625 0.6403156249999999
vt 0.3578125 0.6403156249999999
vn -1.1930447926174464e-16 0.8433914458128855 -0.5372996083468242
vn -0.990830168044299 0.11395332108844185 -0.0725962719856935
vn 0.9255469562056768 -0.3193357031844634 0.20343927971287035
vn 1.7989153804993128e-16 0.4984489726126308 0.8669190398770884
vn -0.8804710999221751 0.39985173520913714 -0.2547336492340137
vn 2.0323398533596075e-16 0.4028079975745946 0.9152845006280537
vn 0.8221921916437787 -0.4800668270168158 0.3058362986926287
vn -0.7808688094430295 0.5268624593490762 -0.3356484043871934
vn 2.0703138679131882e-16 0.36146294223976727 0.9323864764073805
vn 0.38461538461538425 -0.778515180750356 0.4959688692432223
vn -1.9510338920304382e-16 -0.5750418381989536 -0.8181240030220165
vn -1.669517789651136e-16 -0.6592954545229296 -0.751883969536127
vn -1.6023632003634483e-16 -0.692268283762624 -0.7216402312069021
usemtl m_e91deb1f-314d-b464-5ad0-3ad418fd0550
f 67/231/64 59/232/64 60/233/64 68/234/64
f 65/235/65 57/236/65 59/237/65 67/238/65
f 60/239/66 58/240/66 66/241/66 68/242/66
f 59/243/67 57/244/67 58/245/67 60/246/67
f 65/247/68 69/248/68 61/249/68 57/250/68
f 57/251/69 61/252/69 62/253/69 58/254/69
f 58/255/70 62/256/70 70/257/70 66/258/70
f 69/259/71 63/260/71 61/261/71
f 61/262/72 63/263/72 64/264/72 62/265/72
f 62/266/73 64/267/73 70/268/73
f 66/269/74 65/270/74 67/271/74 68/272/74
f 70/273/75 69/274/75 65/275/75 66/276/75
f 64/277/76 63/278/76 69/279/76 70/280/76
o cuboid
v -0.1312500000000001 -0.23953585474626513 -0.3713523808997243
v 0.05624999999999994 -0.23953585474626518 -0.3713523808997244
v -0.11250000000000007 -0.12021140839482584 -0.30274488128836663
v 0.11249999999999993 -0.12021140839482584 -0.3027448812883667
v -0.1750000000000002 -0.31477765482289743 -0.40446558100524266
v -8.980940014008237e-17 -0.31477765482289743 -0.4044655810052427
v -0.2250000000000003 -0.374205865290538 -0.4275044134542581
v -0.1500000000000002 -0.374205865290538 -0.4275044134542581
v -0.1312500000000001 -0.26640083516360635 -0.32918280860908006
v 0.056249999999999946 -0.26640083516360635 -0.3291828086090801
v -0.11250000000000006 -0.15379263391650233 -0.2500329159250614
v 0.11249999999999995 -0.15379263391650233 -0.2500329159250614
v -0.1750000000000002 -0.328210145031568 -0.38338079485992055
v -8.512763713051554e-17 -0.328210145031568 -0.3833807948599206
vt 0.5 0.765625
vt 0.5 0.828125
vt 0.515625 0.828125
vt 0.515625 0.765625
vt 0.3125 0.453125
vt 0.3140625 0.48781874999999997
vt 0.3265625 0.48781874999999997
vt 0.328125 0.453125
vt 0.4390625 0.47529374999999996
vt 0.4515625 0.47529374999999996
vt 0.453125 0.43815312500000003
vt 0.4375 0.43815312500000003
vt 0.425 0.6197640625
vt 0.471875 0.6197640625
vt 0.4671875 0.5853546875
vt 0.4109375 0.5853546875
vt 0.3171875 0.5108890625
vt 0.3234375 0.5108890625
vt 0.3265625 0.48781874999999997
vt 0.3140625 0.48781874999999997
vt 0.4390625 0.6403156249999999
vt 0.4828125 0.6403156249999999
vt 0.471875 0.6197640625
vt 0.425 0.6197640625
vt 0.4421875 0.5
vt 0.4484375 0.5
vt 0.4515625 0.47529374999999996
vt 0.4390625 0.47529374999999996
vt 0.3203125 0.5308984375
vt 0.3234375 0.5108890625
vt 0.3171875 0.5108890625
vt 0.4765625 0.65625
vt 0.4953125 0.65625
vt 0.4828125 0.6403156249999999
vt 0.4390625 0.6403156249999999
vt 0.5109282952671924 0.625
vt 0.5109282952671924 0.5842549849674834
vt 0.5046967047328076 0.584734338085513
vt 0.3296875 0.585353125
vt 0.325 0.6197640625
vt 0.371875 0.6197640625
vt 0.3859375 0.585353125
vt 0.325 0.6197640625
vt 0.3140625 0.6403156249999999
vt 0.3578125 0.6403156249999999
vt 0.371875 0.6197640625
vt 0.3140625 0.6403156249999999
vt 0.3015625 0.65625
vt 0.3203125 0.65625
vt 0.3578125 0.6403156249999999
vn 1.1930447926174464e-16 0.8433914458128855 0.5372996083468242
vn -0.990830168044299 0.11395332108844185 0.07259627198569395
vn 0.9255469562056766 -0.31933570318446336 -0.20343927971287068
vn -2.059380638838309e-16 0.4984489726126308 -0.8669190398770884
vn -0.8804710999221749 0.399851735209137 0.2547336492340141
vn -2.0323398533596075e-16 0.4028079975745946 -0.9152845006280537
vn 0.8221921916437784 -0.48006682701681586 -0.30583629869262907
vn -0.7808688094430293 0.5268624593490762 0.33564840438719373
vn -2.0703138679131882e-16 0.3614629422397672 -0.9323864764073805
vn 0.384615384615384 -0.778515180750356 -0.49596886924322253
vn 1.6905686336914451e-16 -0.5750418381989537 0.8181240030220166
vn 1.669517789651136e-16 -0.6592954545229296 0.751883969536127
vn 1.6023632003634483e-16 -0.692268283762624 0.7216402312069021
usemtl m_e91deb1f-314d-b464-5ad0-3ad418fd0550
f 74/281/77 73/282/77 81/283/77 82/284/77
f 73/285/78 71/286/78 79/287/78 81/288/78
f 80/289/79 72/290/79 74/291/79 82/292/79
f 72/293/80 71/294/80 73/295/80 74/296/80
f 75/297/81 83/298/81 79/299/81 71/300/81
f 76/301/82 75/302/82 71/303/82 72/304/82
f 84/305/83 76/306/83 72/307/83 80/308/83
f 77/309/84 83/310/84 75/311/84
f 78/312/85 77/313/85 75/314/85 76/315/85
f 78/316/86 76/317/86 84/318/86
f 81/319/87 79/320/87 80/321/87 82/322/87
f 79/323/88 83/324/88 84/325/88 80/326/88
f 83/327/89 77/328/89 78/329/89 84/330/89

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -0,0 +1,4 @@
# Made in Blockbench 4.11.1
newmtl m_b241fb6a-d392-68df-d4db-e4bef4599021
map_Kd snake_head.png
newmtl none

View File

@ -0,0 +1,965 @@
# Made in Blockbench 4.11.1
mtllib snake_head.mtl
o Head
v -0.2880282581475766 0.10043052317185791 0.17307813151817308
v 0.5779867338856278 0.2629305231718579 -9.00375174461725e-17
v 0.8685466025048385 0.10043052317185791 -1.308832520144707e-16
v 0.028115789632252974 0.32499999999999996 -6.242959401048903e-18
v 0.8685466025048386 0.03347635650519125 -1.3088325201447073e-16
v 0.46799586427733286 0.2629305231718579 0.20103439623378588
v 0.6905776370264596 0.10043052317185791 0.3252804860140794
v 0.18948920575452138 0.2629305231718579 0.3080025642213411
v 0.23994439744339013 0.10043052317185791 0.49835861753225213
v -0.07584786962554432 0.2629305231718579 0.2708529093425231
v -0.14010094464167572 0.10043052317185791 0.4382492132679962
v -0.1672719772366525 0.2629305231718579 0.10696816798755542
v 0.11837079050413238 0.27327543597654824 0.25047719437131455
v -0.014297747185900489 0.27327543597654824 0.23190236693190558
v 0.037684082442998174 0.30431017439061925 0.09647591226064403
v 0.02934443763461904 0.4224561636541418 0.2830547843366922
v -0.046157839632400784 0.3645212286532872 0.2720183792990446
v -0.03546749212103975 0.4118426524565893 0.19155350222602163
v -0.07577811881352157 0.4940496804225819 0.3123762661381873
v -0.10696902249128541 0.47297228744309466 0.3018277609779876
v -0.10820144304019544 0.4901883634745323 0.26356421301313293
v 0.23994439744339013 0.03347635650519125 0.4983586175322522
v -0.14010094464167575 0.03347635650519125 0.43824921326799626
v 0.23994439744339013 -0.033477567883674675 0.49835861753225225
v -0.14010094464167577 -0.033477567883674675 0.4382492132679963
v -0.28802825814757665 0.03347635650519125 0.17307813151817308
v -0.2880282581475767 -0.033477567883674675 0.17307813151817308
v 0.6905776370264597 0.03347635650519125 0.3252804860140794
v 0.2579697270267129 0.03347635650519125 0.458489928129672
v 0.6905776370264597 0.03347635650519125 0.299258047132953
v 0.8590549243459917 0.03347635650519125 -1.3225320553726269e-16
v 0.2774370829767015 0.03347635650519125 0.4172258345980015
v 0.6905776370264597 0.03347635650519125 0.2723248228909872
v 0.8489462871068199 0.03347635650519125 -1.336078801555467e-16
v 0.8489494121068042 0.0022263563489412497 -1.3360857404493362e-16
v 0.8590580493459761 0.0022263563489412497 -1.322538994266496e-16
v 0.690580762026444 0.0022263563489412497 0.2723248228909872
v 0.690580762026444 0.0022263563489412497 0.299258047132953
v 0.27744020797668584 0.0022263563489412497 0.4172258345980015
v 0.25797285202669723 0.0022263563489412497 0.458489928129672
v -0.2880282581475767 0.10043052317185791 -0.17307813151817292
v 0.46799586427733286 0.2629305231718579 -0.2010343962337861
v 0.6905776370264594 0.10043052317185791 -0.3252804860140797
v 0.18948920575452127 0.2629305231718579 -0.3080025642213412
v 0.2399443974433899 0.10043052317185791 -0.49835861753225225
v -0.07584786962554443 0.2629305231718579 -0.2708529093425231
v -0.14010094464167594 0.10043052317185791 -0.4382492132679962
v -0.16727197723665255 0.2629305231718579 -0.10696816798755533
v 0.11837079050413227 0.27327543597654824 -0.25047719437131466
v -0.014297747185900586 0.27327543597654824 -0.23190236693190558
v 0.03768408244299812 0.30431017439061925 -0.09647591226064406
v 0.0293444376346189 0.4224561636541418 -0.2830547843366922
v -0.0461578396324009 0.3645212286532872 -0.2720183792990446
v -0.035467492121039834 0.4118426524565893 -0.19155350222602163
v -0.07577811881352171 0.4940496804225819 -0.3123762661381873
v -0.10696902249128555 0.47297228744309466 -0.3018277609779876
v -0.10820144304019555 0.4901883634745323 -0.26356421301313293
v 0.2399443974433899 0.03347635650519125 -0.4983586175322523
v -0.14010094464167594 0.03347635650519125 -0.43824921326799626
v 0.2399443974433899 -0.033477567883674675 -0.49835861753225236
v -0.14010094464167594 -0.033477567883674675 -0.4382492132679963
v -0.2880282581475767 0.03347635650519125 -0.17307813151817292
v -0.2880282581475767 -0.033477567883674675 -0.17307813151817297
v 0.6905776370264595 0.03347635650519125 -0.3252804860140797
v 0.25796972702671267 0.03347635650519125 -0.4584899281296721
v 0.6905776370264595 0.03347635650519125 -0.29925804713295334
v 0.2774370829767013 0.03347635650519125 -0.4172258345980016
v 0.6905776370264595 0.03347635650519125 -0.27232482289098753
v 0.6905807620264438 0.0022263563489412497 -0.27232482289098753
v 0.6905807620264438 0.0022263563489412497 -0.29925804713295334
v 0.2774402079766856 0.0022263563489412497 -0.4172258345980016
v 0.257972852026697 0.0022263563489412497 -0.4584899281296721
vt 0.22932859910410291 0.9681461701647234
vt 0.18404298828347543 0.9966030115520469
vt 0.17941610887967907 0.9389781957038943
vt 0.6841953125 0.9852081745774074
vt 0.6676671875 0.9345941120774074
vt 0.7542078125 0.9345941120774074
vt 0.7376796875 0.9852081745774074
vt 0.6754796875 0.8125
vt 0.6754796875 0.7957609375
vt 0.7620203125 0.7957609375
vt 0.7620203125 0.8125
vt 0.6754796875 0.7957609375
vt 0.6754796875 0.7790234375
vt 0.7620203125 0.7790234375
vt 0.7620203125 0.7957609375
vt 0.65625 0.375
vt 0.90625 0.375
vt 0.90625 0.390625
vt 0.65625 0.390625
vt 0.07363472286252845 0.8783983224354175
vt 0.09848823681171036 0.826781081841729
vt 0.17941794794533078 0.9389798664538023
vt 0.001969282985464338 0.8544061903290758
vt 0.032025053963872174 0.7667171872234462
vt 0.09221046143828167 0.8242044201266383
vt 0.0736352188309371 0.8783984884755563
vt 0.0918969994005793 0.9507123476987673
vt 0.07363472286252845 0.8783983224354175
vt 0.1794162257315353 0.9389788801502482
vt 0.031518560035217025 0.9714139008758575
vt 0.001969282985464338 0.8544061903290758
vt 0.07363472286252845 0.8783983224354176
vt 0.0918969994005793 0.9507123476987673
vt 0.7750984375 0.1799046875
vt 0.78125 0.1875
vt 0.766634375 0.18610781249999997
vt 0.6225578125 0.609375
vt 0.71875 0.609375
vt 0.69885625 0.671875
vt 0.6318859375 0.6709921875
vt 0.18404298828347543 0.9966030115520469
vt 0.1372520732492684 1
vt 0.1794161702796919 0.9389789604016794
vt 0.7542078125 0.9345941120774074
vt 0.8262460355133211 0.9585307964178067
vt 0.7822008111687979 1
vt 0.7376801424992022 0.9852067812337548
vt 0.09189529017559478 0.950712576849969
vt 0.11404122392823135 0.9569711480088194
vt 0.13671961546506817 0.9816148595838349
vt 0.1372520732492684 1
vt 0.1372520732492684 1
vt 0.1367196154650682 0.9816148595838349
vt 0.15780169170620162 0.951104299658959
vt 0.1794162257315353 0.9389788801502482
vt 0.1794162257315353 0.9389788801502482
vt 0.15780169170620162 0.951104299658959
vt 0.11404122392823138 0.9569711480088194
vt 0.09189529017559481 0.950712576849969
vt 0.23145068208046038 0.266678125
vt 0.2090772445804604 0.30478281250000006
vt 0.1902444320804604 0.28998437499999996
vt 0.1983553695804604 0.265625
vt 0.0360703125 0.6875
vt 0.047821875 0.710871875
vt 0.0277015625 0.72299375
vt 0 0.694253125
vt 0.046875 0.23921284292014255
vt 0.039534130746212766 0.27881406249999996
vt 0.011521977741460195 0.28167110506906623
vt 0.004573393739533062 0.23989887570911717
vt 0.2090772445804604 0.30478281250000006
vt 0.18251582698856958 0.323738036886547
vt 0.17479931791953962 0.3177393405768074
vt 0.1905112040799101 0.29019399896140285
vt 0.047821875 0.710871875
vt 0.05923642363375317 0.7407288105017237
vt 0.05010227872075888 0.7458984842429992
vt 0.02801943349050301 0.7228022424171529
vt 0.039534130746212766 0.27881406249999996
vt 0.036765380746212765 0.31091875
vt 0.022170068246212767 0.3125
vt 0.011545068246212771 0.28166875
vt 0.0018765625000000184 0.3582609375
vt 0.09806875000000001 0.3582609375
vt 0.09806875000000001 0.375
vt 0.0018765625000000184 0.375
vt 0.001876562500000012 0.3415234375
vt 0.09806875000000001 0.3415234375
vt 0.09806875000000001 0.3582609375
vt 0.001876562500000012 0.3582609375
vt 0.7620203125 0.7957609375
vt 0.83793125 0.7957609375
vt 0.83793125 0.8125
vt 0.7620203125 0.8125
vt 0.7620203125 0.7790234375
vt 0.83793125 0.7790234375
vt 0.83793125 0.7957609375
vt 0.7620203125 0.7957609375
vt 0.0625 0.234375
vt 0.15625 0.234375
vt 0.15625 0.25
vt 0.0625 0.25
vt 0.09806875000000001 0.3582609375
vt 0.21875 0.3582609375
vt 0.21875 0.375
vt 0.09806875000000001 0.375
vt 0.55743125 0.9759015625
vt 0.34881875 0.9759015625
vt 0.38504375 0.8726171875
vt 0.52120625 0.8726171875
vt 0.38504375 0.8726171875
vt 0.453125 0.833025
vt 0.52120625 0.8726171875
vt 0.5160359375 0.453125
vt 0.7652140625 0.453125
vt 0.7501875 0.5481359375
vt 0.5310625 0.5481359375
vt 0.6838953125 0.58511875
vt 0.5973546875 0.58511875
vt 0.5310625 0.5481359375
vt 0.7501875 0.5481359375
vt 0.338503125 0.98076875
vt 0.567746875 0.98076875
vt 0.5777140625 0.985275
vt 0.3285359375 0.985275
vt 0.567746875 0.98076875
vt 0.5279390625 0.8726171875
vt 0.5344453124999999 0.8726171875
vt 0.5777140625 0.985275
vt 0.5279390625 0.8726171875
vt 0.453125 0.830496875
vt 0.453125 0.828125
vt 0.5344453124999999 0.8726171875
vt 0.34881875 0.9759015625
vt 0.55743125 0.9759015625
vt 0.567746875 0.98076875
vt 0.338503125 0.98076875
vt 0.48711875 0.5047796875
vt 0.45089375 0.40149375
vt 0.4576265625 0.40149375
vt 0.497434375 0.5096453125
vt 0.45089375 0.40149375
vt 0.3828125 0.36190156249999994
vt 0.3828125 0.359375
vt 0.4576265625 0.40149375
vt 0.265625 0.21875
vt 0.34375 0.21875
vt 0.34375 0.234375
vt 0.265625 0.234375
vt 0.734375 0.234375
vt 0.8125 0.234375
vt 0.8125 0.25
vt 0.734375 0.25
vt 0.25 0.28125
vt 0.359375 0.28125
vt 0.359375 0.296875
vt 0.25 0.296875
vt 0.25 0.25
vt 0.359375 0.25
vt 0.359375 0.265625
vt 0.25 0.265625
vt 0.0625 0.984375
vt 0.078125 0.984375
vt 0.078125 1
vt 0.0625 1
vt 0.11343651435546649 0.817386949417336
vt 0.1707255768554665 0.817386949417336
vt 0.1794177643554665 0.938979136917336
vt 0.11343651435546649 0.817386949417336
vt 0.0785693268554665 0.741813511917336
vt 0.17126620185546648 0.741813511917336
vt 0.1707255768554665 0.817386949417336
vt 0.1707255768554665 0.817386949417336
vt 0.22795759554374803 0.8652129364014518
vt 0.17941762284148624 0.9389771573242335
vt 0.17072558059689424 0.8173864264068278
vt 0.1712662018554665 0.741813511917336
vt 0.2723716942459539 0.8077046608680076
vt 0.23321159196164032 0.8581089923606751
vt 0.796875 0.1875
vt 0.8030265625 0.1799046875
vt 0.811490625 0.18610781249999997
vt 0.23321123850855566 0.8581094473024502
vt 0.2723716942459539 0.8077046608680076
vt 0.32615571701453566 0.887455622184244
vt 0.27138833015496433 0.913139546227307
vt 0.25268841284707744 0.9274614265604256
vt 0.22932859910410291 0.9681461701647234
vt 0.17941677123269767 0.9389785827712565
vt 0.6396741888312021 1
vt 0.5956289644866789 0.9585307964178067
vt 0.6676671875 0.9345941120774074
vt 0.6841948575007978 0.9852067812337548
vt 0.2363544613315858 0.9190057227278856
vt 0.2239890526799211 0.8878814776483988
vt 0.22795759554374803 0.8652129364014518
vt 0.2526884128470774 0.9274614265604255
vt 0.1997185923430298 0.9247643084066582
vt 0.2363544613315858 0.9190057227278856
vt 0.2526884128470774 0.9274614265604256
vt 0.17941667486996538 0.938978597917971
vt 0.2239890526799211 0.8878814776483988
vt 0.1997185923430298 0.9247643084066582
vt 0.17941667486996538 0.938978597917971
vt 0.22795759554374803 0.8652129364014518
vt 0.13774718191981478 0.28998437499999996
vt 0.11891436941981476 0.30478281250000006
vt 0.09654093191981476 0.266678125
vt 0.12963624441981475 0.265625
vt 0.3629234375 0.45736875
vt 0.342803125 0.44524687500000004
vt 0.3545546875 0.421875
vt 0.390625 0.428628125
vt 0.7072280222585398 0.28167110506906623
vt 0.6792158692537872 0.27881406249999996
vt 0.671875 0.23921284292014255
vt 0.714176606260467 0.23989887570911717
vt 0.15345906808018522 0.3175297166154045
vt 0.1457425590111553 0.32352841292514434
vt 0.11918114141926445 0.30457318853859716
vt 0.13774718191981478 0.28998437499999996
vt 0.34084059226974417 0.48046499182584634
vt 0.3317064473567498 0.4752953180845708
vt 0.343120995990503 0.4454383825828472
vt 0.3629234375 0.45736875
vt 0.6965799317537872 0.3125
vt 0.6819846192537873 0.31091875
vt 0.6792158692537872 0.27881406249999996
vt 0.7072049317537872 0.28166875
vt 0.73005625 0.75
vt 0.73005625 0.7332609375
vt 0.8262484375 0.7332609375
vt 0.8262484375 0.75
vt 0.73005625 0.7332609375
vt 0.73005625 0.7165234375
vt 0.8262484375 0.7165234375
vt 0.8262484375 0.7332609375
vt 0.59956875 0.8125
vt 0.59956875 0.7957609375
vt 0.6754796875 0.7957609375
vt 0.6754796875 0.8125
vt 0.59956875 0.7957609375
vt 0.59956875 0.7790234375
vt 0.6754796875 0.7790234375
vt 0.6754796875 0.7957609375
vt 0.734375 0.28125
vt 0.734375 0.265625
vt 0.828125 0.265625
vt 0.828125 0.28125
vt 0.609375 0.75
vt 0.609375 0.7332609375
vt 0.73005625 0.7332609375
vt 0.73005625 0.75
vt 0.3718046875 0.8726171875
vt 0.3783109375 0.8726171875
vt 0.338503125 0.98076875
vt 0.3285359375 0.985275
vt 0.453125 0.828125
vt 0.453125 0.830496875
vt 0.3783109375 0.8726171875
vt 0.3718046875 0.8726171875
vt 0.3079984375 0.40149375
vt 0.31473125 0.40149375
vt 0.27850625 0.5047796875
vt 0.268190625 0.5096453125
vt 0.3828125 0.359375
vt 0.3828125 0.36190156249999994
vt 0.31473125 0.40149375
vt 0.3079984375 0.40149375
vt 0.171875 0.234375
vt 0.171875 0.21875
vt 0.25 0.21875
vt 0.25 0.234375
vt 0.625 0.703125
vt 0.625 0.6875
vt 0.703125 0.6875
vt 0.703125 0.703125
vt 0.078125 0.71875
vt 0.078125 0.703125
vt 0.1875 0.703125
vt 0.1875 0.71875
vt 0.375 0.28125
vt 0.375 0.265625
vt 0.484375 0.265625
vt 0.484375 0.28125
vt 0.203125 0.734375
vt 0.203125 0.71875
vt 0.21875 0.71875
vt 0.21875 0.734375
vn -0.30276352953213925 0.9530657087448071 6.722700830067191e-17
vn -0.8026445415044745 0.5964576598494415 1.7822289011359394e-16
vn -1 4.145459050190391e-16 2.220446049250313e-16
vn -1 4.145474050845108e-16 2.220446049250313e-16
vn 1 0 -2.220446049250313e-16
vn 0.11195709679280016 0.99182331921012 0.06125448513168709
vn 0.47158760911291864 0.8432272845925989 0.25801719603497986
vn 0.06341817246227946 0.9842327673334186 0.1651181247130239
vn 0.22898467519488974 0.7694926845296366 0.5961937830783413
vn -0.602815224589517 0.7201783022329904 0.3434487123223755
vn -0.10464095629903246 0.7425209326769857 0.6615987717652771
vn -0.23442066188392033 0.9632992135861486 0.13077300327748353
vn -0.6663356047211575 0.6463911727109218 0.3717194018642135
vn -0.02973998802916722 0.9767270131096211 0.21241439446041144
vn -0.02973998802916748 0.9767270131096211 0.21241439446041108
vn -0.029739988029168007 0.9767270131096211 0.2124143944604116
vn 0.014360177021806734 -0.2051396782452898 0.978627353861173
vn -0.9425643270866275 -0.2177553481663913 -0.25328856596511967
vn 0.5070859763238897 0.7382469631229301 -0.4448092108482226
vn -0.02805832436651716 -0.413856724421004 0.9099095241205362
vn -0.8786484406650934 -0.44537817072947694 -0.17209068177697676
vn 0.4774337930620324 0.7923376662928224 -0.3798131064300498
vn -0.1562218348454817 8.080406390119389e-16 0.9877219944485955
vn -0.15622183484548163 8.080435629676398e-16 0.9877219944485954
vn -0.8733030086765683 1.365247611838877e-15 0.48717743691231635
vn -0.8733030086765683 6.826262760449155e-16 0.48717743691231635
vn 0.8772789322952281 1.3975338384067727e-15 0.4799809110276621
vn 0.3585417021622042 4.2937831921964015e-16 0.9335137105638188
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn -0.8644516406569832 -0.00008644516320030382 -0.5027159769618265
vn 0.8713955143041758 0.00008713955055792952 0.49058113504012735
vn -0.33096449615768403 -0.000033096449284477456 -0.9436432065074783
vn 0.34541887562903417 0.0000345418872176414 0.9384486129597251
vn -0.9044048560341957 -0.00009044048469798835 -0.426675342857171
vn 0.11195709679280011 0.99182331921012 -0.06125448513168711
vn 0.4715876091129187 0.8432272845925991 -0.2580171960349801
vn 0.06341817246227936 0.9842327673334184 -0.16511812471302392
vn 0.22898467519488946 0.7694926845296366 -0.5961937830783413
vn -0.6028152245895172 0.7201783022329904 -0.3434487123223752
vn -0.10464095629903274 0.7425209326769857 -0.6615987717652771
vn -0.23442066188392036 0.9632992135861486 -0.1307730032774834
vn -0.6663356047211577 0.6463911727109218 -0.37171940186421315
vn -0.029739988029167306 0.9767270131096211 -0.21241439446041144
vn -0.029739988029167573 0.9767270131096211 -0.21241439446041108
vn -0.02973998802916796 0.9767270131096211 -0.21241439446041152
vn 0.014360177021806296 -0.20513967824528978 -0.978627353861173
vn -0.9425643270866275 -0.21775534816639136 0.25328856596512017
vn 0.5070859763238902 0.7382469631229301 0.4448092108482225
vn -0.02805832436651755 -0.413856724421004 -0.9099095241205362
vn -0.8786484406650934 -0.44537817072947694 0.17209068177697714
vn 0.4774337930620326 0.7923376662928224 0.37981310643004956
vn -0.1562218348454821 8.189122161918065e-16 -0.9877219944485953
vn -0.15622183484548208 8.189151794871257e-16 -0.9877219944485954
vn -0.8733030086765683 5.849269160231829e-16 -0.48717743691231596
vn -0.8733030086765683 5.84929032625131e-16 -0.4871774369123159
vn 0.877278932295228 1.4546895557698469e-15 -0.4799809110276625
vn 0.35854170216220377 5.945279776395905e-16 -0.9335137105638189
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn 0 -1 0
vn -0.8644516406569831 -0.00008644516320023901 0.5027159769618268
vn 0.8713955143041758 0.00008713955055800631 -0.4905811350401276
vn -0.3309644961576836 -0.00003309644928441808 0.9436432065074786
vn 0.34541887562903373 0.00003454188721708188 -0.9384486129597254
vn -0.9044048560341955 -0.00009044048469796046 0.42667534285717146
usemtl m_b241fb6a-d392-68df-d4db-e4bef4599021
f 48/1/1 12/2/1 4/3/1
f 48/4/2 41/5/2 1/6/2 12/7/2
f 41/8/3 62/9/3 26/10/3 1/11/3
f 62/12/4 63/13/4 27/14/4 26/15/4
f 24/16/5 60/17/5 58/18/5 22/19/5
f 6/20/6 2/21/6 4/22/6
f 7/23/7 3/24/7 2/25/7 6/26/7
f 8/27/8 6/28/8 4/29/8
f 9/30/9 7/31/9 6/32/9 8/33/9
f 20/34/10 19/35/10 21/36/10
f 11/37/11 9/38/11 8/39/11 10/40/11
f 12/41/12 10/42/12 4/43/12
f 1/44/13 11/45/13 10/46/13 12/47/13
f 8/48/14 13/49/14 14/50/14 10/51/14
f 10/52/15 14/53/15 15/54/15 4/55/15
f 4/56/16 15/57/16 13/58/16 8/59/16
f 13/60/17 16/61/17 17/62/17 14/63/17
f 14/64/18 17/65/18 18/66/18 15/67/18
f 15/68/19 18/69/19 16/70/19 13/71/19
f 16/72/20 19/73/20 20/74/20 17/75/20
f 17/76/21 20/77/21 21/78/21 18/79/21
f 18/80/22 21/81/22 19/82/22 16/83/22
f 23/84/23 22/85/23 9/86/23 11/87/23
f 25/88/24 24/89/24 22/90/24 23/91/24
f 26/92/25 23/93/25 11/94/25 1/95/25
f 27/96/26 25/97/26 23/98/26 26/99/26
f 28/100/27 5/101/27 3/102/27 7/103/27
f 22/104/28 28/105/28 7/106/28 9/107/28
f 32/108/29 67/109/29 68/110/29 33/111/29
f 68/112/30 34/113/30 33/114/30
f 60/115/31 24/116/31 25/117/31 61/118/31
f 27/119/32 63/120/32 61/121/32 25/122/32
f 65/123/33 29/124/33 22/125/33 58/126/33
f 29/127/34 30/128/34 28/129/34 22/130/34
f 30/131/35 31/132/35 5/133/35 28/134/35
f 67/135/36 32/136/36 29/137/36 65/138/36
f 39/139/37 37/140/37 38/141/37 40/142/37
f 37/143/38 35/144/38 36/145/38 38/146/38
f 35/147/39 37/148/39 33/149/39 34/150/39
f 38/151/40 36/152/40 31/153/40 30/154/40
f 37/155/41 39/156/41 32/157/41 33/158/41
f 40/159/42 38/160/42 30/161/42 29/162/42
f 39/163/43 40/164/43 29/165/43 32/166/43
f 2/167/44 42/168/44 4/169/44
f 2/170/45 3/171/45 43/172/45 42/173/45
f 42/174/46 44/175/46 4/176/46
f 42/177/47 43/178/47 45/179/47 44/180/47
f 55/181/48 56/182/48 57/183/48
f 44/184/49 45/185/49 47/186/49 46/187/49
f 46/188/50 48/189/50 4/190/50
f 46/191/51 47/192/51 41/193/51 48/194/51
f 50/195/52 49/196/52 44/197/52 46/198/52
f 51/199/53 50/200/53 46/201/53 4/202/53
f 49/203/54 51/204/54 4/205/54 44/206/54
f 53/207/55 52/208/55 49/209/55 50/210/55
f 54/211/56 53/212/56 50/213/56 51/214/56
f 52/215/57 54/216/57 51/217/57 49/218/57
f 56/219/58 55/220/58 52/221/58 53/222/58
f 57/223/59 56/224/59 53/225/59 54/226/59
f 55/227/60 57/228/60 54/229/60 52/230/60
f 45/231/61 58/232/61 59/233/61 47/234/61
f 58/235/62 60/236/62 61/237/62 59/238/62
f 47/239/63 59/240/63 62/241/63 41/242/63
f 59/243/64 61/244/64 63/245/64 62/246/64
f 3/247/65 5/248/65 64/249/65 43/250/65
f 43/251/66 64/252/66 58/253/66 45/254/66
f 64/255/67 66/256/67 65/257/67 58/258/67
f 5/259/68 31/260/68 66/261/68 64/262/68
f 70/263/69 69/264/69 71/265/69 72/266/69
f 36/267/70 35/268/70 69/269/70 70/270/70
f 68/271/71 69/272/71 35/273/71 34/274/71
f 31/275/72 36/276/72 70/277/72 66/278/72
f 67/279/73 71/280/73 69/281/73 68/282/73
f 66/283/74 70/284/74 72/285/74 65/286/74
f 65/287/75 72/288/75 71/289/75 67/290/75
o Eyelid
v 0.2750000000000001 0.1606771161215142 0.2701112119545721
v 0.2750000000000001 0.3164853230375956 0.31626370546895965
v 0.2083734122634726 0.2890713946871721 0.26577353036134244
v 0.2083734122634726 0.21116729122913142 0.2426972836041487
v 0.2750000000000001 0.30060951806576897 0.22682147863232205
v 0.2750000000000001 0.2227054146077283 0.20374523187512833
v 0.3416265877365275 0.2890713946871721 0.2657735303613424
v 0.3416265877365275 0.21116729122913142 0.24269728360414866
v 0.3416265877365275 0.26599514792997836 0.3436776338193831
v 0.3416265877365275 0.18809104447193767 0.3206013870621893
v 0.27500000000000013 0.25445702455138147 0.38262968554840343
v 0.27500000000000013 0.1765529210933408 0.3595534387912097
v 0.20837341226347267 0.26599514792997836 0.34367763381938315
v 0.20837341226347267 0.18809104447193767 0.3206013870621894
vt 0.2667526608315933 0.9957498851020083
vt 0.27890625 0.980490625
vt 0.28906226068613156 0.9999995402964675
vt 0.34375 0.671875
vt 0.359375 0.671875
vt 0.359375 0.6875
vt 0.34375 0.6875
vt 0.10703125 0.20700937500000005
vt 0.09487766083159334 0.19175011489799165
vt 0.11718726068613158 0.18750045970353246
vt 0.45546897019333316 0.19924052176757334
vt 0.4676211283703329 0.2145009215059922
vt 0.4453133257416344 0.21874873355586733
vt 0.203125 0.6875
vt 0.21875 0.6875
vt 0.21875 0.703125
vt 0.203125 0.703125
vt 0.8269961283703329 0.4886240784940078
vt 0.8148439701933331 0.5038844782324265
vt 0.8046883257416344 0.4843762664441327
vt 0.43515647019333314 0.19924052176757334
vt 0.45546897019333316 0.19924052176757334
vt 0.4453127201933331 0.2187498967675734
vt 0.28125 0.765625
vt 0.296875 0.765625
vt 0.296875 0.78125
vt 0.28125 0.78125
vt 0.8148439701933331 0.5038844782324265
vt 0.7945314701933331 0.5038844782324265
vt 0.8046877201933331 0.4843751032324266
vt 0.4230038716296671 0.21450057080699458
vt 0.43515647019333314 0.19924052176757334
vt 0.44531277393438495 0.21875
vt 0.40625 0.640625
vt 0.421875 0.640625
vt 0.421875 0.65625
vt 0.40625 0.65625
vt 0.7945314701933331 0.5038844782324265
vt 0.7823788716296671 0.4886244291930054
vt 0.804687773934385 0.484375
vt 0.29921875 0.980490625
vt 0.3113723391684067 0.9957498851020083
vt 0.28906273931386844 0.9999995402964675
vt 0 0.65625
vt 0.015625 0.65625
vt 0.015625 0.671875
vt 0 0.671875
vt 0.13949733916840668 0.19175011489799165
vt 0.12734375 0.20700937500000005
vt 0.11718773931386842 0.18750045970353246
vt 0.27890625 0.980490625
vt 0.29921875 0.980490625
vt 0.2890625 1
vt 0.28125 0.9375
vt 0.296875 0.9375
vt 0.296875 0.953125
vt 0.28125 0.953125
vt 0.12734375 0.20700937500000005
vt 0.10703125 0.20700937500000005
vt 0.1171875 0.1875
vn -0.26307919258914203 0.9499263334465753 -0.16860990318303068
vn -0.5205983804044667 0.2424927813728782 -0.8186419103016237
vn -0.2630791925891423 -0.7048437226143699 -0.6587751248474417
vn 0.2630791925891421 0.9499263334465753 -0.16860990318303073
vn 0.5205983804044664 0.2424927813728782 -0.8186419103016239
vn 0.26307919258914203 -0.7048437226143697 -0.6587751248474418
vn 0.5205983804044666 0.818641910301624 0.24249278137287814
vn 1 2.305179603318492e-16 2.0251666312198448e-16
vn 0.5205983804044667 -0.8186419103016238 -0.24249278137287814
vn 0.2630791925891423 0.70484372261437 0.6587751248474416
vn 0.5205983804044668 -0.2424927813728781 0.8186419103016239
vn 0.26307919258914225 -0.9499263334465752 0.16860990318303104
vn -0.26307919258914164 0.7048437226143699 0.6587751248474418
vn -0.5205983804044658 -0.24249278137287827 0.8186419103016243
vn -0.26307919258914186 -0.9499263334465753 0.1686099031830313
vn -0.5205983804044663 0.8186419103016239 0.2424927813728785
vn -1 -9.702165385758324e-17 5.495842191144638e-16
vn -0.5205983804044666 -0.8186419103016238 -0.2424927813728779
usemtl m_b241fb6a-d392-68df-d4db-e4bef4599021
f 77/291/76 75/292/76 74/293/76
f 78/294/77 76/295/77 75/296/77 77/297/77
f 76/298/78 78/299/78 73/300/78
f 79/301/79 77/302/79 74/303/79
f 80/304/80 78/305/80 77/306/80 79/307/80
f 78/308/81 80/309/81 73/310/81
f 81/311/82 79/312/82 74/313/82
f 82/314/83 80/315/83 79/316/83 81/317/83
f 80/318/84 82/319/84 73/320/84
f 83/321/85 81/322/85 74/323/85
f 84/324/86 82/325/86 81/326/86 83/327/86
f 82/328/87 84/329/87 73/330/87
f 85/331/88 83/332/88 74/333/88
f 86/334/89 84/335/89 83/336/89 85/337/89
f 84/338/90 86/339/90 73/340/90
f 75/341/91 85/342/91 74/343/91
f 76/344/92 86/345/92 85/346/92 75/347/92
f 86/348/93 76/349/93 73/350/93
o Eye
v 0.31875 0.14103803463669468 -0.2789187744783234
v 0.31875 0.2464619653633054 -0.34608122552167636
v 0.2646234122634726 0.23689659544249098 -0.3029346300791855
v 0.2646234122634726 0.18418463007918562 -0.26935340455750895
v 0.31875 0.2536872082033292 -0.2765786473975328
v 0.31875 0.20097524284002385 -0.2429974218758563
v 0.3728765877365274 0.23689659544249098 -0.3029346300791855
v 0.37287658773652743 0.18418463007918562 -0.269353404557509
v 0.3728765877365274 0.20331536992081448 -0.35564659544249083
v 0.3728765877365274 0.15060340455750912 -0.32206536992081436
v 0.31875 0.18652475715997624 -0.3820025781241435
v 0.31875 0.13381279179667088 -0.348421352602467
v 0.2646234122634726 0.20331536992081445 -0.35564659544249083
v 0.2646234122634726 0.1506034045575091 -0.32206536992081436
vt 0.578125 0.609375
vt 0.5875 0.621875
vt 0.5703125 0.625
vt 0.40625 0.453125
vt 0.40625 0.4375
vt 0.421875 0.4375
vt 0.421875 0.453125
vt 0.196875 0.19062500000000004
vt 0.1875 0.203125
vt 0.1796875 0.1875
vt 0.396875 0.48124999999999996
vt 0.40625 0.46875
vt 0.4140625 0.484375
vt 0.5625 0.65625
vt 0.5625 0.640625
vt 0.578125 0.640625
vt 0.578125 0.65625
vt 0.234375 0.203125
vt 0.225 0.19062500000000004
vt 0.2421875 0.1875
vt 0.40625 0.46875
vt 0.421875 0.46875
vt 0.4140625 0.484375
vt 0.421875 0.703125
vt 0.421875 0.6875
vt 0.4375 0.6875
vt 0.4375 0.703125
vt 0.25 0.203125
vt 0.234375 0.203125
vt 0.2421875 0.1875
vt 0.421875 0.46875
vt 0.43125 0.48124999999999996
vt 0.4140625 0.484375
vt 0.578125 0.921875
vt 0.578125 0.90625
vt 0.59375 0.90625
vt 0.59375 0.921875
vt 0.259375 0.19062500000000004
vt 0.25 0.203125
vt 0.2421875 0.1875
vt 0.553125 0.621875
vt 0.5625 0.609375
vt 0.5703125 0.625
vt 0.53125 0.84375
vt 0.53125 0.828125
vt 0.546875 0.828125
vt 0.546875 0.84375
vt 0.171875 0.203125
vt 0.1625 0.19062500000000004
vt 0.1796875 0.1875
vt 0.5625 0.609375
vt 0.578125 0.609375
vt 0.5703125 0.625
vt 0.4375 0.75
vt 0.4375 0.734375
vt 0.453125 0.734375
vt 0.453125 0.75
vt 0.1875 0.203125
vt 0.171875 0.203125
vt 0.1796875 0.1875
vn -0.25000000000000006 0.9630559725443353 -0.10011590156755595
vn -0.49999999999999994 0.465315110271779 0.7303984174084459
vn -0.24999999999999992 -0.49774086227255626 0.830514318976002
vn 0.24999999999999994 0.9630559725443353 -0.10011590156755606
vn 0.5000000000000001 0.46531511027177896 0.7303984174084458
vn 0.2500000000000003 -0.49774086227255626 0.8305143189760019
vn 0.49999999999999983 0.7303984174084459 -0.4653151102717791
vn 1 3.398302056046432e-17 -3.753321047472402e-16
vn 0.5000000000000003 -0.7303984174084458 0.46531511027177874
vn 0.2499999999999998 0.49774086227255643 -0.8305143189760018
vn 0.49999999999999994 -0.46531511027177874 -0.730398417408446
vn 0.25000000000000006 -0.9630559725443353 0.10011590156755576
vn -0.25000000000000006 0.49774086227255643 -0.8305143189760018
vn -0.4999999999999999 -0.4653151102717789 -0.7303984174084459
vn -0.2499999999999999 -0.9630559725443354 0.10011590156755579
vn -0.5000000000000001 0.7303984174084458 -0.46531511027177896
vn -1 -8.532145870128017e-17 -1.1851341527985068e-16
vn -0.5000000000000001 -0.7303984174084459 0.4653151102717788
usemtl m_b241fb6a-d392-68df-d4db-e4bef4599021
f 89/351/94 91/352/94 88/353/94
f 89/354/95 90/355/95 92/356/95 91/357/95
f 92/358/96 90/359/96 87/360/96
f 91/361/97 93/362/97 88/363/97
f 91/364/98 92/365/98 94/366/98 93/367/98
f 94/368/99 92/369/99 87/370/99
f 93/371/100 95/372/100 88/373/100
f 93/374/101 94/375/101 96/376/101 95/377/101
f 96/378/102 94/379/102 87/380/102
f 95/381/103 97/382/103 88/383/103
f 95/384/104 96/385/104 98/386/104 97/387/104
f 98/388/105 96/389/105 87/390/105
f 97/391/106 99/392/106 88/393/106
f 97/394/107 98/395/107 100/396/107 99/397/107
f 100/398/108 98/399/108 87/400/108
f 99/401/109 89/402/109 88/403/109
f 99/404/110 100/405/110 90/406/110 89/407/110
f 90/408/111 100/409/111 87/410/111
o Eyelid
v 0.27499999999999997 0.1606771161215142 -0.2701112119545722
v 0.27499999999999997 0.3164853230375956 -0.3162637054689597
v 0.20837341226347253 0.2890713946871721 -0.2657735303613425
v 0.20837341226347253 0.21116729122913142 -0.24269728360414874
v 0.275 0.30060951806576897 -0.22682147863232216
v 0.275 0.2227054146077283 -0.20374523187512839
v 0.3416265877365274 0.2890713946871721 -0.26577353036134255
v 0.34162658773652743 0.21116729122913142 -0.24269728360414877
v 0.3416265877365274 0.26599514792997836 -0.3436776338193832
v 0.3416265877365274 0.18809104447193767 -0.3206013870621895
v 0.27499999999999997 0.25445702455138147 -0.38262968554840354
v 0.27499999999999997 0.1765529210933408 -0.35955343879120977
v 0.20837341226347256 0.26599514792997836 -0.3436776338193832
v 0.20837341226347256 0.18809104447193767 -0.32060138706218944
vt 0.26796875 0.38674062499999995
vt 0.2801223391684067 0.40199988510200835
vt 0.25781273931386844 0.40624954029646754
vt 0.578125 0.203125
vt 0.578125 0.1875
vt 0.59375 0.1875
vt 0.59375 0.203125
vt 0.4051223391684067 0.19175011489799165
vt 0.39296875 0.20700937500000005
vt 0.38281273931386844 0.18750045970353246
vt 0.7823788716296671 0.5582509215059923
vt 0.7945310298066669 0.5429905217675735
vt 0.8046866742583656 0.5624987335558673
vt 0.0625 0.28125
vt 0.0625 0.265625
vt 0.078125 0.265625
vt 0.078125 0.28125
vt 0.6851560298066669 0.20700947823242666
vt 0.6730038716296671 0.1917490784940078
vt 0.6953116742583656 0.18750126644413267
vt 0.7945310298066669 0.5429905217675735
vt 0.8148435298066669 0.5429905217675735
vt 0.8046872798066669 0.5624998967675734
vt 0.0625 0.3125
vt 0.0625 0.296875
vt 0.078125 0.296875
vt 0.078125 0.3125
vt 0.7054685298066669 0.20700947823242666
vt 0.6851560298066669 0.20700947823242666
vt 0.6953122798066669 0.1875001032324266
vt 0.8148435298066669 0.5429905217675735
vt 0.8269961283703329 0.5582505708069945
vt 0.804687226065615 0.5625
vt 0.609375 0.203125
vt 0.609375 0.1875
vt 0.625 0.1875
vt 0.625 0.203125
vt 0.7176211283703329 0.19174942919300542
vt 0.7054685298066669 0.20700947823242666
vt 0.695312226065615 0.1875
vt 0.23550266083159332 0.40199988510200835
vt 0.24765625 0.38674062499999995
vt 0.25781226068613156 0.40624954029646754
vt 0.546875 0.203125
vt 0.546875 0.1875
vt 0.5625 0.1875
vt 0.5625 0.203125
vt 0.37265625 0.20700937500000005
vt 0.3605026608315933 0.19175011489799165
vt 0.38281226068613156 0.18750045970353246
vt 0.24765625 0.38674062499999995
vt 0.26796875 0.38674062499999995
vt 0.2578125 0.40625
vt 0 0.40625
vt 0 0.390625
vt 0.015625 0.390625
vt 0.015625 0.40625
vt 0.39296875 0.20700937500000005
vt 0.37265625 0.20700937500000005
vt 0.3828125 0.1875
vn -0.26307919258914186 0.9499263334465753 0.16860990318303073
vn -0.5205983804044664 0.24249278137287825 0.8186419103016241
vn -0.263079192589142 -0.7048437226143697 0.6587751248474419
vn 0.26307919258914225 0.9499263334465753 0.16860990318303068
vn 0.5205983804044668 0.2424927813728782 0.8186419103016237
vn 0.2630791925891424 -0.7048437226143698 0.6587751248474417
vn 0.5205983804044665 0.8186419103016238 -0.2424927813728783
vn 1 2.305179603318492e-16 -6.466058729720471e-16
vn 0.5205983804044668 -0.8186419103016238 0.24249278137287789
vn 0.2630791925891419 0.7048437226143699 -0.6587751248474417
vn 0.5205983804044664 -0.2424927813728781 -0.8186419103016241
vn 0.26307919258914214 -0.9499263334465752 -0.16860990318303115
vn -0.26307919258914203 0.7048437226143699 -0.6587751248474417
vn -0.5205983804044663 -0.24249278137287827 -0.818641910301624
vn -0.263079192589142 -0.9499263334465753 -0.16860990318303118
vn -0.5205983804044663 0.8186419103016239 -0.24249278137287827
vn -1 -9.702165385758328e-17 -1.0549500926440111e-16
vn -0.5205983804044666 -0.818641910301624 0.2424927813728782
usemtl m_b241fb6a-d392-68df-d4db-e4bef4599021
f 103/411/112 105/412/112 102/413/112
f 103/414/113 104/415/113 106/416/113 105/417/113
f 106/418/114 104/419/114 101/420/114
f 105/421/115 107/422/115 102/423/115
f 105/424/116 106/425/116 108/426/116 107/427/116
f 108/428/117 106/429/117 101/430/117
f 107/431/118 109/432/118 102/433/118
f 107/434/119 108/435/119 110/436/119 109/437/119
f 110/438/120 108/439/120 101/440/120
f 109/441/121 111/442/121 102/443/121
f 109/444/122 110/445/122 112/446/122 111/447/122
f 112/448/123 110/449/123 101/450/123
f 111/451/124 113/452/124 102/453/124
f 111/454/125 112/455/125 114/456/125 113/457/125
f 114/458/126 112/459/126 101/460/126
f 113/461/127 103/462/127 102/463/127
f 113/464/128 114/465/128 104/466/128 103/467/128
f 104/468/129 114/469/129 101/470/129
o Eye
v 0.3187500000000001 0.14103803463669468 0.2789187744783233
v 0.3187500000000001 0.2464619653633054 0.34608122552167625
v 0.2646234122634727 0.23689659544249098 0.30293463007918536
v 0.26462341226347263 0.18418463007918562 0.2693534045575089
v 0.3187500000000001 0.2536872082033292 0.2765786473975327
v 0.3187500000000001 0.20097524284002385 0.24299742187585618
v 0.3728765877365275 0.23689659544249098 0.30293463007918536
v 0.3728765877365275 0.18418463007918562 0.26935340455750884
v 0.3728765877365275 0.20331536992081448 0.35564659544249067
v 0.3728765877365275 0.15060340455750912 0.3220653699208142
v 0.3187500000000001 0.18652475715997624 0.3820025781241434
v 0.3187500000000001 0.13381279179667088 0.34842135260246687
v 0.2646234122634727 0.20331536992081445 0.3556465954424907
v 0.2646234122634727 0.1506034045575091 0.32206536992081425
vt 0.740625 0.21562499999999996
vt 0.75 0.203125
vt 0.7578125 0.21875
vt 0.0625 0.171875
vt 0.078125 0.171875
vt 0.078125 0.1875
vt 0.0625 0.1875
vt 0.296875 0.203125
vt 0.2875 0.19062500000000004
vt 0.3046875 0.1875
vt 0.8125 0.453125
vt 0.821875 0.46562499999999996
vt 0.8046875 0.46875
vt 0.03125 0.171875
vt 0.046875 0.171875
vt 0.046875 0.1875
vt 0.03125 0.1875
vt 0.525 0.19062500000000004
vt 0.515625 0.203125
vt 0.5078125 0.1875
vt 0.796875 0.453125
vt 0.8125 0.453125
vt 0.8046875 0.46875
vt 0.640625 0.1875
vt 0.65625 0.1875
vt 0.65625 0.203125
vt 0.640625 0.203125
vt 0.515625 0.203125
vt 0.5 0.203125
vt 0.5078125 0.1875
vt 0.7875 0.46562499999999996
vt 0.796875 0.453125
vt 0.8046875 0.46875
vt 0.8125 0.875
vt 0.828125 0.875
vt 0.828125 0.890625
vt 0.8125 0.890625
vt 0.5 0.203125
vt 0.490625 0.19062500000000004
vt 0.5078125 0.1875
vt 0.765625 0.203125
vt 0.775 0.21562499999999996
vt 0.7578125 0.21875
vt 0 0.171875
vt 0.015625 0.171875
vt 0.015625 0.1875
vt 0 0.1875
vt 0.321875 0.19062500000000004
vt 0.3125 0.203125
vt 0.3046875 0.1875
vt 0.75 0.203125
vt 0.765625 0.203125
vt 0.7578125 0.21875
vt 0.796875 0.203125
vt 0.8125 0.203125
vt 0.8125 0.21875
vt 0.796875 0.21875
vt 0.3125 0.203125
vt 0.296875 0.203125
vt 0.3046875 0.1875
vn -0.25000000000000006 0.9630559725443353 0.10011590156755606
vn -0.5000000000000002 0.4653151102717791 -0.7303984174084457
vn -0.2500000000000003 -0.49774086227255626 -0.8305143189760018
vn 0.25 0.9630559725443353 0.10011590156755595
vn 0.4999999999999998 0.46531511027177896 -0.730398417408446
vn 0.24999999999999986 -0.49774086227255626 -0.830514318976002
vn 0.5000000000000001 0.7303984174084459 0.46531511027177885
vn 1 3.398302056046432e-17 -6.875710510282243e-17
vn 0.5000000000000001 -0.7303984174084458 -0.46531511027177896
vn 0.2500000000000002 0.49774086227255654 0.8305143189760018
vn 0.5000000000000002 -0.4653151102717787 0.7303984174084458
vn 0.25000000000000006 -0.9630559725443353 -0.10011590156755587
vn -0.24999999999999967 0.49774086227255643 0.8305143189760018
vn -0.49999999999999956 -0.46531511027177885 0.7303984174084462
vn -0.24999999999999994 -0.9630559725443354 -0.10011590156755568
vn -0.4999999999999999 0.7303984174084458 0.4653151102717792
vn -1 -8.532145870128014e-17 5.626026251299133e-16
vn -0.5000000000000003 -0.7303984174084459 -0.4653151102717786
usemtl m_b241fb6a-d392-68df-d4db-e4bef4599021
f 119/471/130 117/472/130 116/473/130
f 120/474/131 118/475/131 117/476/131 119/477/131
f 118/478/132 120/479/132 115/480/132
f 121/481/133 119/482/133 116/483/133
f 122/484/134 120/485/134 119/486/134 121/487/134
f 120/488/135 122/489/135 115/490/135
f 123/491/136 121/492/136 116/493/136
f 124/494/137 122/495/137 121/496/137 123/497/137
f 122/498/138 124/499/138 115/500/138
f 125/501/139 123/502/139 116/503/139
f 126/504/140 124/505/140 123/506/140 125/507/140
f 124/508/141 126/509/141 115/510/141
f 127/511/142 125/512/142 116/513/142
f 128/514/143 126/515/143 125/516/143 127/517/143
f 126/518/144 128/519/144 115/520/144
f 117/521/145 127/522/145 116/523/145
f 118/524/146 128/525/146 127/526/146 117/527/146
f 128/528/147 118/529/147 115/530/147

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -0,0 +1,12 @@
# Blender 4.1.1 MTL File: 'None'
# www.blender.org
newmtl m_bd426229-d70e-1b2d-88fd-22493d1e38ee
Ns 0.000000
Ka 1.000000 1.000000 1.000000
Ks 0.000000 0.000000 0.000000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 1
map_Kd snake_head_top.png

View File

@ -0,0 +1,829 @@
# Blender 4.1.1
# www.blender.org
mtllib snake_head_top.mtl
o Eyel
v 0.309375 0.141038 -0.278919
v 0.309375 0.246462 -0.346081
v 0.264623 0.236897 -0.302935
v 0.264623 0.184185 -0.269353
v 0.309375 0.253687 -0.276579
v 0.309375 0.200975 -0.242997
v 0.354127 0.236897 -0.302935
v 0.354127 0.184185 -0.269353
v 0.354127 0.203315 -0.355647
v 0.354127 0.150603 -0.322065
v 0.309375 0.186525 -0.382003
v 0.309375 0.133813 -0.348421
v 0.264623 0.203315 -0.355647
v 0.264623 0.150603 -0.322065
vn -0.2981 0.9494 -0.0987
vn -0.5725 0.4405 0.6915
vn -0.2981 -0.4907 0.8188
vn 0.2981 0.9494 -0.0987
vn 0.5725 0.4405 0.6915
vn 0.2981 -0.4907 0.8188
vn 0.5725 0.6915 -0.4405
vn 1.0000 -0.0000 -0.0000
vn 0.5725 -0.6915 0.4405
vn 0.2981 0.4907 -0.8188
vn 0.5725 -0.4405 -0.6915
vn 0.2981 -0.9494 0.0987
vn -0.2981 0.4907 -0.8188
vn -0.5725 -0.4405 -0.6915
vn -0.2981 -0.9494 0.0987
vn -0.5725 0.6915 -0.4405
vn -1.0000 -0.0000 -0.0000
vn -0.5725 -0.6915 0.4405
vt 0.609375 0.642605
vt 0.618649 0.652614
vt 0.601562 0.656250
vt 0.312500 0.765625
vt 0.312500 0.750000
vt 0.328125 0.750000
vt 0.328125 0.765625
vt 0.353024 0.988011
vt 0.343750 0.998020
vt 0.335938 0.984375
vt 0.584476 0.683864
vt 0.593750 0.673855
vt 0.601562 0.687500
vt 0.250000 0.671875
vt 0.250000 0.656250
vt 0.265625 0.656250
vt 0.265625 0.671875
vt 0.015625 0.966770
vt 0.006351 0.956761
vt 0.023438 0.953125
vt 0.609375 0.673855
vt 0.171875 0.718750
vt 0.171875 0.703125
vt 0.187500 0.703125
vt 0.187500 0.718750
vt 0.031250 0.966770
vt 0.023438 0.953125
vt 0.618649 0.683864
vt 0.000000 0.609375
vt 0.000000 0.593750
vt 0.015625 0.593750
vt 0.015625 0.609375
vt 0.040524 0.956761
vt 0.023437 0.953125
vt 0.584476 0.652614
vt 0.593750 0.642605
vt 0.406250 0.500000
vt 0.406250 0.484375
vt 0.421875 0.484375
vt 0.421875 0.500000
vt 0.328125 0.998020
vt 0.318851 0.988011
vt 0.078125 0.750000
vt 0.078125 0.734375
vt 0.093750 0.734375
vt 0.093750 0.750000
s 0
usemtl m_bd426229-d70e-1b2d-88fd-22493d1e38ee
f 3/1/1 5/2/1 2/3/1
f 3/4/2 4/5/2 6/6/2 5/7/2
f 6/8/3 4/9/3 1/10/3
f 5/11/4 7/12/4 2/13/4
f 5/14/5 6/15/5 8/16/5 7/17/5
f 8/18/6 6/19/6 1/20/6
f 7/12/7 9/21/7 2/13/7
f 7/22/8 8/23/8 10/24/8 9/25/8
f 10/26/9 8/18/9 1/27/9
f 9/21/10 11/28/10 2/13/10
f 9/29/11 10/30/11 12/31/11 11/32/11
f 12/33/12 10/26/12 1/34/12
f 11/35/13 13/36/13 2/3/13
f 11/37/14 12/38/14 14/39/14 13/40/14
f 14/41/15 12/42/15 1/10/15
f 13/36/16 3/1/16 2/3/16
f 13/43/17 14/44/17 4/45/17 3/46/17
f 4/9/18 14/41/18 1/10/18
o Eyelidl
v 0.265625 0.160677 -0.270111
v 0.265625 0.316485 -0.316264
v 0.208373 0.289071 -0.265774
v 0.208373 0.211167 -0.242697
v 0.265625 0.300609 -0.226822
v 0.265625 0.222705 -0.203745
v 0.322877 0.289071 -0.265774
v 0.322877 0.211167 -0.242697
v 0.322877 0.265995 -0.343678
v 0.322877 0.188091 -0.320601
v 0.265625 0.254457 -0.382630
v 0.265625 0.176553 -0.359553
v 0.208373 0.265995 -0.343678
v 0.208373 0.188091 -0.320601
vn -0.3025 0.9385 0.1666
vn -0.5787 0.2316 0.7820
vn -0.3025 -0.6964 0.6508
vn 0.3025 0.9385 0.1666
vn 0.5787 0.2316 0.7820
vn 0.3025 -0.6964 0.6508
vn 0.5787 0.7820 -0.2316
vn 1.0000 -0.0000 -0.0000
vn 0.5787 -0.7820 0.2316
vn 0.3025 0.6964 -0.6508
vn 0.5787 -0.2316 -0.7820
vn 0.3025 -0.9385 -0.1666
vn -0.3025 0.6964 -0.6508
vn -0.5787 -0.2316 -0.7820
vn -0.3025 -0.9385 -0.1666
vn -0.5787 0.7820 -0.2316
vn -1.0000 -0.0000 -0.0000
vn -0.5787 -0.7820 0.2316
vt 0.189844 0.404325
vt 0.201888 0.417090
vt 0.179687 0.421875
vt 0.609375 0.875000
vt 0.609375 0.859375
vt 0.625000 0.859375
vt 0.625000 0.875000
vt 0.264388 0.395410
vt 0.252344 0.408175
vt 0.242187 0.390625
vt 0.188737 0.463965
vt 0.200781 0.451200
vt 0.210938 0.468750
vt 0.375000 0.390625
vt 0.375000 0.375000
vt 0.390625 0.375000
vt 0.390625 0.390625
vt 0.466406 0.423800
vt 0.454362 0.411035
vt 0.476563 0.406250
vt 0.221094 0.451200
vt 0.210938 0.468750
vt 0.609375 0.937500
vt 0.609375 0.921875
vt 0.625000 0.921875
vt 0.625000 0.937500
vt 0.486719 0.423800
vt 0.476562 0.406250
vt 0.233138 0.463965
vt 0.210937 0.468750
vt 0.343750 0.390625
vt 0.343750 0.375000
vt 0.359375 0.375000
vt 0.359375 0.390625
vt 0.498763 0.411035
vt 0.476562 0.406250
vt 0.157487 0.417090
vt 0.169531 0.404325
vt 0.179688 0.421875
vt 0.406250 0.390625
vt 0.406250 0.375000
vt 0.421875 0.375000
vt 0.421875 0.390625
vt 0.232031 0.408175
vt 0.219987 0.395410
vt 0.242188 0.390625
vt 0.179688 0.421875
vt 0.609375 0.906250
vt 0.609375 0.890625
vt 0.625000 0.890625
vt 0.625000 0.906250
vt 0.242188 0.390625
s 0
usemtl m_bd426229-d70e-1b2d-88fd-22493d1e38ee
f 17/47/19 19/48/19 16/49/19
f 17/50/20 18/51/20 20/52/20 19/53/20
f 20/54/21 18/55/21 15/56/21
f 19/57/22 21/58/22 16/59/22
f 19/60/23 20/61/23 22/62/23 21/63/23
f 22/64/24 20/65/24 15/66/24
f 21/58/25 23/67/25 16/68/25
f 21/69/26 22/70/26 24/71/26 23/72/26
f 24/73/27 22/64/27 15/74/27
f 23/67/28 25/75/28 16/76/28
f 23/77/29 24/78/29 26/79/29 25/80/29
f 26/81/30 24/73/30 15/82/30
f 25/83/31 27/84/31 16/85/31
f 25/86/32 26/87/32 28/88/32 27/89/32
f 28/90/33 26/91/33 15/92/33
f 27/84/34 17/47/34 16/93/34
f 27/94/35 28/95/35 18/96/35 17/97/35
f 18/55/36 28/90/36 15/98/36
o Eyelidr
v 0.265625 0.160677 0.270111
v 0.265625 0.316485 0.316264
v 0.208373 0.289071 0.265774
v 0.208373 0.211167 0.242697
v 0.265625 0.300610 0.226821
v 0.265625 0.222705 0.203745
v 0.322877 0.289071 0.265774
v 0.322877 0.211167 0.242697
v 0.322877 0.265995 0.343678
v 0.322877 0.188091 0.320601
v 0.265625 0.254457 0.382630
v 0.265625 0.176553 0.359553
v 0.208373 0.265995 0.343678
v 0.208373 0.188091 0.320601
vn -0.3025 0.9385 -0.1666
vn -0.5787 0.2316 -0.7820
vn -0.3025 -0.6964 -0.6508
vn 0.3025 0.9385 -0.1666
vn 0.5787 0.2316 -0.7820
vn 0.3025 -0.6964 -0.6508
vn 0.5787 0.7820 0.2316
vn 1.0000 -0.0000 -0.0000
vn 0.5787 -0.7820 -0.2316
vn 0.3025 0.6964 0.6508
vn 0.5787 -0.2316 0.7820
vn 0.3025 -0.9385 0.1666
vn -0.3025 0.6964 0.6508
vn -0.5787 -0.2316 0.7820
vn -0.3025 -0.9385 0.1666
vn -0.5787 0.7820 0.2316
vn -1.0000 -0.0000 -0.0000
vn -0.5787 -0.7820 -0.2316
vt 0.579362 0.792090
vt 0.591406 0.779325
vt 0.601563 0.796875
vt 0.500000 0.375000
vt 0.515625 0.375000
vt 0.515625 0.390625
vt 0.500000 0.390625
vt 0.294531 0.408175
vt 0.282487 0.395410
vt 0.304688 0.390625
vt 0.424219 0.419950
vt 0.436263 0.432715
vt 0.414062 0.437500
vt 0.562500 0.375000
vt 0.578125 0.375000
vt 0.578125 0.390625
vt 0.562500 0.390625
vt 0.623763 0.817285
vt 0.611719 0.830050
vt 0.601562 0.812500
vt 0.403906 0.419950
vt 0.414062 0.437500
vt 0.437500 0.375000
vt 0.453125 0.375000
vt 0.453125 0.390625
vt 0.437500 0.390625
vt 0.591406 0.830050
vt 0.601562 0.812500
vt 0.391862 0.432715
vt 0.414063 0.437500
vt 0.531250 0.375000
vt 0.546875 0.375000
vt 0.546875 0.390625
vt 0.531250 0.390625
vt 0.579362 0.817285
vt 0.601563 0.812500
vt 0.611719 0.779325
vt 0.623763 0.792090
vt 0.601562 0.796875
vt 0.609375 0.406250
vt 0.625000 0.406250
vt 0.625000 0.421875
vt 0.609375 0.421875
vt 0.326888 0.395410
vt 0.314844 0.408175
vt 0.304687 0.390625
vt 0.601562 0.796875
vt 0.468750 0.375000
vt 0.484375 0.375000
vt 0.484375 0.390625
vt 0.468750 0.390625
vt 0.304688 0.390625
s 0
usemtl m_bd426229-d70e-1b2d-88fd-22493d1e38ee
f 33/99/37 31/100/37 30/101/37
f 34/102/38 32/103/38 31/104/38 33/105/38
f 32/106/39 34/107/39 29/108/39
f 35/109/40 33/110/40 30/111/40
f 36/112/41 34/113/41 33/114/41 35/115/41
f 34/116/42 36/117/42 29/118/42
f 37/119/43 35/109/43 30/120/43
f 38/121/44 36/122/44 35/123/44 37/124/44
f 36/117/45 38/125/45 29/126/45
f 39/127/46 37/119/46 30/128/46
f 40/129/47 38/130/47 37/131/47 39/132/47
f 38/125/48 40/133/48 29/134/48
f 41/135/49 39/136/49 30/137/49
f 42/138/50 40/139/50 39/140/50 41/141/50
f 40/142/51 42/143/51 29/144/51
f 31/100/52 41/135/52 30/145/52
f 32/146/53 42/147/53 41/148/53 31/149/53
f 42/143/54 32/106/54 29/150/54
o Eyer
v 0.309375 0.141038 0.278919
v 0.309375 0.246462 0.346081
v 0.264623 0.236897 0.302935
v 0.264623 0.184185 0.269353
v 0.309375 0.253687 0.276579
v 0.309375 0.200975 0.242997
v 0.354127 0.236897 0.302935
v 0.354127 0.184185 0.269353
v 0.354127 0.203315 0.355647
v 0.354127 0.150603 0.322065
v 0.309375 0.186525 0.382003
v 0.309375 0.133813 0.348421
v 0.264623 0.203315 0.355647
v 0.264623 0.150603 0.322065
vn -0.2981 0.9494 0.0987
vn -0.5725 0.4405 -0.6915
vn -0.2981 -0.4907 -0.8188
vn 0.2981 0.9494 0.0987
vn 0.5725 0.4405 -0.6915
vn 0.2981 -0.4907 -0.8188
vn 0.5725 0.6915 0.4405
vn 1.0000 -0.0000 -0.0000
vn 0.5725 -0.6915 -0.4405
vn 0.2981 0.4907 0.8188
vn 0.5725 -0.4405 0.6915
vn 0.2981 -0.9494 -0.0987
vn -0.2981 0.4907 0.8188
vn -0.5725 -0.4405 0.6915
vn -0.2981 -0.9494 -0.0987
vn -0.5725 0.6915 0.4405
vn -1.0000 -0.0000 -0.0000
vn -0.5725 -0.6915 -0.4405
vt 0.521976 0.418239
vt 0.531250 0.408230
vt 0.539062 0.421875
vt 0.125000 0.390625
vt 0.140625 0.390625
vt 0.140625 0.406250
vt 0.125000 0.406250
vt 0.593750 0.998020
vt 0.584476 0.988011
vt 0.601562 0.984375
vt 0.609375 0.611355
vt 0.618649 0.621364
vt 0.601562 0.625000
vt 0.609375 0.953125
vt 0.625000 0.953125
vt 0.625000 0.968750
vt 0.609375 0.968750
vt 0.274899 0.613011
vt 0.265625 0.623020
vt 0.257812 0.609375
vt 0.593750 0.611355
vt 0.578125 0.406250
vt 0.593750 0.406250
vt 0.593750 0.421875
vt 0.578125 0.421875
vt 0.250000 0.623020
vt 0.584476 0.621364
vt 0.062500 0.390625
vt 0.078125 0.390625
vt 0.078125 0.406250
vt 0.062500 0.406250
vt 0.240726 0.613011
vt 0.546875 0.408230
vt 0.556149 0.418239
vt 0.093750 0.390625
vt 0.109375 0.390625
vt 0.109375 0.406250
vt 0.093750 0.406250
vt 0.618649 0.988011
vt 0.609375 0.998020
vt 0.539062 0.421875
vt 0.343750 0.406250
vt 0.359375 0.406250
vt 0.359375 0.421875
vt 0.343750 0.421875
s 0
usemtl m_bd426229-d70e-1b2d-88fd-22493d1e38ee
f 47/151/55 45/152/55 44/153/55
f 48/154/56 46/155/56 45/156/56 47/157/56
f 46/158/57 48/159/57 43/160/57
f 49/161/58 47/162/58 44/163/58
f 50/164/59 48/165/59 47/166/59 49/167/59
f 48/168/60 50/169/60 43/170/60
f 51/171/61 49/161/61 44/163/61
f 52/172/62 50/173/62 49/174/62 51/175/62
f 50/169/63 52/176/63 43/170/63
f 53/177/64 51/171/64 44/163/64
f 54/178/65 52/179/65 51/180/65 53/181/65
f 52/176/66 54/182/66 43/170/66
f 55/183/67 53/184/67 44/153/67
f 56/185/68 54/186/68 53/187/68 55/188/68
f 54/189/69 56/190/69 43/160/69
f 45/152/70 55/183/70 44/191/70
f 46/192/71 56/193/71 55/194/71 45/195/71
f 56/190/72 46/158/72 43/160/72
o Head
v -0.288028 0.100431 0.173078
v 0.563947 0.262931 -0.000000
v 0.849797 0.100431 -0.000000
v 0.022991 0.325000 -0.000000
v 0.849797 0.033476 -0.000000
v 0.455739 0.262931 0.201034
v 0.674713 0.100431 0.325280
v 0.181748 0.262931 0.308003
v 0.231385 0.100431 0.498359
v -0.079288 0.262931 0.270853
v -0.142499 0.100431 0.438249
v -0.169230 0.262931 0.106968
v 0.111782 0.273275 0.250477
v -0.018735 0.273275 0.231902
v 0.032404 0.304310 0.096476
v 0.231385 0.033476 0.498359
v -0.142499 0.033476 0.438249
v 0.231385 -0.033478 0.498359
v -0.142499 -0.033478 0.438249
v -0.288028 0.033476 0.173078
v -0.288028 -0.033478 0.173078
v 0.674713 0.033476 0.325280
v 0.249118 0.033476 0.458490
v 0.674713 0.033476 0.299258
v 0.840459 0.033476 -0.000000
v 0.268270 0.033476 0.417226
v 0.674713 0.033476 0.272325
v 0.830514 0.033476 -0.000000
v 0.830517 0.002226 -0.000000
v 0.840462 0.002226 -0.000000
v 0.674716 0.002226 0.272325
v 0.674716 0.002226 0.299258
v 0.268273 0.002226 0.417226
v 0.249121 0.002226 0.458490
v -0.288028 0.100431 -0.173078
v 0.455739 0.262930 -0.201034
v 0.674713 0.100431 -0.325280
v 0.181748 0.262930 -0.308003
v 0.231385 0.100430 -0.498359
v -0.079288 0.262930 -0.270853
v -0.142499 0.100430 -0.438249
v -0.169230 0.262931 -0.106968
v 0.111782 0.273275 -0.250477
v -0.018735 0.273275 -0.231902
v 0.032404 0.304310 -0.096476
v 0.231385 0.033476 -0.498359
v -0.142499 0.033476 -0.438249
v 0.231385 -0.033478 -0.498359
v -0.142499 -0.033478 -0.438249
v -0.288028 0.033476 -0.173078
v -0.288028 -0.033478 -0.173078
v 0.674713 0.033476 -0.325280
v 0.249118 0.033476 -0.458490
v 0.674713 0.033476 -0.299258
v 0.268270 0.033476 -0.417226
v 0.674713 0.033476 -0.272325
v 0.674716 0.002226 -0.272325
v 0.674716 0.002226 -0.299258
v 0.268273 0.002226 -0.417226
v 0.249121 0.002226 -0.458490
v 0.024199 0.422456 0.283055
v -0.050079 0.364521 0.272018
v -0.039562 0.411843 0.191553
v -0.079219 0.494050 0.312376
v -0.109904 0.472972 0.301828
v -0.111117 0.490188 0.263564
v 0.024199 0.422456 -0.283055
v -0.050079 0.364521 -0.272018
v -0.039562 0.411843 -0.191554
v -0.079219 0.494050 -0.312376
v -0.109904 0.472972 -0.301828
v -0.111117 0.490188 -0.263564
vn -0.3073 0.9516 -0.0000
vn -0.8073 0.5902 -0.0000
vn -1.0000 -0.0000 -0.0000
vn 1.0000 -0.0000 -0.0000
vn 0.1138 0.9916 0.0612
vn 0.4776 0.8401 0.2571
vn 0.0645 0.9842 0.1651
vn 0.2326 0.7688 0.5957
vn -0.1063 0.7424 0.6615
vn -0.1064 0.7424 0.6615
vn -0.2381 0.9624 0.1307
vn -0.6724 0.6417 0.3690
vn -0.0302 0.9767 0.2124
vn -0.1587 -0.0000 0.9873
vn -0.8767 -0.0000 0.4811
vn 0.8805 -0.0000 0.4740
vn 0.3637 -0.0000 0.9315
vn -0.0000 -1.0000 -0.0000
vn -0.8680 -0.0001 -0.4966
vn 0.8748 0.0001 0.4845
vn -0.3358 -0.0000 -0.9419
vn 0.3504 -0.0000 0.9366
vn -0.9071 -0.0001 -0.4210
vn 0.1138 0.9916 -0.0612
vn 0.4776 0.8401 -0.2571
vn 0.0645 0.9842 -0.1651
vn 0.2326 0.7688 -0.5957
vn -0.1063 0.7424 -0.6615
vn -0.1064 0.7424 -0.6615
vn -0.2381 0.9624 -0.1307
vn -0.6724 0.6417 -0.3690
vn -0.0302 0.9767 -0.2124
vn -0.1587 -0.0000 -0.9873
vn -0.8767 -0.0000 -0.4811
vn 0.8805 -0.0000 -0.4740
vn 0.3637 -0.0000 -0.9315
vn -0.8680 -0.0001 0.4966
vn 0.8748 0.0001 -0.4845
vn -0.3358 -0.0000 0.9419
vn 0.3504 -0.0000 -0.9366
vn -0.9071 -0.0001 0.4210
vn -0.6091 0.7159 0.3414
vn 0.0146 -0.2052 0.9786
vn -0.9442 -0.2146 -0.2497
vn -0.9443 -0.2146 -0.2496
vn 0.5133 0.7351 -0.4429
vn -0.0285 -0.4138 0.9099
vn -0.8819 -0.4398 -0.1700
vn -0.8819 -0.4398 -0.1699
vn 0.4835 0.7894 -0.3784
vn 0.4834 0.7894 -0.3784
vn -0.6091 0.7159 -0.3414
vn 0.0146 -0.2052 -0.9786
vn -0.9443 -0.2146 0.2496
vn -0.9442 -0.2146 0.2497
vn 0.5133 0.7351 0.4429
vn -0.0285 -0.4138 -0.9099
vn -0.8819 -0.4398 0.1700
vn -0.8819 -0.4398 0.1699
vn 0.4835 0.7894 0.3784
vt 0.141021 0.996556
vt 0.095567 0.968368
vt 0.144909 0.939546
vt 0.418570 0.813710
vt 0.402042 0.763386
vt 0.488583 0.763386
vt 0.472055 0.813710
vt 0.253605 0.562500
vt 0.253605 0.545761
vt 0.340145 0.545761
vt 0.340145 0.562500
vt 0.253605 0.529023
vt 0.340145 0.529023
vt 0.000000 0.484375
vt 0.250000 0.484375
vt 0.250000 0.500000
vt 0.000000 0.500000
vt 0.151930 0.819456
vt 0.209007 0.819456
vt 0.144908 0.939548
vt 0.150524 0.744556
vt 0.242877 0.744556
vt 0.095563 0.866676
vt 0.144908 0.939547
vt 0.050359 0.821668
vt 0.141565 0.745263
vt 0.007692 0.906178
vt 0.095563 0.866676
vt 0.065071 0.925111
vt 0.071766 0.928146
vt 0.144908 0.939547
vt 0.560516 0.786712
vt 0.516512 0.828125
vt 0.472055 0.813709
vt 0.099822 0.889066
vt 0.087923 0.919802
vt 0.124494 0.925502
vt 0.144908 0.939547
vt 0.442600 0.561386
vt 0.537270 0.561386
vt 0.537270 0.578125
vt 0.442600 0.578125
vt 0.442600 0.544648
vt 0.537270 0.544648
vt 0.415766 0.545761
vt 0.415766 0.562500
vt 0.415766 0.529023
vt 0.531250 0.437500
vt 0.625000 0.437500
vt 0.625000 0.453125
vt 0.531250 0.453125
vt 0.656250 0.561386
vt 0.656250 0.578125
vt 0.494931 0.723506
vt 0.286319 0.723506
vt 0.322544 0.621895
vt 0.458706 0.621895
vt 0.390625 0.582945
vt 0.276003 0.728294
vt 0.505247 0.728294
vt 0.515214 0.732727
vt 0.266036 0.732727
vt 0.465439 0.621895
vt 0.471945 0.621895
vt 0.390625 0.580459
vt 0.390625 0.578125
vt 0.221494 0.705547
vt 0.185269 0.603936
vt 0.192002 0.603936
vt 0.231809 0.710336
vt 0.117188 0.564986
vt 0.117188 0.562500
vt 0.062500 0.421875
vt 0.140625 0.421875
vt 0.140625 0.437500
vt 0.062500 0.437500
vt 0.078125 0.625000
vt 0.156250 0.625000
vt 0.156250 0.640625
vt 0.078125 0.640625
vt 0.062500 0.453125
vt 0.171875 0.453125
vt 0.171875 0.468750
vt 0.062500 0.468750
vt 0.531250 0.703125
vt 0.640625 0.703125
vt 0.640625 0.718750
vt 0.531250 0.718750
vt 0.234375 0.984375
vt 0.250000 0.984375
vt 0.250000 1.000000
vt 0.234375 1.000000
vt 0.223996 0.828751
vt 0.249365 0.879880
vt 0.144907 0.939547
vt 0.276038 0.765120
vt 0.317085 0.847850
vt 0.232118 0.951362
vt 0.144908 0.939547
vt 0.320433 0.856190
vt 0.292527 0.971851
vt 0.082305 0.718750
vt 0.062500 0.656250
vt 0.157170 0.656250
vt 0.148211 0.717867
vt 0.187629 1.000000
vt 0.144908 0.939547
vt 0.374113 0.828125
vt 0.330109 0.786712
vt 0.418570 0.813709
vt 0.187923 0.981818
vt 0.210168 0.957498
vt 0.232118 0.951362
vt 0.166563 0.951591
vt 0.556480 0.515625
vt 0.556480 0.498886
vt 0.651150 0.498886
vt 0.651150 0.515625
vt 0.556480 0.482148
vt 0.651150 0.482148
vt 0.177984 0.562500
vt 0.177984 0.545761
vt 0.177984 0.529023
vt 0.218750 0.593750
vt 0.218750 0.578125
vt 0.312500 0.578125
vt 0.312500 0.593750
vt 0.437500 0.515625
vt 0.437500 0.498886
vt 0.309305 0.621895
vt 0.315811 0.621895
vt 0.042373 0.603936
vt 0.049106 0.603936
vt 0.012881 0.705547
vt 0.002566 0.710336
vt 0.078125 0.546875
vt 0.078125 0.531250
vt 0.156250 0.531250
vt 0.156250 0.546875
vt 0.000000 1.000000
vt 0.000000 0.984375
vt 0.078125 0.984375
vt 0.078125 1.000000
vt 0.531250 0.750000
vt 0.531250 0.734375
vt 0.640625 0.734375
vt 0.640625 0.750000
vt 0.406250 0.468750
vt 0.406250 0.453125
vt 0.515625 0.453125
vt 0.515625 0.468750
vt 0.000000 0.843750
vt 0.000000 0.828125
vt 0.015625 0.828125
vt 0.015625 0.843750
vt 0.603323 0.383078
vt 0.609375 0.390625
vt 0.594831 0.389242
vt 0.059120 0.516678
vt 0.037106 0.554783
vt 0.018579 0.539984
vt 0.026563 0.515625
vt 0.286000 0.437500
vt 0.297698 0.460856
vt 0.277580 0.472969
vt 0.250000 0.444283
vt 0.562500 0.614637
vt 0.554750 0.654023
vt 0.526888 0.656876
vt 0.520335 0.615214
vt 0.010971 0.573744
vt 0.003380 0.567748
vt 0.018846 0.540198
vt 0.308987 0.490637
vt 0.299840 0.495781
vt 0.277888 0.472783
vt 0.551599 0.685927
vt 0.537075 0.687500
vt 0.526913 0.656873
vt 0.000000 0.375000
vt 0.006052 0.367453
vt 0.014544 0.373617
vt 0.371912 0.461859
vt 0.353386 0.476658
vt 0.331372 0.438553
vt 0.363928 0.437500
vt 0.034920 0.769844
vt 0.014802 0.757731
vt 0.026500 0.734375
vt 0.062500 0.741158
vt 0.035612 0.438126
vt 0.007750 0.435273
vt 0.000000 0.395887
vt 0.042165 0.396464
vt 0.387378 0.489409
vt 0.379788 0.495406
vt 0.353653 0.476444
vt 0.012968 0.792842
vt 0.003821 0.787698
vt 0.015110 0.757917
vt 0.025425 0.468750
vt 0.010901 0.467177
vt 0.035587 0.438123
vt 0.578313 0.952847
vt 0.359188 0.952847
vt 0.344161 0.859375
vt 0.593339 0.859375
vt 0.512020 0.989230
vt 0.425480 0.989230
s 0
usemtl m_bd426229-d70e-1b2d-88fd-22493d1e38ee
f 98/196/73 68/197/73 60/198/73
f 98/199/74 91/200/74 57/201/74 68/202/74
f 91/203/75 106/204/75 76/205/75 57/206/75
f 106/204/75 107/207/75 77/208/75 76/205/75
f 74/209/76 104/210/76 102/211/76 72/212/76
f 62/213/77 58/214/77 60/215/77
f 63/216/78 59/217/78 58/214/78 62/213/78
f 64/218/79 62/213/79 60/219/79
f 65/220/80 63/221/80 62/213/80 64/218/80
f 67/222/81 65/220/81 64/223/81 66/224/82
f 68/197/83 66/225/83 60/226/83
f 57/201/84 67/227/84 66/228/84 68/229/84
f 64/218/85 69/230/85 70/231/85 66/225/85
f 66/225/85 70/231/85 71/232/85 60/233/85
f 60/233/85 71/232/85 69/230/85 64/218/85
f 73/234/86 72/235/86 65/236/86 67/237/86
f 75/238/86 74/239/86 72/235/86 73/234/86
f 76/205/87 73/240/87 67/241/87 57/206/87
f 77/208/87 75/242/87 73/240/87 76/205/87
f 78/243/88 61/244/88 59/245/88 63/246/88
f 72/235/89 78/247/89 63/248/89 65/236/89
f 82/249/90 111/250/90 112/251/90 83/252/90
f 112/251/90 84/253/90 83/252/90
f 109/254/90 79/255/90 72/256/90 102/257/90
f 79/255/90 80/258/90 78/259/90 72/256/90
f 80/258/90 81/260/90 61/261/90 78/259/90
f 111/250/90 82/249/90 79/255/90 109/254/90
f 89/262/90 87/263/90 88/264/90 90/265/90
f 87/263/90 85/266/90 86/267/90 88/264/90
f 85/268/91 87/269/91 83/270/91 84/271/91
f 88/272/92 86/273/92 81/274/92 80/275/92
f 87/276/93 89/277/93 82/278/93 83/279/93
f 90/280/94 88/281/94 80/282/94 79/283/94
f 89/284/95 90/285/95 79/286/95 82/287/95
f 58/288/96 92/289/96 60/290/96
f 58/288/97 59/291/97 93/292/97 92/289/97
f 92/289/98 94/293/98 60/294/98
f 92/289/99 93/295/99 95/296/99 94/293/99
f 94/297/100 95/298/100 97/299/100 96/300/101
f 96/301/102 98/196/102 60/302/102
f 96/303/103 97/304/103 91/200/103 98/305/103
f 100/306/104 99/307/104 94/308/104 96/301/104
f 101/309/104 100/306/104 96/301/104 60/294/104
f 99/307/104 101/309/104 60/294/104 94/308/104
f 95/310/105 102/311/105 103/312/105 97/313/105
f 102/311/105 104/314/105 105/315/105 103/312/105
f 97/316/106 103/317/106 106/204/106 91/203/106
f 103/317/106 105/318/106 107/207/106 106/204/106
f 59/319/107 61/320/107 108/321/107 93/322/107
f 93/323/108 108/324/108 102/311/108 95/310/108
f 108/325/90 110/326/90 109/254/90 102/257/90
f 61/261/90 81/260/90 110/326/90 108/325/90
f 114/327/90 113/328/90 115/329/90 116/330/90
f 86/267/90 85/266/90 113/328/90 114/327/90
f 112/331/109 113/332/109 85/333/109 84/334/109
f 81/335/110 86/336/110 114/337/110 110/338/110
f 111/339/111 115/340/111 113/341/111 112/342/111
f 110/343/112 114/344/112 116/345/112 109/346/112
f 109/347/113 116/348/113 115/349/113 111/350/113
f 121/351/114 120/352/114 122/353/114
f 69/354/115 117/355/115 118/356/115 70/357/115
f 70/358/116 118/359/117 119/360/117 71/361/116
f 71/362/118 119/363/118 117/364/118 69/365/118
f 117/355/119 120/366/119 121/367/119 118/368/119
f 118/359/120 121/369/121 122/370/120 119/371/121
f 119/363/122 122/372/123 120/373/122 117/374/122
f 126/375/124 127/376/124 128/377/124
f 124/378/125 123/379/125 99/380/125 100/381/125
f 125/382/126 124/383/126 100/384/127 101/385/127
f 123/386/128 125/387/128 101/388/128 99/389/128
f 127/390/129 126/391/129 123/392/129 124/378/129
f 128/393/130 127/394/131 124/395/130 125/382/131
f 126/396/132 128/397/132 125/387/132 123/398/132
f 75/399/90 105/400/90 104/401/90 74/402/90
f 105/400/90 75/399/90 77/403/90 107/404/90

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
assets/models/snake_jaw.glb Normal file

Binary file not shown.

View File

@ -0,0 +1,4 @@
# Made in Blockbench 4.11.1
newmtl m_b241fb6a-d392-68df-d4db-e4bef4599021
map_Kd snake_head.png
newmtl none

354
assets/models/snake_jaw.obj Normal file
View File

@ -0,0 +1,354 @@
# Made in Blockbench 4.11.1
mtllib snake_jaw.mtl
o Jaw
v 0.8685466025048387 -0.10043052317185786 -1.3088325201447073e-16
v 0.5779867338856278 -0.26293052317185783 -9.00375174461725e-17
v 0.8685466025048387 -0.033477567883674675 -1.3088325201447073e-16
v 0.8590549243459918 -0.033477567883674675 -1.322532055372627e-16
v 0.8500694690222834 -0.033477567883674675 -1.3345736075351514e-16
v 0.8500725940222678 -0.002227567727424676 -1.3345805464290205e-16
v 0.8590580493459762 -0.002227567727424676 -1.3225389942664962e-16
v 0.6905776370264597 -0.10043052317185786 -0.3252804860140798
v 0.4679958642773331 -0.26293052317185783 -0.2010343962337861
v 0.2399443974433899 -0.10043052317185786 -0.49835861753225236
v 0.18948920575452127 -0.26293052317185783 -0.30800256422134126
v -0.14010094464167594 -0.10043052317185786 -0.4382492132679963
v -0.07584786962554443 -0.26293052317185783 -0.27085290934252315
v -0.2880282581475767 -0.10043052317185786 -0.17307813151817297
v -0.16727197723665255 -0.26293052317185783 -0.10696816798755535
v 0.2399443974433899 -0.033477567883674675 -0.49835861753225236
v -0.14010094464167594 -0.033477567883674675 -0.4382492132679963
v -0.2880282581475767 -0.033477567883674675 -0.17307813151817297
v 0.6905776370264596 -0.033477567883674675 -0.3252804860140798
v 0.2579697270267127 -0.033477567883674675 -0.45848992812967215
v 0.6905776370264596 -0.033477567883674675 -0.2992580471329534
v 0.2752740434267026 -0.033477567883674675 -0.4218107338792984
v 0.6905776370264596 -0.033477567883674675 -0.27531740336231714
v 0.6905807620264439 -0.002227567727424676 -0.27531740336231714
v 0.6905807620264439 -0.002227567727424676 -0.2992580471329534
v 0.2752771684266869 -0.002227567727424676 -0.4218107338792984
v 0.25797285202669706 -0.002227567727424676 -0.45848992812967215
v 0.02251793479261295 -0.27540883403949384 -0.003062724256584357
v 0.6905776370264599 -0.10043052317185786 0.32528048601407944
v 0.4679958642773331 -0.26293052317185783 0.20103439623378594
v 0.23994439744339013 -0.10043052317185786 0.49835861753225225
v 0.18948920575452138 -0.26293052317185783 0.30800256422134115
v -0.14010094464167577 -0.10043052317185786 0.4382492132679963
v -0.07584786962554432 -0.26293052317185783 0.27085290934252315
v -0.2880282581475767 -0.10043052317185786 0.17307813151817308
v -0.1672719772366525 -0.26293052317185783 0.10696816798755543
v 0.23994439744339013 -0.033477567883674675 0.49835861753225225
v -0.14010094464167577 -0.033477567883674675 0.4382492132679963
v -0.2880282581475767 -0.033477567883674675 0.17307813151817308
v 0.6905776370264598 -0.033477567883674675 0.32528048601407944
v 0.25796972702671295 -0.033477567883674675 0.45848992812967204
v 0.6905776370264598 -0.033477567883674675 0.29925804713295306
v 0.2752740434267028 -0.033477567883674675 0.4218107338792983
v 0.6905776370264598 -0.033477567883674675 0.2753174033623168
v 0.6905807620264441 -0.002227567727424676 0.2753174033623168
v 0.6905807620264441 -0.002227567727424676 0.29925804713295306
v 0.27527716842668715 -0.002227567727424676 0.4218107338792983
v 0.2579728520266973 -0.002227567727424676 0.45848992812967204
vt 0.8088953125 0.4207609375
vt 0.8088953125 0.4375
vt 0.7223546875 0.4375
vt 0.7223546875 0.4207609375
vt 0.6364171875 0.8935322812662452
vt 0.6529453125 0.8429182187662452
vt 0.7064296875 0.8429182187662452
vt 0.7229578125 0.8935322812662452
vt 0.5831695905107827 0.25
vt 0.6300218939697275 0.2757961243160978
vt 0.5843325220681077 0.3049211237933833
vt 0.390625 0.5830345432480015
vt 0.440884375 0.6105329807480016
vt 0.340365625 0.6105329807480016
vt 0.48569977560847855 0.37763715619501514
vt 0.496024628076048 0.30377088232348737
vt 0.5843344282578303 0.3049209056580693
vt 0.496024628076048 0.30377088232348737
vt 0.5362560340534723 0.25021790085053697
vt 0.584333115344504 0.30492088856052235
vt 0.5362560340534723 0.25021790085053697
vt 0.5831695905107827 0.25
vt 0.5843325023176027 0.30492019104723433
vt 0.019546875000000005 0.5391828125
vt 0.23045312499999998 0.5391828125
vt 0.19382968750000001 0.6430078125
vt 0.0561703125 0.6430078125
vt 0.125 0.68288125
vt 0.0561703125 0.6430078125
vt 0.19382968750000001 0.6430078125
vt 0.015437500000000007 0.4353390625
vt 0.2345625 0.4353390625
vt 0.24958906250000001 0.53035
vt 0.00041093749999999984 0.53035
vt 0.2345625 0.4353390625
vt 0.015437500000000007 0.4353390625
vt 0.0817296875 0.39835624999999997
vt 0.16827031250000002 0.39835624999999997
vt 0.23962187499999998 0.53485625
vt 0.010378125000000002 0.53485625
vt 0.00041093749999999984 0.53035
vt 0.24958906250000001 0.53035
vt 0.23045312499999998 0.5391828125
vt 0.019546875000000005 0.5391828125
vt 0.010378125000000002 0.53485625
vt 0.23962187499999998 0.53485625
vt 0.46875 0.234375
vt 0.46875 0.25
vt 0.375 0.25
vt 0.375 0.234375
vt 0.3849390658355618 0.5
vt 0.390625 0.5830345432480015
vt 0.3403666368698759 0.6105324271231198
vt 0.3036182516787981 0.5444930985619874
vt 0.35505624999999996 0.3270109375
vt 0.35505624999999996 0.34375
vt 0.234375 0.34375
vt 0.234375 0.3270109375
vt 0.3036185059982025 0.5444935555911228
vt 0.3403666368698759 0.6105324271231198
vt 0.3050953272717003 0.6762497285997497
vt 0.24654776254228666 0.6508274370351457
vt 0.4512484375 0.3270109375
vt 0.4512484375 0.34375
vt 0.35505624999999996 0.34375
vt 0.35505624999999996 0.3270109375
vt 0.24654701999969464 0.6508271146112437
vt 0.3050953272717003 0.6762497285997497
vt 0.2980142969369301 0.7428556357023527
vt 0.2376456967063797 0.7466009096452191
vt 0.7223546875 0.4207609375
vt 0.7223546875 0.4375
vt 0.64644375 0.4375
vt 0.64644375 0.4207609375
vt 0.5643794194858811 0.8695942035821933
vt 0.6084246438304043 0.828125
vt 0.6529453125 0.8429182187662452
vt 0.6364176424992022 0.8935308879225926
vt 0.00041093749999999984 0.53035
vt 0.010378125000000002 0.53485625
vt 0.0501859375 0.6430078125
vt 0.043679687499999995 0.6430078125
vt 0.043679687499999995 0.6430078125
vt 0.0501859375 0.6430078125
vt 0.125 0.685128125
vt 0.125 0.6875
vt 0.377565625 0.6622296875
vt 0.386734375 0.6665546875
vt 0.4233578125 0.77038125
vt 0.4173734375 0.77038125
vt 0.4173734375 0.77038125
vt 0.4233578125 0.77038125
vt 0.4921875 0.8102546875000001
vt 0.4921875 0.8125
vt 0.859375 0.90625
vt 0.859375 0.921875
vt 0.78125 0.921875
vt 0.78125 0.90625
vt 0.5625 0.21875
vt 0.5625 0.234375
vt 0.484375 0.234375
vt 0.484375 0.21875
vt 0.84375 0.640625
vt 0.84375 0.65625
vt 0.734375 0.65625
vt 0.734375 0.640625
vt 0.828125 0.84375
vt 0.828125 0.859375
vt 0.8125 0.859375
vt 0.8125 0.84375
vt 0.84375 0.609375
vt 0.84375 0.625
vt 0.734375 0.625
vt 0.734375 0.609375
vt 0.84375 0.59375
vt 0.75 0.59375
vt 0.75 0.578125
vt 0.84375 0.578125
vt 0.4408833631301241 0.6105324271231198
vt 0.390625 0.5830345432480015
vt 0.3963109341644382 0.5
vt 0.4776317483212019 0.5444930985619874
vt 0.890625 0.359375
vt 0.76994375 0.359375
vt 0.76994375 0.3426359375
vt 0.890625 0.3426359375
vt 0.4761546727282997 0.6762497285997497
vt 0.4408833631301241 0.6105324271231198
vt 0.4776314940017975 0.5444935555911228
vt 0.5347022374577133 0.6508274370351457
vt 0.76994375 0.359375
vt 0.6737515625 0.359375
vt 0.6737515625 0.3426359375
vt 0.76994375 0.3426359375
vt 0.4832357030630699 0.7428556357023527
vt 0.4761546727282997 0.6762497285997497
vt 0.5347029800003054 0.6508271146112437
vt 0.5436043032936203 0.7466009096452191
vt 0.88480625 0.4375
vt 0.8088953125 0.4375
vt 0.8088953125 0.4207609375
vt 0.88480625 0.4207609375
vt 0.7064296875 0.8429182187662452
vt 0.7509503561695957 0.828125
vt 0.7949955805141189 0.8695942035821933
vt 0.7229573575007978 0.8935308879225926
vt 0.1998140625 0.6430078125
vt 0.23962187499999998 0.53485625
vt 0.24958906250000001 0.53035
vt 0.2063203125 0.6430078125
vt 0.125 0.685128125
vt 0.1998140625 0.6430078125
vt 0.2063203125 0.6430078125
vt 0.125 0.6875
vt 0.5610171875000001 0.77038125
vt 0.5976406249999999 0.6665546875
vt 0.606809375 0.6622296875
vt 0.5670015625 0.77038125
vt 0.4921875 0.8102546875000001
vt 0.5610171875000001 0.77038125
vt 0.5670015625 0.77038125
vt 0.4921875 0.8125
vt 0.078125 0.21875
vt 0 0.21875
vt 0 0.203125
vt 0.078125 0.203125
vt 0.65625 0.234375
vt 0.578125 0.234375
vt 0.578125 0.21875
vt 0.65625 0.21875
vt 0.84375 0.6875
vt 0.734375 0.6875
vt 0.734375 0.671875
vt 0.84375 0.671875
vt 0.75 0.1875
vt 0.734375 0.1875
vt 0.734375 0.171875
vt 0.75 0.171875
vt 0.84375 0.3125
vt 0.734375 0.3125
vt 0.734375 0.296875
vt 0.84375 0.296875
vt 0.5843325220681077 0.3049211237933833
vt 0.6300219576499846 0.2757960837226867
vt 0.6549252243915215 0.31555481315225686
vt 0.5843325220681077 0.3049211237933833
vt 0.6549246297159063 0.31555472357365233
vt 0.6311901692230302 0.37818988332178904
vt 0.5843325220681077 0.3049211237933833
vt 0.6311900544832901 0.37818970390948536
vt 0.5742967071298678 0.4264180775194616
vt 0.5843325220681077 0.3049211237933833
vt 0.5742965845681077 0.4264195612933833
vt 0.5170075220681077 0.4264195612933833
vt 0.3341684130248968 0.84375
vt 0.3341684130248968 0.7048457675114878
vt 0.38458158697510325 0.8165369778525954
vn -1 0 2.220446049250313e-16
vn -0.8026445415044743 -0.5964576598494417 1.7822289011359389e-16
vn -0.06560637089762171 -0.9978455812888304 1.4567540706527484e-17
vn 0 -1 0
vn 0.012765623826861002 -0.9993659661595009 0.033237095697402935
vn -0.006067015766296782 -0.9990422646574647 0.04333295221624832
vn -0.04960028203153915 -0.9983857936722583 0.027669821390942404
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0.8772789322952281 1.4547158754389404e-15 -0.4799809110276625
vn 0.4715876091129184 -0.8432272845925993 -0.2580171960349794
vn 0.3585417021622037 0 -0.933513710563819
vn 0.22898467519488935 -0.7694926845296368 -0.5961937830783413
vn -0.15622183484548208 0 -0.9877219944485953
vn -0.0924829166848361 -0.7450655450601658 -0.6605484415890055
vn -0.8733030086765685 0 -0.487177436912316
vn -0.6663356047211577 -0.646391172710922 -0.37171940186421304
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn -0.8652933172889166 0.0000865293308625897 0.5012658651532311
vn 0.8713955143041757 -0.00008713955055800631 -0.49058113504012746
vn -0.3326496729485108 0.000033264966961813665 0.9430504726581133
vn -0.9044048560341956 0.00009044048469796046 0.4266753428571714
vn 0.3454188756290336 -0.000034541887217081866 -0.9384486129597254
vn 0.8772789322952282 1.6770709487503353e-15 0.4799809110276621
vn 0.4715876091129184 -0.8432272845925992 0.2580171960349792
vn 0.35854170216220416 0 0.9335137105638188
vn 0.22898467519488958 -0.7694926845296366 0.5961937830783413
vn -0.15622183484548166 0 0.9877219944485955
vn -0.09248291668483584 -0.7450655450601658 0.6605484415890055
vn -0.8733030086765683 0 0.48717743691231635
vn -0.6663356047211574 -0.646391172710922 0.3717194018642134
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn 0 1 0
vn -0.8652933172889168 0.00008652933086279259 -0.5012658651532309
vn 0.8713955143041758 -0.00008713955055792951 0.4905811350401273
vn -0.3326496729485112 0.00003326496696170712 -0.9430504726581131
vn -0.9044048560341958 0.00009044048469793136 -0.42667534285717096
vn 0.3454188756290341 -0.000034541887217641395 0.9384486129597251
vn -0.05028213524619449 -0.9983410706274957 -0.028050197386634425
vn -0.00619874400636841 -0.9990002030493476 -0.04427380580101454
vn 0.0129772195074001 -0.9993447662496016 -0.03378801478906824
vn 0.02252501307880775 -0.9996703171896505 -0.012323989441066092
vn -0.022389607192913212 0.9996742696017861 -0.012249905545878813
usemtl m_b241fb6a-d392-68df-d4db-e4bef4599021
f 35/1/1 39/2/1 18/3/1 14/4/1
f 14/5/2 15/6/2 36/7/2 35/8/2
f 36/9/3 15/10/3 28/11/3
f 2/12/4 30/13/4 9/14/4
f 30/15/5 32/16/5 28/17/5
f 32/18/6 34/19/6 28/20/6
f 34/21/7 36/22/7 28/23/7
f 22/24/8 43/25/8 44/26/8 23/27/8
f 5/28/9 23/29/9 44/30/9
f 17/31/10 38/32/10 37/33/10 16/34/10
f 38/35/11 17/36/11 18/37/11 39/38/11
f 41/39/12 20/40/12 16/41/12 37/42/12
f 43/43/13 22/44/13 20/45/13 41/46/13
f 8/47/14 19/48/14 3/49/14 1/50/14
f 1/51/15 2/52/15 9/53/15 8/54/15
f 10/55/16 16/56/16 19/57/16 8/58/16
f 8/59/17 9/60/17 11/61/17 10/62/17
f 12/63/18 17/64/18 16/65/18 10/66/18
f 10/67/19 11/68/19 13/69/19 12/70/19
f 14/71/20 18/72/20 17/73/20 12/74/20
f 12/75/21 13/76/21 15/77/21 14/78/21
f 16/79/22 20/80/22 21/81/22 19/82/22
f 19/83/23 21/84/23 4/85/23 3/86/23
f 27/87/24 26/88/24 24/89/24 25/90/24
f 25/91/25 24/92/25 6/93/25 7/94/25
f 5/95/26 6/96/26 24/97/26 23/98/26
f 21/99/27 25/100/27 7/101/27 4/102/27
f 23/103/28 24/104/28 26/105/28 22/106/28
f 22/107/29 26/108/29 27/109/29 20/110/29
f 20/111/30 27/112/30 25/113/30 21/114/30
f 3/115/31 40/116/31 29/117/31 1/118/31
f 30/119/32 2/120/32 1/121/32 29/122/32
f 40/123/33 37/124/33 31/125/33 29/126/33
f 32/127/34 30/128/34 29/129/34 31/130/34
f 37/131/35 38/132/35 33/133/35 31/134/35
f 34/135/36 32/136/36 31/137/36 33/138/36
f 38/139/37 39/140/37 35/141/37 33/142/37
f 36/143/38 34/144/38 33/145/38 35/146/38
f 42/147/39 41/148/39 37/149/39 40/150/39
f 4/151/40 42/152/40 40/153/40 3/154/40
f 45/155/41 47/156/41 48/157/41 46/158/41
f 6/159/42 45/160/42 46/161/42 7/162/42
f 45/163/43 6/164/43 5/165/43 44/166/43
f 7/167/44 46/168/44 42/169/44 4/170/44
f 47/171/45 45/172/45 44/173/45 43/174/45
f 48/175/46 47/176/46 43/177/46 41/178/46
f 46/179/47 48/180/47 41/181/47 42/182/47
f 28/183/48 15/184/48 13/185/48
f 28/186/49 13/187/49 11/188/49
f 28/189/50 11/190/50 9/191/50
f 28/192/51 9/193/51 2/194/51
f 2/195/52 28/196/52 30/197/52

BIN
assets/models/wheel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 B

Binary file not shown.

Binary file not shown.

10
assets/music/license.txt Normal file
View File

@ -0,0 +1,10 @@
Mjolnir by Alexander Nakarada (CreatorChords) | https://creatorchords.com
Music promoted by https://www.free-stock-music.com
Creative Commons / Attribution 4.0 International (CC BY 4.0)
https://creativecommons.org/licenses/by/4.0/
The Northern Path by Alexander Nakarada (CreatorChords) | https://creatorchords.com
Music promoted by https://www.free-stock-music.com
Creative Commons / Attribution 4.0 International (CC BY 4.0)
https://creativecommons.org/licenses/by/4.0/

BIN
assets/sfx/drums.ogg Normal file

Binary file not shown.

1
assets/sfx/license.txt Normal file
View File

@ -0,0 +1 @@
Все звуки взяты из бесплатных ассетов https://mixkit.co

Binary file not shown.

BIN
assets/sfx/lightning.ogg Normal file

Binary file not shown.

BIN
assets/sfx/player-dead.ogg Normal file

Binary file not shown.

BIN
assets/sfx/player-hit.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
assets/sfx/rocket.ogg Normal file

Binary file not shown.

BIN
assets/sfx/snake-beam.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
assets/sfx/snake-growl.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
assets/sfx/snake-roar.ogg Normal file

Binary file not shown.

Binary file not shown.

52
explosion.odin Normal file
View File

@ -0,0 +1,52 @@
package main
import rl "vendor:raylib"
import "core:slice"
import "core:math/ease"
import "core:fmt"
Explosion :: struct{
position: vec3,
radius: f32,
max_radius: f32,
time: f32,
color: rl.Color,
duration: f32,
to_free: bool,
}
explosions_buf : [256]Explosion
explosions : [dynamic]Explosion
explosions_init :: proc() {
explosions = slice.into_dynamic(explosions_buf[:])
}
explode :: proc(position: vec3, max_radius: f32, duration: f32, color: rl.Color = rl.YELLOW) {
append(&explosions, Explosion {
position = position,
max_radius = max_radius,
duration = duration,
color = color
})
}
explosions_process :: proc(delta: f32) {
#reverse for &e, i in explosions {
e.time += delta
e.radius = ease.back_out(e.time / e.duration) * e.max_radius
if e.time > e.duration {
unordered_remove(&explosions, i)
}
}
}
explosions_draw :: proc() {
rl.BeginBlendMode(rl.BlendMode.ADDITIVE)
#reverse for &e, i in explosions {
fmt.println(e.time)
color := rl.ColorAlpha(e.color, 1 - ease.exponential_in(e.time / e.duration))
rl.DrawSphere(e.position, e.radius, color)
}
rl.EndBlendMode()
}

View File

@ -23,7 +23,8 @@ Game :: struct {
plane: rl.Model,
bullets: [dynamic]Bullet,
snake_max_health: int,
snake_health: int
snake_health: int,
music: rl.Music,
}
@ -49,8 +50,16 @@ game_init :: proc(prev: ^GameState = nil) -> ^GameState {
game_setup :: proc(game: ^Game) {
clear(&game.bullets)
game.player = player_spawn({GameField.x / 2 + 50, 20, 0})
clear(&Segments)
clear(&trails)
clear(&explosions)
explosions_init()
trail_init()
game.player = player_spawn({GameField.x / 2 + 70, 20, 0})
// rl.StopMusicStream(game.music)
game.health = 100
game.snake_max_health = 0
snake_spawn({10, 10, 0}, math.PI, 70)
@ -80,6 +89,15 @@ game_gen_level :: proc(game: ^Game) {
game_update :: proc(state: ^GameState, delta: f32) {
game := transmute(^Game)state
using game
// if rl.IsMusicStreamPlaying(game.music) {
rl.UpdateMusicStream(game.music)
// }
explosions_process(delta)
if rl.IsKeyPressed(rl.KeyboardKey.ESCAPE) {
pause := pause_init(game)
stack_push(pause)
}
player_update(&player, game, delta)
@ -96,11 +114,11 @@ game_update :: proc(state: ^GameState, delta: f32) {
camera.target.x = clamp(camera.target.x, -GameField.x/2, GameField.x/2)
camera.target.y = clamp(camera.target.y, 0, GameField.y)
camera.position = camera.target + vec3backward * 50
trail_update(delta)
}
game_draw :: proc(state: ^GameState) {
rlgl.SetLineWidth(4)
game := transmute(^Game)state
using game
@ -111,12 +129,16 @@ game_draw :: proc(state: ^GameState) {
snake_draw(game)
player_draw(&player)
for bullet in bullets {
bullet_draw(bullet)
for &bullet, i in bullets {
bullet_draw(&bullet, game)
if i != 0 {
// rl.DrawLine3D(bullets[i].pos, bullets[i-1].pos, rl.WHITE)
}
}
trail_draw()
explosions_draw()
rl.EndMode3D()
rl.DrawText(rl.TextFormat("HEALTH: %d", snake_health), 0, 0, 20, rl.BLACK)
rl.DrawText(rl.TextFormat("STATE: %s", Head.state), 0, 20, 20, rl.BLACK)
if stack_top() == game {
@ -127,18 +149,26 @@ game_draw :: proc(state: ^GameState) {
hb_health = f32(Head.health) / f32(Head.max_health)
hb_text = "Jörmungandr's head"
}
rl.DrawRectangleV({0, WSize.y - height - 10}, {WSize.x, height + 10}, rl.WHITE)
hb_width := hb_health * WSize.x
rl.DrawRectangleV({WSize.x / 2 - hb_width / 2, WSize.y - height - 7}, {hb_width, height + 4}, rl.RED)
draw_text_centered(FontTitle, hb_text, {WSize.x / 2, WSize.y - height / 2}, height)
// rl.DrawRectangleV({0, WSize.y - height - 10}, {WSize.x, height + 10}, rl.WHITE)
// hb_width := hb_health * WSize.x
// rl.DrawRectangleV({WSize.x / 2 - hb_width / 2, WSize.y - height - 7}, {hb_width, height + 4}, rl.RED)
// draw_text_centered(Res.Fonts.Title, hb_text, {WSize.x / 2, WSize.y - height / 2}, height)
draw_hbar(hb_text, hb_health, {0, WSize.y - height}, {WSize.x, height}, rl.RED)
draw_hbar("Þórr", f32(health) / 100.0, {0, 0}, {WSize.x, height}, rl.GREEN)
}
}
draw_hbar :: proc(text: cstring, value: f32, pos, size: vec2, color: rl.Color) {
rl.DrawRectangleV(pos, size, rl.WHITE)
hb_width := value * size.x
rl.DrawRectangleV(pos + {size.x / 2 - hb_width / 2, 2}, {hb_width, size.y - 4}, color)
draw_text_centered(Res.Fonts.Title, text, pos + size / 2, size.y / 1.3)
}
game_free :: proc(state: ^GameState) {
game := transmute(^Game)state
rl.UnloadTexture(game.background)
free(state)
}

89
gameover.odin Normal file
View File

@ -0,0 +1,89 @@
package main
import rl "vendor:raylib"
import "core:math/ease"
import "core:fmt"
GameOver :: struct {
using state: GameState,
position: vec2,
size: vec2,
ready_to_go: bool,
}
gameover_init :: proc(prev: ^GameState = nil) -> ^GameState {
state := new(GameOver)
state.variant = state
state.position = vec2{WSize.x / 2, WSize.y + 300}
state.size = {700, 500}
state.update = gameover_update
state.draw = gameover_draw
state.free = gameover_free
state.previous = prev
tween_to(&state.position.y, WSize.y / 2, 1, ease.Ease.Back_Out, state, gameover_ready)
return state
}
gameover_update :: proc(state: ^GameState, delta: f32) {
gameover := transmute(^GameOver)state
if gameover.ready_to_go {
if rl.IsKeyPressed(rl.KeyboardKey.ESCAPE) {
gameover.ready_to_go = false
rl.StopMusicStream(current_music)
tween_to(&Overlay_Opacity, 1.0, 0.5, ease.Ease.Cubic_Out, nil, proc(data: rawptr) {
stack_pop()
state := transmute(^GameState)stack_top()
fmt.println(state.variant)
game := transmute(^Game)stack_top()
game_setup(game)
menu := menu_init(game)
stack_push(menu)
tween_to(&Overlay_Opacity, 0, 0.5, ease.Ease.Cubic_Out)
})
}
}
}
gameover_draw :: proc(state: ^GameState) {
gameover := transmute(^GameOver)state
if state.previous != nil {
state.previous->draw()
}
TitleFontSize :: 96
TitleSpacing :: 3
TitleText :: "GAME OVER"
TitleSize := rl.MeasureTextEx(Res.Fonts.Title, TitleText, TitleFontSize, TitleSpacing)
SubtitleText := [?]cstring{"Нажмите Escape чтобы выйти"}
SubtitleFontSize :: 48
SubtitleSpacing :: 2
SubtitleSizes := [?]vec2{{}}
for c, i in SubtitleText {
SubtitleSizes = rl.MeasureTextEx(Res.Fonts.UI, c, SubtitleFontSize, SubtitleSpacing)
}
rl.DrawRectangleV(gameover.position - gameover.size / 2, gameover.size, rl.Color{90, 30, 150, 10})
rl.DrawTextPro(Res.Fonts.Title, TitleText, gameover.position - {0, 100}, TitleSize / 2, 0, TitleFontSize, TitleSpacing, rl.WHITE)
for c, i in SubtitleText {
rl.DrawTextPro(Res.Fonts.UI, c, gameover.position - {0, f32(10 - i * 50)}, SubtitleSizes[i] / 2, 0, SubtitleFontSize, SubtitleSpacing, rl.WHITE)
}
}
gameover_free :: proc(state: ^GameState) {
free(state)
}
gameover_ready :: proc(state: rawptr) {
gameover := transmute(^GameOver)state
gameover.ready_to_go = true
}

103
main.odin
View File

@ -1,6 +1,8 @@
package main
import rl "vendor:raylib"
import "core:path/filepath"
import "core:strings"
vec3 :: [3]f32
vec2 :: [2]f32
@ -17,19 +19,104 @@ WSizei := [2]i32{}
WindowShouldExit := false
FontUI: rl.Font
FontTitle: rl.Font
Overlay_Opacity : f32 = 0
Resources :: struct {
Fonts: struct {
UI: rl.Font,
Title: rl.Font,
},
Models: struct {
PlayerModel: rl.Model,
SnakeHeadTop: rl.Model,
SnakeHeadJaw: rl.Model,
SnakeBody: rl.Model,
Background: rl.Model,
},
Sfx: struct {
Drums: rl.Sound,
Lightning: rl.Sound,
LightningHit: rl.Sound,
Rocket: rl.Sound,
PlayerHit: rl.Sound,
PlayerSwoosh: rl.Sound,
PlayerDead: rl.Sound,
SnakeGrowl: rl.Sound,
SnakeRoarBlast: rl.Sound,
SnakeEarthHit: rl.Sound,
SnakeSegmentExplode: rl.Sound,
SnakeBeam: rl.Sound,
},
Music: struct {
First: rl.Music,
Second: rl.Music,
}
}
Res : Resources
load_sfx :: proc(name: string, volume: f32 = 1) -> rl.Sound {
p := filepath.join([]string{".\\assets\\sfx\\", name})
cstr := strings.clone_to_cstring(p)
snd := rl.LoadSound(cstr)
rl.SetSoundVolume(snd, volume)
return snd
}
load_music :: proc(name: string, volume: f32 = 1) -> rl.Music {
p := filepath.join([]string{".\\assets\\music\\", name})
cstr := strings.clone_to_cstring(p)
snd := rl.LoadMusicStream(cstr)
rl.SetMusicVolume(snd, volume)
return snd
}
current_music : rl.Music
change_track :: proc(music: rl.Music) {
rl.StopMusicStream(current_music)
current_music = music
rl.PlayMusicStream(current_music)
}
load_resources :: proc() {
Res.Fonts.Title = rl.LoadFontEx(".\\assets\\fonts\\norse.otf", 96*2, nil, 2048)
Res.Fonts.UI = rl.LoadFontEx(".\\assets\\fonts\\PTSerif-Regular.ttf", 96, nil, 2048)
Res.Models.PlayerModel = rl.LoadModel(".\\assets\\models\\chariot.glb")
Res.Models.SnakeHeadTop = rl.LoadModel(".\\assets\\models\\snake_head_top.obj")
Res.Models.SnakeHeadJaw = rl.LoadModel(".\\assets\\models\\snake_jaw.obj")
Res.Models.SnakeBody = rl.LoadModel(".\\assets\\models\\snake_body.obj")
Res.Sfx.Drums = load_sfx("drums.ogg")
Res.Sfx.Lightning = load_sfx("lightning.ogg", 0.5)
Res.Sfx.LightningHit = load_sfx("lightning-hit.ogg", 0.3)
Res.Sfx.Rocket = load_sfx("rocket.ogg", 0.5)
Res.Sfx.PlayerHit = load_sfx("player-hit.ogg", 0.5)
Res.Sfx.PlayerSwoosh = load_sfx("player-swoosh.ogg")
Res.Sfx.PlayerDead = load_sfx("player-dead.ogg")
Res.Sfx.SnakeGrowl = load_sfx("snake-growl.ogg", 0.7)
Res.Sfx.SnakeRoarBlast = load_sfx("snake-roar-blast.ogg", 0.8)
Res.Sfx.SnakeBeam = load_sfx("snake-beam.ogg")
Res.Sfx.SnakeSegmentExplode = load_sfx("snake-segment-explode.ogg", 0.8)
Res.Sfx.SnakeEarthHit = load_sfx("snake-earth-hit.ogg", 0.6)
Res.Music.First = load_music("alexander-nakarada-mjolnir.mp3", 0.7)
Res.Music.Second = load_music("alexander-nakarada-the-northern-path.mp3", 0.7)
}
main :: proc() {
rl.SetConfigFlags(rl.ConfigFlags{.MSAA_4X_HINT, .WINDOW_MAXIMIZED, .WINDOW_RESIZABLE})
rl.InitWindow(800, 480, "Ragnarøkkr")
rl.InitAudioDevice()
load_resources()
WSizei = {rl.GetScreenWidth(), rl.GetScreenHeight()}
WSize = {f32(WSizei.x), f32(WSizei.y)}
FontUI = rl.LoadFontEx(".\\assets\\fonts\\PTSerif-Regular.ttf", 96, nil, 2048)
FontTitle = rl.LoadFontEx(".\\assets\\fonts\\norse.otf", 96*2, nil, 2048)
game := game_init()
stack_push(game)
menu := menu_init(game)
@ -41,6 +128,8 @@ main :: proc() {
WSize = {f32(WSizei.x), f32(WSizei.y)}
}
rl.UpdateMusicStream(current_music)
state := stack_top()
delta := rl.GetFrameTime()
timers_process(delta)
@ -50,6 +139,8 @@ main :: proc() {
rl.BeginDrawing()
rl.ClearBackground(rl.SKYBLUE)
state->draw()
rl.DrawRectangleV({}, WSize, rl.Color{0, 0, 0, u8(Overlay_Opacity * 255)})
rl.EndDrawing()
}
}

View File

@ -53,6 +53,8 @@ menu_update :: proc(state: ^GameState, delta: f32) {
menu_button_pressed :: proc(state: ^GameState, el: Menu_Buttons) {
switch el {
case .START:
game := transmute(^Game)state.previous
change_track(Res.Music.First)
stack_pop()
case .HOW_TO_PLAY:
// howtoplay := howtoplay_init(state)
@ -71,8 +73,8 @@ menu_draw :: proc(state: ^GameState) {
TitleFontSize :: 96
TitleSpacing :: 3
TitleText :: "Ragnarøkkr"
TitleSize := rl.MeasureTextEx(FontTitle, TitleText, TitleFontSize, TitleSpacing)
rl.DrawTextPro(FontTitle, TitleText, {WSize.x - 50, 50}, {TitleSize.x, 0}, 0, 96, 3, rl.WHITE)
TitleSize := rl.MeasureTextEx(Res.Fonts.Title, TitleText, TitleFontSize, TitleSpacing)
rl.DrawTextPro(Res.Fonts.Title, TitleText, {WSize.x - 50, 50}, {TitleSize.x, 0}, 0, 96, 3, rl.WHITE)
menu_list_draw(&menu.list)

View File

@ -77,10 +77,10 @@ menu_list_draw :: proc(list: ^MenuList($T)) {
size := menu_list_get_size(list)
rl.DrawRectangleV(list.position - {40, 40}, size + {80, 80}, list.background)
}
rl.DrawTextEx(FontUI, ">", list.position + list.active_marker + {-30, 0}, 48, 2, rl.WHITE)
rl.DrawTextEx(Res.Fonts.UI, ">", list.position + list.active_marker + {-30, 0}, 48, 2, rl.WHITE)
for el, i in list.elements {
pos := list.position + {0, f32(i) * list.line_size}
rl.DrawTextEx(FontUI, el, pos, list.font_size, 2, rl.WHITE)
rl.DrawTextEx(Res.Fonts.UI, el, pos, list.font_size, 2, rl.WHITE)
}
}
@ -88,7 +88,7 @@ menu_list_draw :: proc(list: ^MenuList($T)) {
menu_list_get_size :: proc(list: ^MenuList($T)) -> vec2 {
size := vec2{}
for el, i in list.elements {
line_size := rl.MeasureTextEx(FontUI, el, list.font_size, 2)
line_size := rl.MeasureTextEx(Res.Fonts.UI, el, list.font_size, 2)
if line_size.x > size.x {
size.x = line_size.x
}

92
pause.odin Normal file
View File

@ -0,0 +1,92 @@
package main
import rl "vendor:raylib"
import "core:math/ease"
Pause_Buttons :: enum {
CONTINUE,
EXIT
}
pause_strings := [Pause_Buttons]cstring {
.CONTINUE = "Продолжить",
.EXIT = "Прервать игру"
}
Pause :: struct {
using state: GameState,
active: bool,
list: MenuList(Pause_Buttons),
}
pause_init :: proc(prev: ^GameState = nil) -> ^GameState {
state := new(Pause)
state.variant = state
state.list = MenuList(Pause_Buttons){
state = state,
position = {-300, WSize.y / 2},
line_size = 60,
font_size = 48,
elements = &pause_strings,
menu_pressed = pause_button_pressed,
background = rl.Color{50, 10, 110, 10}
}
state.update = pause_update
state.draw = pause_draw
state.free = pause_free
state.previous = prev
state.active = true
tween_to(&state.list.position.x, 100, 0.5, ease.Ease.Back_Out)
return state
}
pause_update :: proc(state: ^GameState, delta: f32) {
pause := transmute(^Pause)state
pause.list.position.y = WSize.y / 2
menu_list_update(&pause.list)
}
pause_button_pressed :: proc(state: ^GameState, el: Pause_Buttons) {
pause := transmute(^Pause)state
if !pause.active { return }
switch el {
case .CONTINUE:
stack_pop()
case .EXIT:
pause.active = false
rl.StopMusicStream(current_music)
tween_to(&Overlay_Opacity, 1.0, 0.5, ease.Ease.Cubic_Out, pause, proc(data: rawptr) {
stack_pop()
game := transmute(^Game)stack_top()
game_setup(game)
menu := menu_init(game)
stack_push(menu)
tween_to(&Overlay_Opacity, 0, 0.5, ease.Ease.Cubic_Out)
})
}
}
pause_draw :: proc(state: ^GameState) {
pause := transmute(^Pause)state
pause.previous.draw(pause.previous)
TitleFontSize :: 96
TitleSpacing :: 3
TitleText :: "Ragnarøkkr"
TitleSize := rl.MeasureTextEx(Res.Fonts.Title, TitleText, TitleFontSize, TitleSpacing)
rl.DrawTextPro(Res.Fonts.Title, TitleText, {WSize.x - 50, 50}, {TitleSize.x, 0}, 0, 96, 3, rl.WHITE)
menu_list_draw(&pause.list)
}
pause_free :: proc(state: ^GameState) {
free(state)
}

View File

@ -1,10 +1,19 @@
package main
import rl "vendor:raylib"
import "vendor:raylib/rlgl"
import "core:math"
import "core:strings"
import "core:math/rand"
import "core:math/ease"
import "core:fmt"
import "core:slice"
// PlayerAnims : [^]rl.ModelAnimation
// PlayerAnimsCount : i32
Player :: struct {
pos: vec3,
vel: vec3,
@ -12,29 +21,42 @@ Player :: struct {
radius: f32,
thrust: f32,
max_speed: f32,
rolling: f32,
charge: f32,
is_dodging: bool,
can_dodge: bool,
can_shoot: bool,
is_invulnerable: bool,
is_dead: bool
is_dead: bool,
intro_timer: f32,
// animation: rl.ModelAnimation,
// animTime: f32,
// animFrame: i32,
}
player_spawn :: proc(position: vec3) -> Player {
// PlayerAnims = rl.LoadModelAnimations(PlayerModelPath, &PlayerAnimsCount)
return Player{
pos = position,
radius = 1,
max_speed = 40,
dir = 0,
vel = {-40, 0, 0},
vel = {-80, 0, 0},
can_dodge = true,
can_shoot = true
can_shoot = true,
intro_timer = 2,
}
}
player_update :: proc(player: ^Player, game: ^Game, delta: f32) {
using player
pos += vel * delta
if intro_timer > 0 {
intro_timer -= delta
}
mouse_ray := rl.GetMouseRay(rl.GetMousePosition(), game.camera)
mouse_pos : vec3
@ -52,28 +74,53 @@ player_update :: proc(player: ^Player, game: ^Game, delta: f32) {
mouse_angle := math.atan2(-mouse_diff.y, mouse_diff.x)
if !is_dead {
pos += vel * delta
if !is_dodging {
dir = angle_rotate(dir, mouse_angle, math.PI * 2 * delta)
dir_vector := get_vec_from_angle(dir)
dir_vector : vec3
if intro_timer <= 0 {
dir = angle_rotate(dir, mouse_angle, math.PI * 2 * delta)
dir_vector = get_vec_from_angle(dir)
thrust = 0
if rl.IsKeyDown(rl.KeyboardKey.W) {
thrust = 0
if rl.IsKeyDown(rl.KeyboardKey.W) {
thrust = 70
}
} else {
thrust = 70
dir_vector = vec3left
dir = math.atan2(-dir_vector.y, dir_vector.x)
}
if thrust > 0 {
roll := -math.PI / 2 + math.cos(dir) * math.PI / 2
vel = rl.Vector3MoveTowards(vel, dir_vector * max_speed, thrust * delta)
offset := rl.Vector3RotateByAxisAngle(vec3backward, vec3right, roll) * 2.6
offset = rl.Vector3RotateByAxisAngle(offset, vec3backward, dir)
pl := pos + offset
pr := pos - offset
trail(pl, 1, rand.float32_range(1.7, 3.5))
trail(pr, 1, rand.float32_range(1.7, 3.5))
}
}
if thrust == 0 {
vel = rl.Vector3MoveTowards(vel, {0, -30, 0}, 20 * delta)
rl.StopSound(Res.Sfx.Rocket)
} else {
if !rl.IsSoundPlaying(Res.Sfx.Rocket) && !is_dodging {
rl.PlaySound(Res.Sfx.Rocket)
}
}
if rl.IsMouseButtonPressed(rl.MouseButton.RIGHT) && can_dodge {
if rl.IsMouseButtonPressed(rl.MouseButton.RIGHT) && can_dodge && intro_timer <= 0 {
is_dodging = true
can_dodge = false
rl.StopSound(Res.Sfx.Rocket)
rl.PlaySound(Res.Sfx.PlayerSwoosh)
tween_to(&player.rolling, math.PI*2, 0.42, ease.Ease.Quadratic_Out)
timer_start(0.45, player, proc(data: rawptr) {
player := transmute(^Player)data
player.is_dodging = false
player.rolling = 0
})
timer_start(0.55, player, proc(data: rawptr) {
player := transmute(^Player)data
@ -81,30 +128,59 @@ player_update :: proc(player: ^Player, game: ^Game, delta: f32) {
})
}
if rl.IsMouseButtonDown(rl.MouseButton.LEFT) && can_shoot {
b := bullet_spawn(pos, dir)
append(&game.bullets, b)
can_shoot = false
timer_start(0.1, player, proc(data: rawptr) {
player := transmute(^Player)data
player.can_shoot = true
})
// player.animation = PlayerAnims[1]
// player.animTime += delta
// player.animFrame = i32(player.animTime * 60) % player.animation.frameCount
// rl.UpdateModelAnimation(PlayerModel, player.animation, player.animFrame)
shooting := rl.IsMouseButtonDown(rl.MouseButton.LEFT) && !is_dodging && intro_timer <= 0
if shooting {
if !rl.IsSoundPlaying(Res.Sfx.Lightning) {
rl.PlaySound(Res.Sfx.Lightning)
}
if can_shoot {
roll := -math.PI / 2 + math.cos(dir) * math.PI / 2
b := bullet_spawn(pos + get_vec_from_angle(dir) * 3 + get_vec_from_angle(dir+math.PI/2)*.3, dir)
append(&game.bullets, b)
can_shoot = false
timer_start(0.07, player, proc(data: rawptr) {
player := transmute(^Player)data
player.can_shoot = true
})
}
} else {
rl.StopSound(Res.Sfx.Lightning)
}
}
got_hit := false
if !is_invulnerable && !is_dodging && !is_dead {
hit: if !is_invulnerable && !is_dodging && !is_dead {
if rl.CheckCollisionCircles(pos.xy, radius, Head.pos.xy, Head.radius) {
got_hit = true
break hit
}
ray := rl.Ray{
position = Head.pos,
direction = get_vec_from_angle(Head.dir)
}
if Head.is_shooting && rl.GetRayCollisionSphere(ray, pos, radius + 3).hit {
got_hit = true
break hit
}
for segment in Segments {
if rl.Vector3DistanceSqrt(pos, segment.pos) < math.pow(radius + segment.radius, 2) {
if rl.CheckCollisionCircles(pos.xy, radius, segment.pos.xy, radius) {
got_hit = true
break
}
}
}
if rl.IsKeyPressed(rl.KeyboardKey.M) {
got_hit = true
}
if got_hit {
game.health -= 10
rl.PlaySound(Res.Sfx.PlayerHit)
is_invulnerable = true
timer_start(1, player, proc(data: rawptr) {
plr := transmute(^Player)data
@ -112,23 +188,39 @@ player_update :: proc(player: ^Player, game: ^Game, delta: f32) {
})
if game.health <= 0 && !is_dead {
is_dead = true
explode(pos, 10, 0.8, rl.WHITE)
rl.StopMusicStream(current_music)
rl.PlaySound(Res.Sfx.PlayerDead)
timer_start(3, game, proc(data: rawptr) {
state := transmute(^Game)data
screen := gameover_init(state)
stack_push(screen)
})
}
}
}
player_draw :: proc(player: ^Player) {
using player
if player.is_dead { return }
dir_vector := get_vec_from_angle(dir)
color := rl.GREEN
if is_dodging {
color = rl.GRAY
}
color := rl.WHITE
if is_invulnerable {
color = rl.YELLOW
color = rl.Color{255, 170, 170, 255}
}
rl.DrawCircle3D(pos, radius, vec3up, 0, color)
roll := -math.PI / 2 + math.cos(dir) * math.PI / 2
rlgl.PushMatrix()
rlgl.Translatef(pos.x, pos.y, pos.z)
rlgl.Rotatef(math.to_degrees(dir), 0, 0, -1)
rlgl.Rotatef(math.to_degrees(roll + player.rolling), 1, 0, 0)
// rl.DrawCircle3D({}, radius, vec3up, 0, color)
// rl.DrawLine3D({}, {-4, 0, 0}, rl.GREEN)
rl.DrawModel(Res.Models.PlayerModel, {}, 6, color)
rlgl.PopMatrix()
rl.DrawLine3D(pos, pos + dir_vector * radius, rl.BLACK)
rl.DrawLine3D(pos, pos + vel, rl.RED)
}

View File

@ -1,6 +1,10 @@
package main
import rl "vendor:raylib"
import "core:fmt"
import "core:math/rand"
import "core:slice"
import "core:math"
bullets : [dynamic]Bullet
@ -16,7 +20,7 @@ bullet_spawn :: proc(pos: vec3, dir: f32) -> Bullet {
pos = pos,
vel = get_vec_from_angle(dir) * 70,
alive = true,
radius = 0.4
radius = 0.7
}
}
@ -30,23 +34,53 @@ bullet_process :: proc(bullet: ^Bullet, game: ^Game, delta: f32) {
if rl.CheckCollisionCircles(bullet.pos.xy, bullet.radius, Head.pos.xy, Head.radius) {
bullet.alive = false
if game.snake_health == 0 {
Head.health -= 1
diff := bullet.pos - Head.pos
diff_ang := math.atan2(-diff.y, diff.x)
angle := angle_cycle(Head.dir - diff_ang, -math.PI, math.PI)
if abs(angle) > math.PI / 3 {
rl.PlaySound(Res.Sfx.LightningHit)
explode(bullet.pos, 1, 0.6, rl.YELLOW)
Head.health -= 1
}
}
return
}
for &segment in Segments {
if rl.CheckCollisionCircles(bullet.pos.xy, bullet.radius, segment.pos.xy, segment.collider_radius) {
bullet.alive = false
rl.PlaySound(Res.Sfx.LightningHit)
if segment.health > 0 {
segment.health -= 1
explode(bullet.pos, 1, 0.6, rl.YELLOW)
if segment.health == 0 {
segment.collider_radius = 1.5
explode(segment.pos, 3, 0.7, rl.RED)
rl.PlaySound(Res.Sfx.SnakeSegmentExplode)
}
}
}
}
}
bullet_draw :: proc(bullet: Bullet) {
rl.DrawSphere(bullet.pos, bullet.radius, rl.WHITE)
bullet_draw :: proc(bullet: ^Bullet, game: ^Game) {
rl.DrawSphere(bullet.pos, 0.5, rl.YELLOW)
line_count := 0
bdraw := slice.clone_to_dynamic(game.bullets[:])
rand.shuffle(bdraw[:])
for &bul in bdraw {
if &bul == bullet {
continue
}
if line_count > 0 {
break
}
if rl.Vector3LengthSqr(bul.pos - bullet.pos) > 70 {
continue
}
line_count += 1
rl.DrawLine3D(bullet.pos, bul.pos, rl.YELLOW)
}
}

View File

@ -1,13 +1,17 @@
package main
import rl "vendor:raylib"
import "vendor:raylib/rlgl"
import "core:math"
import "core:fmt"
import "core:math/linalg"
import "core:math/rand"
Snake_Health := 1000
Segments: [dynamic]^SnakeSegment
Head: SnakeHead
SnakeState :: enum {
@ -48,6 +52,7 @@ SnakeSegment :: struct {
prev: ^SnakeSegment
}
snake_spawn :: proc(pos: vec3, dir: f32, length: int){
dir_vec := rl.Vector3RotateByAxisAngle(vec3right, vec3backward, dir)
@ -59,7 +64,7 @@ snake_spawn :: proc(pos: vec3, dir: f32, length: int){
vel = dir_vec * 20,
health = 100,
max_health = 100,
state_timer = 5,
state_timer = 30,
}
for i := 0; i < length; i += 1 {
@ -107,12 +112,25 @@ snake_process :: proc(game: ^Game, delta: f32) {
total_health += int(segment.health)
}
game.snake_health = total_health
if game.snake_health == 0 && Head.next != nil {
Head.next = nil
Head.state = .Hunt
Head.state_timer = 20
fmt.println("Tail is dead")
return
if game.snake_health == 0 {
if Head.next != nil {
Head.next = nil
Head.state = .Hunt
Head.state_timer = 20
change_track(Res.Music.Second)
return
}
trail(Head.pos - get_vec_from_angle(Head.dir) * Head.radius * 0.7, 3, rand.float32_range(0.7, 1.8), rl.RED)
if Head.health <= 0 && !Head.is_dead {
Head.is_dead = true
explode(Head.pos, 9, 0.9, rl.YELLOW)
rl.PlaySound(Res.Sfx.PlayerDead)
timer_start(3, game, proc(data: rawptr) {
state := transmute(^Game)data
win := winning_init(state)
stack_push(win)
})
}
}
for segment, i in Segments {
if segment.prev == nil && total_health == 0 { // Хвост падает, когда у него не осталось жизней
@ -158,6 +176,7 @@ snake_chase_smooth :: proc(game: ^Game, delta: f32) {
Head.state_timer -= delta
if Head.state_timer <= 0 {
Head.state = .Chase_to_Dive
rl.PlaySound(Res.Sfx.SnakeGrowl)
Head.next_state = .Diving
Head.state_timer = 10
}
@ -178,10 +197,12 @@ snake_chase_smooth :: proc(game: ^Game, delta: f32) {
snake_dive :: proc(game: ^Game, delta: f32) {
Head.state_timer -= delta
if Head.state_timer <= 0 {
Head.state = .Dive_to_Chase
Head.next_state = .Chasing
Head.state = .Chasing
Head.state_timer = 20
rl.PlaySound(Res.Sfx.SnakeGrowl)
}
if Head.pos.y < 0 && Segments[len(Segments)-1].pos.y < 0 && Head.vel.y < 0 {
rl.PlaySound(Res.Sfx.SnakeEarthHit)
Head.pos.x = game.player.pos.x
Head.pos.y = -5
Head.vel.x = 0
@ -202,6 +223,7 @@ snake_dive :: proc(game: ^Game, delta: f32) {
snake_dropdown :: proc(game: ^Game, delta: f32) {
Head.vel.y -= 100 * delta
Head.pos += Head.vel * delta
Head.dir = math.atan2(-Head.vel.y, Head.vel.x)
if Segments[len(Segments)-1].pos.y < 0 {
Head.state = Head.next_state
Head.state_timer = 20
@ -213,13 +235,13 @@ snake_hunt :: proc(game: ^Game, delta: f32) {
if Head.state_timer <= 0 {
Head.state_timer = 10
Head.state = .Shot
rl.PlaySound(Res.Sfx.SnakeRoarBlast)
}
diff := game.player.pos - Head.pos
target_pos := game.player.pos + rl.Vector3Normalize(diff) * 10
target_diff := target_pos - Head.pos
Head.vel = rl.Vector3MoveTowards(Head.vel, rl.Vector3Normalize(target_diff) * 50, 40 * delta)
fmt.println(Head.vel)
Head.dir = math.atan2(-Head.vel.y, Head.vel.x)
Head.pos += Head.vel * delta
}
@ -233,6 +255,9 @@ snake_shot :: proc(game: ^Game, delta: f32) {
Head.is_shooting = false
if Head.state_timer < 8 && Head.state_timer > 3 {
Head.is_shooting = true
if !rl.IsSoundPlaying(Res.Sfx.SnakeBeam) {
rl.PlaySound(Res.Sfx.SnakeBeam)
}
}
diff := game.player.pos - Head.pos
@ -247,20 +272,53 @@ snake_shot :: proc(game: ^Game, delta: f32) {
snake_draw :: proc(game: ^Game) {
dir_vector := get_vec_from_angle(Head.dir)
rl.DrawCircle3D(Head.pos, Head.radius, vec3up, 0, rl.RED)
rl.DrawLine3D(Head.pos, Head.pos + dir_vector * Head.radius, rl.BLACK)
roll := -math.PI / 2 + math.cos(Head.dir) * math.PI / 2
rlgl.PushMatrix()
rlgl.Translatef(Head.pos.x, Head.pos.y, Head.pos.z)
rlgl.Rotatef(math.to_degrees(Head.dir), 0, 0, -1)
rlgl.Rotatef(math.to_degrees(roll), 1, 0, 0)
// rl.DrawCircle3D({}, Head.radius, vec3up, 0, rl.RED)
// rl.DrawLine3D({}, {-4, 0, 0}, rl.GREEN)
rl.DrawModel(Res.Models.SnakeHeadTop, {}, 5, rl.WHITE)
rlgl.PushMatrix()
if Head.state == .Shot {
step1 := math.smoothstep(f32(10), f32(8), f32(Head.state_timer))
step2 := math.smoothstep(f32(0), f32(3), f32(Head.state_timer))
angle := step1 * step2 * math.PI / 2.5
fmt.println(Head.state_timer, step1, step2, angle)
rlgl.Rotatef(math.to_degrees(angle), 0, 0, -1)
}
rl.DrawModel(Res.Models.SnakeHeadJaw, {}, 5, rl.WHITE)
rlgl.PopMatrix()
rlgl.Translatef(0.5, -1, 0)
if Head.is_shooting {
rl.DrawCylinderEx({}, vec3right * 300, 1.4, 1.4, 6, rl.YELLOW)
}
rlgl.PopMatrix()
// rl.DrawCircle3D(Head.pos, Head.radius, vec3up, 0, rl.RED)
// rl.DrawLine3D(Head.pos, Head.pos + dir_vector * Head.radius, rl.BLACK)
if Head.is_shooting {
rl.DrawLine3D(Head.pos, Head.pos + get_vec_from_angle(Head.dir) * 300, rl.YELLOW)
}
// if game.snake_health == 0 {
// center := Head.pos + dir_vector * Head.radius * 1.5
// left := Head.pos + rl.Vector3RotateByAxisAngle(dir_vector, vec3backward, math.PI/3) * Head.radius * 1.5
// right := Head.pos + rl.Vector3RotateByAxisAngle(dir_vector, vec3backward, -math.PI/3) * Head.radius * 1.5
// rl.DrawLine3D(left, center, rl.YELLOW)
// rl.DrawLine3D(right, center, rl.YELLOW)
// }
for segment in Segments {
dir_vector := get_vec_from_angle(segment.dir)
col := rl.RED
col := rl.WHITE
if segment.health == 0 {
col = rl.GRAY
col = rl.Color{255, 150, 150, 255}
}
rl.DrawCircle3D(segment.pos, segment.radius, vec3up, 0, col)
rl.DrawLine3D(segment.pos, segment.pos + dir_vector * segment.radius, rl.BLACK)
roll := -math.PI / 2 + math.cos(segment.dir) * math.PI / 2
rlgl.PushMatrix()
rlgl.Translatef(segment.pos.x, segment.pos.y, segment.pos.z)
rlgl.Rotatef(math.to_degrees(segment.dir), 0, 0, -1)
rlgl.Rotatef(math.to_degrees(roll), 1, 0, 0)
rl.DrawModel(Res.Models.SnakeBody, {}, 4, col)
rlgl.PopMatrix()
}
}

View File

@ -3,7 +3,7 @@ package main
import "core:slice"
StateVariant :: union{^Game, ^Menu}
StateVariant :: union{^Game, ^Menu, ^Pause, ^GameOver, ^Winning}
GameState :: struct {

49
trail.odin Normal file
View File

@ -0,0 +1,49 @@
package main
import rl "vendor:raylib"
import "core:math/ease"
import "core:slice"
Trail :: struct {
pos : vec3,
lifetime: f32,
time: f32,
max_size: f32,
color: rl.Color,
}
trails_buf := [1024]Trail{}
trails : [dynamic]Trail
trail :: proc(pos: vec3, max_size, lifetime: f32, color: rl.Color = rl.WHITE) {
append(&trails, Trail{
pos = pos,
lifetime = lifetime,
max_size = max_size,
color = color
})
}
trail_init :: proc() {
trails = slice.into_dynamic(trails_buf[:])
}
trail_update :: proc(delta: f32) {
#reverse for &t, i in trails {
t.time += delta
if t.time >= t.lifetime {unordered_remove(&trails, i)}
}
}
trail_draw :: proc() {
// rl.BeginBlendMode(rl.BlendMode.ADD_COLORS)
for t in trails {
d := t.time / t.lifetime
step1 := ease.ease(ease.Ease.Back_Out, d)
step2 := ease.ease(ease.Ease.Cubic_In_Out, 1 - d)
size := step1 * step2
// alpha := ease.ease(ease.Ease.Cubic_Out, d)
rl.DrawSphereEx(t.pos, size, 5, 4, t.color)
}
// rl.EndBlendMode()
}

89
winning.odin Normal file
View File

@ -0,0 +1,89 @@
package main
import rl "vendor:raylib"
import "core:math/ease"
import "core:fmt"
Winning :: struct {
using state: GameState,
position: vec2,
size: vec2,
ready_to_go: bool,
}
winning_init :: proc(prev: ^GameState = nil) -> ^GameState {
state := new(Winning)
state.variant = state
state.position = vec2{WSize.x / 2, WSize.y + 300}
state.size = {700, 500}
state.update = winning_update
state.draw = winning_draw
state.free = winning_free
state.previous = prev
tween_to(&state.position.y, WSize.y / 2, 1, ease.Ease.Back_Out, state, winning_ready)
return state
}
winning_update :: proc(state: ^GameState, delta: f32) {
winning := transmute(^Winning)state
if winning.ready_to_go {
if rl.IsKeyPressed(rl.KeyboardKey.ESCAPE) {
winning.ready_to_go = false
rl.StopMusicStream(current_music)
tween_to(&Overlay_Opacity, 1.0, 0.5, ease.Ease.Cubic_Out, nil, proc(data: rawptr) {
stack_pop()
state := transmute(^GameState)stack_top()
fmt.println(state.variant)
game := transmute(^Game)stack_top()
game_setup(game)
menu := menu_init(game)
stack_push(menu)
tween_to(&Overlay_Opacity, 0, 0.5, ease.Ease.Cubic_Out)
})
}
}
}
winning_draw :: proc(state: ^GameState) {
winning := transmute(^Winning)state
if state.previous != nil {
state.previous->draw()
}
TitleFontSize :: 96
TitleSpacing :: 3
TitleText :: "GAME OVER"
TitleSize := rl.MeasureTextEx(Res.Fonts.Title, TitleText, TitleFontSize, TitleSpacing)
SubtitleText := [?]cstring{"Тор смог спасти Асгард от Рагнарёка", "Нажмите Escape чтобы выйти"}
SubtitleFontSize :: 48
SubtitleSpacing :: 2
SubtitleSizes := [?]vec2{{}, {}}
for c, i in SubtitleText {
SubtitleSizes = rl.MeasureTextEx(Res.Fonts.UI, c, SubtitleFontSize, SubtitleSpacing)
}
rl.DrawRectangleV(winning.position - winning.size / 2, winning.size, rl.Color{90, 30, 150, 10})
rl.DrawTextPro(Res.Fonts.Title, TitleText, winning.position - {0, 100}, TitleSize / 2, 0, TitleFontSize, TitleSpacing, rl.WHITE)
for c, i in SubtitleText {
rl.DrawTextPro(Res.Fonts.UI, c, winning.position - {0, f32(10 - i * 50)}, SubtitleSizes[i] / 2, 0, SubtitleFontSize, SubtitleSpacing, rl.WHITE)
}
}
winning_free :: proc(state: ^GameState) {
free(state)
}
winning_ready :: proc(state: rawptr) {
winning := transmute(^Winning)state
winning.ready_to_go = true
}