Когда вы создаёте игру в Роблокс Студио, часто нужно обратиться сразу ко всем объектам внутри модели — например, чтобы изменить их цвет, добавить эффект или удалить ненужные части.
Для этого в языке Lua есть удобный метод:
:GetChildren()
Разберём, что он делает и как его использовать на практике 👇
🔹 Что делает GetChildren()
Метод GetChildren() возвращает список (таблицу) всех объектов, находящихся внутри выбранного объекта.
Например:
local model = workspace.MyModel
local parts = model:GetChildren()Теперь переменная parts содержит таблицу со всеми элементами, которые находятся внутри MyModel: блоки, эффекты, скрипты, свет и т. д.
💡 Даже если внутри есть вложенные модели, GetChildren() вернёт только первый уровень объектов — не глубже.
🔹 Как обойти все объекты
Обычно GetChildren() используют вместе с циклом for.
Пример: сделать все детали модели красными 👇
local model = workspace.MyModel
for _, part in pairs(model:GetChildren()) do
if part:IsA("BasePart") then
part.BrickColor = BrickColor.new("Bright red")
end
end🧠 Объяснение:
- for _, part in pairs(...) — цикл, который проходит по всем объектам из списка.
- IsA("BasePart") проверяет, является ли объект деталью.
- Если да, меняем цвет.
🔹 Другие примеры
💡 Выключить все огни
for _, light in pairs(workspace.Room:GetChildren()) do
if light:IsA("PointLight") then
light.Enabled = false
end
end💥 Удалить все эффекты внутри модели
for _, child in pairs(workspace.ExplosionZone:GetChildren()) do
if child:IsA("ParticleEmitter") or child:IsA("Smoke") then
child:Destroy()
end
end🎵 Найти и включить все звуки
for _, sound in pairs(script.Parent:GetChildren()) do
if sound:IsA("Sound") then
sound:Play()
end
end🔹 Важно знать
- GetChildren() возвращает только прямых потомков объекта.
- Если нужно найти всё, включая вложенные элементы, используй:
object:GetDescendants()
- Порядок элементов в таблице, которую возвращает GetChildren(), не гарантируется.
- Если важен порядок, лучше сортировать вручную.
💬 Практическое задание
Создай модель, добавь в неё несколько деталей разных цветов.
Напиши скрипт, который:
- Меняет их цвет на зелёный,
- Включает все огни (PointLight),
- И воспроизводит звук при старте.
📦 Полезные ссылки
🚀 Хочешь научиться писать такие скрипты сам?
🎮 Присоединяйся к обучению Роблокс Студио на сайте
👉 roblo.ru
Там ты научишься создавать игры, GUI, диалоги и эффекты — шаг за шагом!
