1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
|
{
"credit": "Made with Blockbench",
"textureSize": [32, 32],
"models": [
{
"part": "body_front",
"id": "body_front",
"invertAxis": "xy",
"translate": [0, -6, 4],
"submodels": [
{
"id": "right_fin",
"invertAxis": "xy",
"translate": [1.5, 4.5, -3],
"rotate": [90, 0, -45]
},
{
"id": "left_fin",
"invertAxis": "xy",
"translate": [-1.5, 4.5, -3],
"rotate": [90, 0, 45]
},
{
"id": "fish",
"invertAxis": "xy",
"translate": [0, 5, 1],
"submodels": [
{
"id": "fin_back_3",
"invertAxis": "xy",
"translate": [0, 5.5, 2],
"boxes": [
{"coordinates": [0, -2, 0, 0, 2, 4], "textureOffset": [0, 2]}
]
},
{
"id": "fin_back_4",
"invertAxis": "xy",
"translate": [0, 5.5, 0],
"boxes": [
{"coordinates": [0, -2, 1, 0, 2, 2], "textureOffset": [4, 2]}
]
},
{
"id": "head2",
"invertAxis": "xy",
"translate": [0, 1, -5],
"boxes": [
{"coordinates": [-1, -2, -3, 2, 4, 3], "textureOffset": [22, 0]}
]
},
{
"id": "body_back2",
"invertAxis": "xy",
"translate": [0, 1, 3],
"boxes": [
{"coordinates": [-1.5, -2.5, 0, 3, 5, 8], "textureOffset": [0, 13]}
],
"submodels": [
{
"id": "tail2",
"invertAxis": "xy",
"translate": [0, 0, 8],
"boxes": [
{"coordinates": [0, -2.5, 0, 0, 5, 6], "textureOffset": [20, 10]}
]
}
]
},
{
"id": "body_front2",
"invertAxis": "xy",
"translate": [0, 1, -5],
"boxes": [
{"coordinates": [-1.5, -2.5, 0, 3, 5, 8], "textureOffset": [0, 0]}
],
"submodels": [
{
"id": "right_fin2",
"invertAxis": "xy",
"translate": [1.5, -1.5, 1],
"rotate": [90, 0, -45],
"boxes": [
{"coordinates": [0, -1, 0, 2, 2, 0], "textureOffset": [0, 0]}
]
},
{
"id": "left_fin2",
"invertAxis": "xy",
"translate": [-1.5, -1.5, 1],
"rotate": [90, 0, 45],
"boxes": [
{"coordinates": [-2, -1, 0, 2, 2, 0], "textureOffset": [4, 0]}
]
}
]
}
]
}
],
"animations": [
{
"fish.rx": "-body_front.rx",
"fish.ry": "-body_front.ry",
"fish.rz": "-body_front.rz"
},
{
"body_front2.rx": "body_front.rx",
"body_front2.ry": "body_front.ry",
"body_front2.rz": "body_front.rz",
"body_back2.rx": "body_back.rx",
"body_back2.ry": "body_back.ry",
"body_back2.rz": "body_back.rz",
"head2.rx": "head.rx",
"head2.ry": "head.ry",
"head2.rz": "head.rz",
"tail2.rx": "tail.rx",
"tail2.ry": "tail.ry",
"tail2.rz": "tail.rz",
"fin_back_3.rx": "fin_back_1.rx * limb_speed*2",
"fin_back_3.ry": "fin_back_1.ry* limb_speed*2",
"fin_back_3.rz": "fin_back_1.rz* limb_speed*2",
"fin_back_4.rx": "fin_back_2.rx * limb_speed*2",
"fin_back_4.ry": "fin_back_2.ry* limb_speed*2",
"fin_back_4.rz": "fin_back_2.rz* limb_speed*2",
"right_fin2.rx": "right_fin.rx",
"right_fin2.ry": "right_fin.ry",
"right_fin2.rz": "right_fin.rz",
"left_fin2.rx": "left_fin.rx",
"left_fin2.ry": "left_fin.ry",
"left_fin2.rz": "left_fin.rz"
},
{
"var.counter": "if(var.counter > 0.1, 0 ,var.counter + 1 * frame_time)",
"var.old_pos_y": "if(var.counter > 0.09,pos_y,var.old_pos_y)",
"var.turn_speed": "0.03 * 1 + abs(pos_y - var.old_pos_y)/5",
"var.pitch": "clamp(if(pos_y - var.old_pos_y == 0, if(equals(var.pitch,0,0.05), 0 ,if(var.pitch < 0,var.pitch + var.turn_speed,var.pitch - var.turn_speed )),if(pos_y < var.old_pos_y,var.pitch + var.turn_speed,var.pitch - var.turn_speed ) ),-torad(80),torad(80))",
"fish.rx": "var.pitch"
}
]
},
{
"part": "body_back",
"id": "body_back",
"invertAxis": "xy",
"translate": [0, -6, -4]
},
{
"part": "head",
"id": "head",
"invertAxis": "xy",
"translate": [0, -6, 4]
},
{
"part": "fin_back_1",
"id": "fin_back_1",
"invertAxis": "xy",
"translate": [0, -10.5, -1]
},
{
"part": "fin_back_2",
"id": "fin_back_2",
"invertAxis": "xy",
"translate": [0, -10.5, -3]
},
{
"part": "tail",
"id": "tail",
"invertAxis": "xy",
"translate": [0, -6, -12]
},
{
"part": "fin_left",
"id": "fin_left",
"invertAxis": "xy",
"translate": [0, 0, 0]
},
{
"part": "fin_right",
"id": "fin_right",
"invertAxis": "xy",
"translate": [0, 0, 0]
}
]
}
|