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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
| <html>
<head>
<title>Виды анимации в 3D.</title>
</head>
<body>
<div id="content1">
<h2 align="center">
по ключевым кадрам
</h2>
</br>
</br>
<div class="text1">
<p align="justify">
Этот способ анимации идеально подходит для: анимации трансформаций объекта, анимации камер, анимации технических процессов и даже для анимации персонажей.
</p>
</div>
</br>
</br>
</br>
<div class="text2">
<p align="justify">
В нужный момент времени, например в 1-м кадре анимации, вы задаете свойства вашего объекта (размер, положение, углы вращения) и устанавливаете этот кадр, как ключевой. Программа записывает всю информацию о свойствах объекта в этом кадре.
</p>
</div>
</br>
</br>
</br>
<div class="text1">
<p align="justify">
Дальше вы выбираете другой кадр вашей анимации, например 10-й, и в нем снова задаете новые свойства вашего объекта. После, опять делаете этот кадр ключевым.
</p>
</div>
</br>
</br>
</br>
<div class="text2">
<p align="justify">
Теперь программа сама просчитает как должен себя вести объект при переходе с 1-го кадра анимации до 10-го. Этот процесс носит название интерполяции анимации.
</p>
</div>
</div>
<div id="content1">
<h2 align="center">
траектории
</h2>
</br>
</br>
<div class="text1">
<p align="justify">
Анимация по траектории требует, помимо объекта, который будет анимироваться, также задать его траекторию (путь движения).
</p>
</div>
</br>
</br>
</br>
<div class="text2">
<p align="justify">
Анимация по траектории очень часто идеально подходит для анимации движущихся технических объектов, анимации камер и анимации технических процессов.
</p>
</div>
</br>
</br>
</br>
<div class="text1">
<p align="justify">
Выделив объект, который вы хотели бы заставить двигаться вдоль пути, вам нужно назначить ему путь для анимации (траекторию). После этого трехмерный объект переносится на линию пути и связывается с ней.
</p>
</div>
</br>
</br>
</br>
<div class="text2">
<p align="justify">
Программа сама создаст для вас два ключевых кадра, один из которых будет хранить положение объекта в начале пути, а второй положение объекта в конце пути. Остальные кадры программа интерполирует для вас. В результате, ваш объект начнет двигаться по указанной траектории при проигрывании анимации.
</p>
</div>
</div>
<div id="content1">
</br>
<h2 align="center">
динамические симуляции
</h2>
</br>
</br>
<div class="text1">
<p align="justify">
Данный способ создания анимации связан больше с профессией специалиста по динамике, нежели с профессией аниматора.
</p>
</div>
</br>
</br>
</br>
<div class="text2">
<p align="justify">
Анимация здесь является способом сохранения результата динамической симуляции. Под страшной фразой «динамическая симуляция» подразумевается процесс просчета поведения объекта в условиях физически реальной окружающей среды.
</p>
</div>
</br>
</br>
</br>
<div class="text1">
<p align="justify">
Например, все мы знаем, что если стеклянный бокал упадет на пол, то скорее всего он разобьется на множество осколков. Это для нас привычно и все мы это понимаем. Но трехмерная среда не знает какой объект должен обладать теми или иными свойствами.
</p>
</div>
</br>
</br>
</br>
<div class="text2">
<p align="justify">
Для того, чтобы каждый объект вел себя так, как это происходит в нашем мире используются динамические симуляции. Такие симуляции выполняются пакетами трехмерной графики и после того, как симуляция будет окончена, создают анимационные ключи, в которых хранится информация о поведении каждого куска нашего разбитого бокала.
</p>
</div>
</br>
</br>
</br>
<div class="text1">
<p align="justify">
Динамические симуляции очень часто используются для просчета поведения жидкостей, тканей, твердых и мягких объектов. Благодаря динамическим симуляциям и созданной после них анимации мы можем с вами наслаждаться просмотром апокалиптических блокбастеров в кинотеатрах.
</p>
</div>
</div>
</br>
<div id="content1">
<h2 align="center" >
скелетная анимация
</h2>
</br>
<div class="text2">
<p align="justify">
Скелетная анимация — это анимирование 3D-фигуры посредством относительно небольшого количества управляющих элементов, и внешне и по принципу работы, напоминающие скелет — или строение марионетки.
</p>
</div>
</br>
</br>
<div class="text1">
<p align="justify">
Первым делом создается виртуальный скелет. Как нетрудно заметить, скелет вовсе не обязан быть анатомически верным. Это лишь набор точек, которые, двигаясь, будут «гнуть» персонажа.
</p>
</div>
</br>
</br>
<div class="text2">
<p align="justify">
Дальше модель и скелет связываются друг с другом: для каждой вершины на модели указывается, с какой степенью на нее влияет та или иная кость. Теперь при движении скелета геометрия модели деформируется вместе с ним.
</p>
</div>
</br>
</br>
<div class="text1">
<p align="justify">
Если иерархия костей сделана как надо, то и поведение цепочки, равно как и привязанных к ней вершин, будет «жизнеподобным». Ошибки же могут привести к совершенно нелепым последствиям: ноги могут «уехать» за голову, например.
</p>
</div>
</br>
</br>
<div class="text2">
<p align="justify">
Существуют два основных типа планирования движения «скелета» — это прямая кинематика (Forward Kinematics - FK) и инверсная, или обратная кинематика (Inverse Kinematics — IK)
</p>
</div>
</br>
</br>
<div class="text1">
<p align="justify">
Видим четыре кости, где первая - «родительская», все последующие — находятся в последовательной иерархической зависимости от предыдущих.
</p>
</div>
</br>
</br>
<div class="text2">
<p align="justify">
В случае если мы используем прямую кинематику, то при попытке сдвинуть какие-либо звенья (кости) ниже уровнем, чем родительская, приведут к тому, что двигаться будут только нижестоящие:
</p>
</div>
</br>
</br>
<div class="text1">
<p align="justify">
При использовании обратной кинематики алгоритм получается ровно противоположный:Сдвигаем самую младшую в иерархии кость и вся цепочка послушно изогнулась.
</p>
</div>
</br>
</br>
<div class="text2">
<p align="justify">
Инверсная кинематика применяется главным образом там, где требуется точное расположение конечного звена в нужной точке (например, чтобы при ходьбе ноги персонажа не «проскальзывали» по поверхности или не утопали в полигонах, изображающих твердь земную).
</p>
</div>
</br>
</br>
<div class="text1">
<p align="justify">
После того, как персонаж научился двигаться, можно задать ключевые кадры для отдельных частей, на которых и будет основываться все остальное. Сегодня есть специальные программные средства, позволяющие автоматизировать этот процесс как для отдельных костей, так и для их групп.
</p>
</div>
</br>
</div>
</br>
<div id="content1">
<h2 align="center">
захват движения
</h2>
</br>
<div class="text2">
<p align="justify">
Довольно сложная и дорогая система.
</p>
</div>
</br>
</br>
<div class="text1">
<p align="justify">
Для работы нужно закрытое помещение, в котором по периметру (включая потолок) устанавливают облако камер-излучателей. Чем больше камер, тем точнее будут данные на выходе, потому что маркеры могут перекрывать части тела человека или другие актеры в сцене.
</p>
</div>
</br>
</br>
<div class="text2">
<p align="justify">
Актер надевает серый костюм (цвет на самом деле не имеет значения, просто одежда не должна отражать инфракрасные лучи) со специальными отражающими маркерами. Они цепляются к значимым для считывания движения точкам на теле: локти, колени, плечи, лоб, с обратной стороны запястья, бедра и т. д.
</p>
</div>
</br>
</br>
<div class="text1">
<p align="justify">
Перед началом работы облако камер калибруют так, чтобы они «узнавали» каждый маркер. То есть все камеры будут считывать определенный маркер как один объект. Внутри компьютера выстраивается виртуальное пространство, идентичное реальному, отмечается расположение каждой камеры. Таким образом поступающая с камер информация будет показывать перемещение маркера в трехмерном виртуальном пространстве. Камеры одновременно испускают инфракрасные лучи и получают блик с маркеров.
</p>
</div>
</br>
</br>
<div class="text2">
<p align="justify">
После обработки данных и чистки погрешностей (чаще всего — с помощью специальных программ, но иногда и вручную операторами) эти данные становятся «движителями» виртуальных объектов. Так виртуальные точки-маркеры «приклеивают» к компьютерному персонажу на те же места. И далее все движения маркеров теперь переносятся на движения виртуальных объектов.
</p>
</div>
</br>
</br>
<div class="text1">
<p align="justify">
Так можно получить максимально реалистичные движения например вашего виртуального персонажа.
</p>
</div>
</br>
</br>
</br>
</br>
</div>
</body>
<script>
$(window).scroll(function() {
if ($(this).scrollTop() > 1){
$('#header1').addClass("glide");
}
else{
$('#header1').removeClass("glide");
}
});
</script>
</html> |