commit
5039bdfc63
86
doc/en/3d-text.md
Normal file
86
doc/en/3d-text.md
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
# 3D Text
|
||||||
|
|
||||||
|
2D text displayed in 3D space.
|
||||||
|
|
||||||
|
The appearance of 3D text, is configured via a table, like [particles](particles.md). All fields are optional.
|
||||||
|
|
||||||
|
| Field | Description | Default |
|
||||||
|
| -------------- | ---------------------------- | ---------------- |
|
||||||
|
| display | Display format | static_billboard |
|
||||||
|
| color | Text color | {1, 1, 1, 1} |
|
||||||
|
| scale | Text scale | 1 |
|
||||||
|
| renderDistance | Text rendering distance | 32 |
|
||||||
|
| xray_opacity | Visibility through obstacles | 0 |
|
||||||
|
| perspective | Perspective coefficient | 1 |
|
||||||
|
|
||||||
|
Available display formats:
|
||||||
|
|
||||||
|
| Format | Description |
|
||||||
|
| ----------------- | ----------------------------------------------------------------- |
|
||||||
|
| static_billboard | Simple 3D text in the world with manual size and rotation control |
|
||||||
|
| y_free_billboard | Freely rotating text on the Y axis facing the camera |
|
||||||
|
| xy_free_billboard | Freely rotating text facing the camera |
|
||||||
|
| projected | Projected text (displayed in screen coordinates) |
|
||||||
|
|
||||||
|
## *gfx.text3d* library
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.show(
|
||||||
|
-- text position
|
||||||
|
position: vec3,
|
||||||
|
-- text to display
|
||||||
|
text: str,
|
||||||
|
-- text display settings table
|
||||||
|
preset: table,
|
||||||
|
-- additional text display settings table
|
||||||
|
[optional] extension: table
|
||||||
|
) -> int
|
||||||
|
```
|
||||||
|
|
||||||
|
Creates 3D text, returning its id.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.hide(id: int)
|
||||||
|
```
|
||||||
|
|
||||||
|
Removes 3D text.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.get_text(id: int) -> str
|
||||||
|
gfx.text3d.set_text(id: int, text: str)
|
||||||
|
```
|
||||||
|
|
||||||
|
Text getter and setter.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.get_pos(id: int) -> vec3
|
||||||
|
gfx.text3d.set_pos(id: int, pos: vec3)
|
||||||
|
```
|
||||||
|
|
||||||
|
Text position getter and setter.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.get_axis_x(id: int) -> vec3
|
||||||
|
gfx.text3d.set_axis_x(id: int, pos: vec3)
|
||||||
|
```
|
||||||
|
|
||||||
|
Getter and setter of vector X.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.get_axis_y(id: int) -> vec3
|
||||||
|
gfx.text3d.set_axis_y(id: int, pos: vec3)
|
||||||
|
```
|
||||||
|
|
||||||
|
Getter and setter of vector Y.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.set_rotation(id: int, rotation: mat4)
|
||||||
|
```
|
||||||
|
|
||||||
|
Sets the text rotation (Sets the rotated vectors X,Y).
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.update_settings(id: int, preset: table)
|
||||||
|
```
|
||||||
|
|
||||||
|
Updates text display settings.
|
||||||
@ -9,10 +9,14 @@ Subsections:
|
|||||||
- [UI properties and methods](scripting/ui.md)
|
- [UI properties and methods](scripting/ui.md)
|
||||||
- [Entities and components](scripting/ecs.md)
|
- [Entities and components](scripting/ecs.md)
|
||||||
- [Libraries](#)
|
- [Libraries](#)
|
||||||
|
- [base64](scripting/builtins/libbase64.md)
|
||||||
|
- [bjson, json, toml](scripting/filesystem.md)
|
||||||
- [block](scripting/builtins/libblock.md)
|
- [block](scripting/builtins/libblock.md)
|
||||||
- [cameras](scripting/builtins/libcameras.md)
|
- [cameras](scripting/builtins/libcameras.md)
|
||||||
- [entities](scripting/builtins/libentities.md)
|
- [entities](scripting/builtins/libentities.md)
|
||||||
- [file](scripting/builtins/libfile.md)
|
- [file](scripting/builtins/libfile.md)
|
||||||
|
- [gfx.particles](particles.md#gfxparticles-library)
|
||||||
|
- [gfx.text3d](3d-text.md#gfxtext3d-library)
|
||||||
- [gui](scripting/builtins/libgui.md)
|
- [gui](scripting/builtins/libgui.md)
|
||||||
- [hud](scripting/builtins/libhud.md)
|
- [hud](scripting/builtins/libhud.md)
|
||||||
- [inventory](scripting/builtins/libinventory.md)
|
- [inventory](scripting/builtins/libinventory.md)
|
||||||
|
|||||||
11
doc/en/scripting/builtins/libbase64.md
Normal file
11
doc/en/scripting/builtins/libbase64.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# *base64* library
|
||||||
|
|
||||||
|
Library for base64 encoding/decoding.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Encode bytes to base64 string
|
||||||
|
base64.encode(bytes: table|ByteArray) -> str
|
||||||
|
|
||||||
|
-- Decode base64 string to ByteArray or lua table if second argument is set to true
|
||||||
|
base64.decode(base64string: str, [optional]usetable: bool=false) -> table|ByteArray
|
||||||
|
```
|
||||||
86
doc/ru/3d-text.md
Normal file
86
doc/ru/3d-text.md
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
# 3D Текст
|
||||||
|
|
||||||
|
2D текст отображаемый в 3D пространстве.
|
||||||
|
|
||||||
|
Вид 3D текста, как и [частицы](particles.md), настраивается через таблицу, все поля которой опциональны.
|
||||||
|
|
||||||
|
| Поле | Описание | По-умолчанию |
|
||||||
|
| --------------- | ------------------------------------------------------- | ----------------- |
|
||||||
|
| display | Формат отображения | static_billboard |
|
||||||
|
| color | Цвет текста | {1, 1, 1, 1} |
|
||||||
|
| scale | Масштаб | 1 |
|
||||||
|
| renderDistance | Дистанция отрисовки текста | 32 |
|
||||||
|
| xray_opacity | Коэффициент видимости через препятствия (просвечивание) | 0 |
|
||||||
|
| perspective | Коэффициент перспективы | 1 |
|
||||||
|
|
||||||
|
Доступные форматы отображения:
|
||||||
|
|
||||||
|
| Формат | Описание |
|
||||||
|
| ----------------- | ----------------------------------------------------------------- |
|
||||||
|
| static_billboard | Простой 3D текст в мире с ручным управлением размером и вращением |
|
||||||
|
| y_free_billboard | Свободно вращающийся по оси Y текст, направляющийся на камеру |
|
||||||
|
| xy_free_billboard | Свободно вращающийся текст, направляющийся на камеру |
|
||||||
|
| projected | Проецируемый текст (отображается в экранной системе координат) |
|
||||||
|
|
||||||
|
## Библиотека *gfx.text3d*
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.show(
|
||||||
|
-- позиция текста
|
||||||
|
position: vec3,
|
||||||
|
-- отображаемый текст
|
||||||
|
text: str,
|
||||||
|
-- таблица настроек отображение текста
|
||||||
|
preset: table,
|
||||||
|
-- дополнительная таблица настроек отображения текста
|
||||||
|
[опционально] extension: table
|
||||||
|
) -> int
|
||||||
|
```
|
||||||
|
|
||||||
|
Создаёт 3D текст, возвращая его id.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.hide(id: int)
|
||||||
|
```
|
||||||
|
|
||||||
|
Удаляет 3D текст.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.get_text(id: int) -> str
|
||||||
|
gfx.text3d.set_text(id: int, text: str)
|
||||||
|
```
|
||||||
|
|
||||||
|
Геттер и сеттер текста.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.get_pos(id: int) -> vec3
|
||||||
|
gfx.text3d.set_pos(id: int, pos: vec3)
|
||||||
|
```
|
||||||
|
|
||||||
|
Геттер и сеттер позиции текста.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.get_axis_x(id: int) -> vec3
|
||||||
|
gfx.text3d.set_axis_x(id: int, pos: vec3)
|
||||||
|
```
|
||||||
|
|
||||||
|
Геттер и сеттер вектора X.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.get_axis_y(id: int) -> vec3
|
||||||
|
gfx.text3d.set_axis_y(id: int, pos: vec3)
|
||||||
|
```
|
||||||
|
|
||||||
|
Геттер и сеттер вектора Y.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.set_rotation(id: int, rotation: mat4)
|
||||||
|
```
|
||||||
|
|
||||||
|
Устанавливает вращение текста (Устанавливает повернутые вектора X,Y).
|
||||||
|
|
||||||
|
```lua
|
||||||
|
gfx.text3d.update_settings(id: int, preset: table)
|
||||||
|
```
|
||||||
|
|
||||||
|
Обновляет настройки отображения текста.
|
||||||
@ -9,10 +9,14 @@
|
|||||||
- [Свойства и методы UI элементов](scripting/ui.md)
|
- [Свойства и методы UI элементов](scripting/ui.md)
|
||||||
- [Сущности и компоненты](scripting/ecs.md)
|
- [Сущности и компоненты](scripting/ecs.md)
|
||||||
- [Библиотеки](#)
|
- [Библиотеки](#)
|
||||||
|
- [base64](scripting/builtins/libbase64.md)
|
||||||
|
- [bjson, json, toml](scripting/filesystem.md)
|
||||||
- [block](scripting/builtins/libblock.md)
|
- [block](scripting/builtins/libblock.md)
|
||||||
- [cameras](scripting/builtins/libcameras.md)
|
- [cameras](scripting/builtins/libcameras.md)
|
||||||
- [entities](scripting/builtins/libentities.md)
|
- [entities](scripting/builtins/libentities.md)
|
||||||
- [file](scripting/builtins/libfile.md)
|
- [file](scripting/builtins/libfile.md)
|
||||||
|
- [gfx.particles](particles.md#библиотека-gfxparticles)
|
||||||
|
- [gfx.text3d](3d-text.md#библиотека-gfxtext3d)
|
||||||
- [gui](scripting/builtins/libgui.md)
|
- [gui](scripting/builtins/libgui.md)
|
||||||
- [hud](scripting/builtins/libhud.md)
|
- [hud](scripting/builtins/libhud.md)
|
||||||
- [inventory](scripting/builtins/libinventory.md)
|
- [inventory](scripting/builtins/libinventory.md)
|
||||||
|
|||||||
11
doc/ru/scripting/builtins/libbase64.md
Normal file
11
doc/ru/scripting/builtins/libbase64.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Библиотека *base64*
|
||||||
|
|
||||||
|
Библиотека для base64 кодирования/декодирования.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Кодирует массив байт в base64 строку
|
||||||
|
base64.encode(bytes: table|ByteArray) -> str
|
||||||
|
|
||||||
|
-- Декодирует base64 строку в ByteArray или таблицу чисел, если второй аргумент установлен на true
|
||||||
|
base64.decode(base64string: str, [опционально]usetable: bool=false) -> table|ByteArray
|
||||||
|
```
|
||||||
@ -1,3 +1,4 @@
|
|||||||
display = "projected"
|
display = "projected"
|
||||||
xray_opacity = 0.3
|
xray_opacity = 0.3
|
||||||
render_distance = 128
|
render_distance = 128
|
||||||
|
perspective = 0.0
|
||||||
|
|||||||
@ -20,9 +20,9 @@ struct NotePreset : public Serializable {
|
|||||||
NoteDisplayMode displayMode = NoteDisplayMode::STATIC_BILLBOARD;
|
NoteDisplayMode displayMode = NoteDisplayMode::STATIC_BILLBOARD;
|
||||||
glm::vec4 color {1.0f};
|
glm::vec4 color {1.0f};
|
||||||
float scale = 1.0f;
|
float scale = 1.0f;
|
||||||
float renderDistance = 10.0f;
|
float renderDistance = 32.0f;
|
||||||
float xrayOpacity = 0.0f;
|
float xrayOpacity = 0.0f;
|
||||||
float perspective = 0.0f;
|
float perspective = 1.0f;
|
||||||
|
|
||||||
dv::value serialize() const override;
|
dv::value serialize() const override;
|
||||||
void deserialize(const dv::value& src) override;
|
void deserialize(const dv::value& src) override;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user