Перейти к содержимому

Как создать облако Оорта в Roblox Studio! | RS

Game Tutorials

0:00 / 0:00

Как создать облако Оорта в Roblox Studio! | RS

682 просмотра · 1 день назад
Game Tutorials
2,15 тыс. подписчиков
682 просмотра · 1 день назад
Извините за недельную задержку Вот скрипт: -- Конфигурация local CENTER_POSITION = Vector3.new(0, 0, 0) -- Центр вашей солнечной системы local INNER_RADIUS = 400 -- Начало облака local OUTER_RADIUS = 1000 -- Конец облака local PART_COUNT = 50000 -- Общее количество космических объектов local PART_SIZE = Vector3.new(4, 4, 4) -- Размер каждого астероида -- Создание папки для поддержания чистоты рабочего пространства local cloudFolder = Instance.new("Folder") cloudFolder.Name = "OortCloud" cloudFolder.Parent = workspace local random = Random.new() for i = 1, PART_COUNT do -- 1. Получение случайного расстояния между внутренней и внешней границей local radius = random:NextNumber(INNER_RADIUS, OUTER_RADIUS) -- 2. Равномерное распределение точек по поверхности сферы local u = random:NextNumber(0, 1) local v = random:NextNumber(0, 1) local theta = u * 2 * math.pi local phi = math.acos(2 * v - 1) -- 3. Преобразование сферических координат в трехмерные декартовы координаты (X, Y, Z) local x = radius * math.sin(phi) * math.cos(theta) local y = radius * math.sin(phi) * math.sin(theta) local z = radius * math.cos(phi) -- 4. Создание физической части local asteroid = Instance.new("Part") asteroid.Size = PART_SIZE asteroid.Position = CENTER_POSITION + Vector3.new(x, y, z) -- Настройка внешнего вида и производительности asteroid.Material = Enum.Material.Glacier asteroid.Color = Color3.fromRGB(175, 221, 255) asteroid.Anchored = true asteroid.CanCollide = false asteroid.CastShadow = false -- Экономия производительности для тысяч деталей asteroid.Parent = cloudFolder -- Периодически приостанавливаем выполнение, чтобы предотвратить зависание Studio во время загрузки if i % 200 == 0 then task.wait() end end И это всё, вы в курсе.