add gfx.skeletons library docs
This commit is contained in:
parent
b991ca3c9a
commit
b5a2f2ae71
48
doc/en/scripting/builtins/libgfx-skeletons.md
Normal file
48
doc/en/scripting/builtins/libgfx-skeletons.md
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# gfx.skeletons library
|
||||||
|
|
||||||
|
A library for working with named skeletons, such as 'hand',
|
||||||
|
used to control the hand and the carried item displayed in first-person view.
|
||||||
|
The set of functions is similar to the skeleton component of entities.
|
||||||
|
|
||||||
|
The first argument to the function is the name of the skeleton.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Returns an object wrapper over the skeleton
|
||||||
|
local skeleton = gfx.skeletons.get(name: str)
|
||||||
|
|
||||||
|
-- Returns the index of the bone by name or nil
|
||||||
|
skeleton:index(name: str) -> int
|
||||||
|
|
||||||
|
-- Returns the name of the model assigned to the bone with the specified index
|
||||||
|
skeleton:get_model(index: int) -> str
|
||||||
|
|
||||||
|
-- Reassigns the model of the bone with the specified index
|
||||||
|
-- Resets to the original if you do not specify a name
|
||||||
|
skeleton:set_model(index: int, name: str)
|
||||||
|
|
||||||
|
-- Returns the transformation matrix of the bone with the specified index
|
||||||
|
skeleton:get_matrix(index: int) -> mat4
|
||||||
|
|
||||||
|
-- Sets the transformation matrix of the bone with the specified index
|
||||||
|
skeleton:set_matrix(index: int, matrix: mat4)
|
||||||
|
|
||||||
|
-- Returns the texture by key (dynamically assigned textures - '$name')
|
||||||
|
skeleton:get_texture(key: str) -> str
|
||||||
|
|
||||||
|
-- Assigns a texture by key
|
||||||
|
skeleton:set_texture(key: str, value: str)
|
||||||
|
|
||||||
|
-- Checks the visibility status of a bone by index
|
||||||
|
-- or the entire skeleton if index is not specified
|
||||||
|
skeleton:is_visible([optional] index: int) -> bool
|
||||||
|
|
||||||
|
-- Sets the visibility status of a bone by index
|
||||||
|
-- or the entire skeleton if index is not specified
|
||||||
|
skeleton:set_visible([optional] index: int, status: bool)
|
||||||
|
|
||||||
|
-- Returns the color of the entity
|
||||||
|
skeleton:get_color() -> vec3
|
||||||
|
|
||||||
|
-- Sets the color of the entity
|
||||||
|
skeleton:set_color(color: vec3)
|
||||||
|
```
|
||||||
49
doc/ru/scripting/builtins/libgfx-skeletons.md
Normal file
49
doc/ru/scripting/builtins/libgfx-skeletons.md
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
# Библиотека gfx.skeletons
|
||||||
|
|
||||||
|
Библиотека для работы с именованными скелетами, такими как 'hand',
|
||||||
|
использующийся для управления, отображаемыми при виде от первого лица,
|
||||||
|
рукой и переносимым предметом. Набор функций аналогичен компоненту skeleton
|
||||||
|
у сущностей.
|
||||||
|
|
||||||
|
Первым аргументом в функции передаётся имя скелета.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Возвращает объектную обёртку над скелетом
|
||||||
|
local skeleton = gfx.skeletons.get(name: str)
|
||||||
|
|
||||||
|
-- Возвращает индекс кости по имени или nil
|
||||||
|
skeleton:index(name: str) -> int
|
||||||
|
|
||||||
|
-- Возвращает имя модели, назначенной на кость с указанным индексом
|
||||||
|
skeleton:get_model(index: int) -> str
|
||||||
|
|
||||||
|
-- Переназначает модель кости с указанным индексом
|
||||||
|
-- Сбрасывает до изначальной, если не указывать имя
|
||||||
|
skeleton:set_model(index: int, name: str)
|
||||||
|
|
||||||
|
-- Возвращает матрицу трансформации кости с указанным индексом
|
||||||
|
skeleton:get_matrix(index: int) -> mat4
|
||||||
|
|
||||||
|
-- Устанавливает матрицу трансформации кости с указанным индексом
|
||||||
|
skeleton:set_matrix(index: int, matrix: mat4)
|
||||||
|
|
||||||
|
-- Возвращает текстуру по ключу (динамически назначаемые текстуры - '$имя')
|
||||||
|
skeleton:get_texture(key: str) -> str
|
||||||
|
|
||||||
|
-- Назначает текстуру по ключу
|
||||||
|
skeleton:set_texture(key: str, value: str)
|
||||||
|
|
||||||
|
-- Проверяет статус видимости кости по индесу
|
||||||
|
-- или всего скелета, если индекс не указан
|
||||||
|
skeleton:is_visible([опционально] index: int) -> bool
|
||||||
|
|
||||||
|
-- Устанавливает статус видимости кости по индексу
|
||||||
|
-- или всего скелета, если индекс не указан
|
||||||
|
skeleton:set_visible([опционально] index: int, status: bool)
|
||||||
|
|
||||||
|
-- Возвращает цвет сущности
|
||||||
|
skeleton:get_color() -> vec3
|
||||||
|
|
||||||
|
-- Устанавливает цвет сущности
|
||||||
|
skeleton:set_color(color: vec3)
|
||||||
|
```
|
||||||
@ -83,8 +83,6 @@ function on_hud_open()
|
|||||||
configure_SSAO()
|
configure_SSAO()
|
||||||
end
|
end
|
||||||
|
|
||||||
local prev_rotation = mat4.idt()
|
|
||||||
|
|
||||||
function update_hand()
|
function update_hand()
|
||||||
local skeleton = gfx.skeletons
|
local skeleton = gfx.skeletons
|
||||||
local pid = hud.get_player()
|
local pid = hud.get_player()
|
||||||
|
|||||||
@ -12,7 +12,27 @@ local Text3D = {__index={
|
|||||||
update_settings=function(self, t) return gfx.text3d.update_settings(self.id, t) end,
|
update_settings=function(self, t) return gfx.text3d.update_settings(self.id, t) end,
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
local Skeleton = {__index={
|
||||||
|
index=function(self, s) return gfx.skeletons.index(self.name, s) end,
|
||||||
|
get_model=function(self, i) return gfx.skeletons.get_model(self.name, i) end,
|
||||||
|
set_model=function(self, i, s) return gfx.skeletons.set_model(self.name, i, s) end,
|
||||||
|
get_matrix=function(self, i) return gfx.skeletons.get_matrix(self.name, i) end,
|
||||||
|
set_matrix=function(self, i, m) return gfx.skeletons.set_matrix(self.name, i, m) end,
|
||||||
|
get_texture=function(self, i) return gfx.skeletons.get_texture(self.name, i) end,
|
||||||
|
set_texture=function(self, i, s) return gfx.skeletons.set_texture(self.name, i, s) end,
|
||||||
|
is_visible=function(self, i) return gfx.skeletons.is_visible(self.name, i) end,
|
||||||
|
set_visible=function(self, i, b) return gfx.skeletons.set_visible(self.name, i, b) end,
|
||||||
|
get_color=function(self, i) return gfx.skeletons.get_color(self.name, i) end,
|
||||||
|
set_color=function(self, i, c) return gfx.skeletons.set_color(self.name, i, c) end,
|
||||||
|
}}
|
||||||
|
|
||||||
gfx.text3d.new = function(pos, text, preset, extension)
|
gfx.text3d.new = function(pos, text, preset, extension)
|
||||||
local id = gfx.text3d.show(pos, text, preset, extension)
|
local id = gfx.text3d.show(pos, text, preset, extension)
|
||||||
return setmetatable({id=id}, Text3D)
|
return setmetatable({id=id}, Text3D)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
gfx.skeletons.get = function(name)
|
||||||
|
if gfx.skeletons.exists(name) then
|
||||||
|
return setmetatable({name=name}, Skeleton)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|||||||
@ -150,6 +150,10 @@ static int l_set_interpolated(lua::State* L) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int l_exists(lua::State* L) {
|
||||||
|
return lua::pushboolean(L, get_skeleton(L));
|
||||||
|
}
|
||||||
|
|
||||||
const luaL_Reg skeletonlib[] = {
|
const luaL_Reg skeletonlib[] = {
|
||||||
{"get_model", lua::wrap<l_get_model>},
|
{"get_model", lua::wrap<l_get_model>},
|
||||||
{"set_model", lua::wrap<l_set_model>},
|
{"set_model", lua::wrap<l_set_model>},
|
||||||
@ -164,5 +168,6 @@ const luaL_Reg skeletonlib[] = {
|
|||||||
{"set_color", lua::wrap<l_set_color>},
|
{"set_color", lua::wrap<l_set_color>},
|
||||||
{"is_interpolated", lua::wrap<l_is_interpolated>},
|
{"is_interpolated", lua::wrap<l_is_interpolated>},
|
||||||
{"set_interpolated", lua::wrap<l_set_interpolated>},
|
{"set_interpolated", lua::wrap<l_set_interpolated>},
|
||||||
|
{"exists", lua::wrap<l_exists>},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user