mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 10:31:50 +00:00
add initial animation docs (test)
This commit is contained in:
parent
3a188cd151
commit
bd9f3d86ca
5 changed files with 59 additions and 0 deletions
34
doc/ru/animation.md
Normal file
34
doc/ru/animation.md
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# Анимация
|
||||
|
||||
Для того, чтобы загрузить дорожку анимации для скелета сущности ([см. риггинг](rigging.md)) или камеры ([см. камеры](scripting/builtins/libcameras.md)) её, как любой, незагружаемый по-умолчанию, следует указать в [preload.json пака](assets-preload.md) в секции animation.
|
||||
|
||||
На данный момент, движком поддерживается один формат описания анимации - [VCA](vca.md).
|
||||
|
||||
Общий API для работы с анимацией, как и другими продолжительными событиями, существует библиотека animation, доступная в виде глобальной переменной.
|
||||
|
||||
Самый простой способ анимировать что-то:
|
||||
|
||||
```lua
|
||||
animation.play("имя_анимации", цель)
|
||||
```
|
||||
|
||||
Где цель может быть камерой:
|
||||
|
||||
```lua
|
||||
local camera = cameras.get(cameras.index("пак:имя_камеры"))
|
||||
animation.play("имя_анимации", camera)
|
||||
```
|
||||
|
||||
Или скелет сущности:
|
||||
|
||||
```lua
|
||||
animation.play("имя_анимации", entity.skeleton)
|
||||
```
|
||||
|
||||
Но для скелетов, подразумевающих переключение между состояниями (те же мобы), лучше использовать [компонент](scripting/ecs.md), реализующий простую машину состояний для анимации - [core:animator](#компонент-coreanimator)
|
||||
|
||||
Более подробно функциональность библиотеки animation описана [в соответствующем разделе](scripting/builtins/libanimation.md)
|
||||
|
||||
## Компонент core:animator
|
||||
|
||||
Компонент находится в работе. Зайдите позже.
|
||||
|
|
@ -6,6 +6,7 @@
|
|||
## Разделы
|
||||
|
||||
- [XML разметка интерфейса](xml-ui-layouts.md)
|
||||
- [Анимация](animation.md)
|
||||
- [Аудио](audio.md)
|
||||
- [Движок генерации мира](world-generator.md)
|
||||
- [Консоль](console.md)
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
- [Свойства и методы UI элементов](scripting/ui.md)
|
||||
- [Сущности и компоненты](scripting/ecs.md)
|
||||
- [Библиотеки](#)
|
||||
- [animation](scripting/builtins/libanimation.md)
|
||||
- [app](scripting/builtins/libapp.md)
|
||||
- [assets](scripting/builtins/libassets.md)
|
||||
- [base64](scripting/builtins/libbase64.md)
|
||||
|
|
|
|||
21
doc/ru/scripting/builtins/libanimation.md
Normal file
21
doc/ru/scripting/builtins/libanimation.md
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# Библиотека *animation*
|
||||
|
||||
Библиотека для работы с анимацией и решения некоторых сопутствующих задач.
|
||||
|
||||
```lua
|
||||
-- Воспроизводит анимацию на указанном объекте
|
||||
animation.play(
|
||||
-- Имя дорожки анимации
|
||||
name: string,
|
||||
-- Цель, что будет анимирована
|
||||
target: Skeleton | Camera
|
||||
)
|
||||
```
|
||||
|
||||
```lua
|
||||
-- Запускает корутину, обновляющуюся вне паузы и завершающуюся вместе с выходом из мира.
|
||||
animation.action(
|
||||
-- Целевая асинхронная функция
|
||||
func: function()
|
||||
)
|
||||
```
|
||||
|
|
@ -36,6 +36,8 @@ VCA файл состоит из набора директив, порядок
|
|||
- `duration` - явно указанная длительность в секундах (требуется указание fps при наличии ключевых кадров)
|
||||
- `rotation-order` - указывает порядок применения углов Эйлера при вращении (так как порядок директив не учитывается форматом). Примеры: XYZ, ZYX, YZX.
|
||||
|
||||
Мета-информация применяется глобально. Поведение не зависит от её положения в файле, но рекомендуется располагать её в начале.
|
||||
|
||||
## Кривые с ключевыми кадрами
|
||||
|
||||
Требуется через атрибут `curve` указать тип кривой:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue