WorldVisuals
Только client WorldVisuals недоступен в server.lua Reflex-модуля.
Как обрабатываются объекты
Заголовок раздела «Как обрабатываются объекты»CreateLineRenderer() и CreateSurfaceOverlay() создают реальные локальные render-объекты в клиентской сцене и возвращают управляющие обёртки. Setter-ы обновляют параметры уже созданного renderer-а; это не команды, которые нужно повторять каждый кадр, если значение не меняется.
Сервер о таких объектах не знает, физика и игровой мир их не учитывают. RemoveObject() удаляет только визуальный объект и не воздействует на сущность или поверхность, возле которой он был нарисован.
Где появляется результат
Заголовок раздела «Где появляется результат»LineRendererрисует линию непосредственно в трёхмерном мире по заданным мировым координатам. Это не HUD-элемент.SurfaceOverlayпроецирует цветную область на геометрию мира внутри заданного объёма. Он не создаёт плоское окно поверх экрана.- Объекты остаются в мире, пока модуль не вызовет
WorldVisuals:RemoveObject()или не будет выгружен. - API рисует объекты напрямую и не требует встроенного HUD-модуля. Он также не привязывает их к камере или сущности автоматически — для движущегося маркера обновляйте позицию самостоятельно.
Быстрый пример
Заголовок раздела «Быстрый пример»local line = WorldVisuals:CreateLineRenderer()
if line ~= nil then line:SetPositions({ Vector3.new(0, 1, 0), Vector3.new(2, 1, 2), Vector3.new(4, 1, 0), }) line:SetColor(Color.new(1, 0.1, 0.8, 1)) line:SetWidth(0.08)
Scheduler:Schedule(5, function() WorldVisuals:RemoveObject(line) end)endWorldVisuals
Заголовок раздела «WorldVisuals»Глобальный API создания мировых визуальных объектов.
CreateLineRenderer
Заголовок раздела «CreateLineRenderer»WorldVisuals:CreateLineRenderer(): LineRendererСоздаёт линию и возвращает её объект. Может вернуть nil при достижении лимита объектов модуля.
CreateSurfaceOverlay
Заголовок раздела «CreateSurfaceOverlay»WorldVisuals:CreateSurfaceOverlay(): SurfaceOverlayСоздаёт область, проецируемую на поверхности мира. Может вернуть nil при достижении лимита.
RemoveObject
Заголовок раздела «RemoveObject»WorldVisuals:RemoveObject(object)Удаляет ранее созданную линию или область. Вызов возвращает nil.
LineRenderer
Заголовок раздела «LineRenderer»Ломаная линия из мировых точек.
Свойства
Заголовок раздела «Свойства»| Свойство | Тип | Доступ | Описание |
|---|---|---|---|
PositionCount |
int | get/set |
Количество точек линии. Максимум — 2048. |
Геометрия
Заголовок раздела «Геометрия»SetPositionCount
Заголовок раздела «SetPositionCount»LineRenderer:SetPositionCount(count: int)Задаёт количество точек линии.
SetPosition
Заголовок раздела «SetPosition»LineRenderer:SetPosition(index: int, position: Vector3)Изменяет одну точку. В отличие от API-массивов, индекс здесь начинается с 0.
SetPositions
Заголовок раздела «SetPositions»LineRenderer:SetPositions(points: LuaTable)Заменяет все точки значениями последовательной Lua-таблицы. Поддерживается до 2048 точек.
Внешний вид
Заголовок раздела «Внешний вид»Все setter-методы ниже возвращают nil.
| Метод | Аргументы | Описание |
|---|---|---|
SetColor |
color: Color |
Устанавливает цвет линии. |
SetWidth |
width: number |
Задаёт постоянную толщину. |
SetDistanceWidth |
nearWidth, farWidth, nearDistance, farDistance: number |
Линейно изменяет толщину между ближней и дальней дистанциями. |
SetOccludedVisibility |
brightness, transparency: number |
Настраивает видимость перекрытых геометрией участков. Значения ограничиваются диапазоном 0..1. |
SetPatternEnabled |
enabled: bool |
Включает или отключает текстурный паттерн. |
SetPatternRepeat |
repeatCount: number |
Задаёт число повторений паттерна вдоль линии. |
SetPatternTexture |
texture: Texture |
Устанавливает Texture паттерна. |
SetProgress |
progress: number |
Задаёт пройденную часть линии для материалов с _Progress. |
SurfaceOverlay
Заголовок раздела «SurfaceOverlay»Область, которая проецируется на видимые поверхности мира.
Все методы возвращают nil.
| Метод | Аргументы | Описание |
|---|---|---|
SetPosition |
position: Vector3 |
Задаёт центр области в мире. |
SetSize |
size: Vector3 |
Задаёт размер проецируемого объёма. |
SetColor |
color: Color |
Задаёт цвет и прозрачность. |
SetFillBase |
fillBase: number |
Задаёт базовую плотность заливки. |
SetOcclusionEnabled |
enabled: bool |
Включает маску перекрытий геометрией. |
SetVisible |
visible: bool |
Показывает или скрывает область. |