Code Every Day 🚀
30 subscribers
687 photos
243 videos
22 files
174 links
Просто для развлечения
Download Telegram
👉 Код и объекты игрового мира представлены на скриншотах для наглядности
Media is too big
VIEW IN TELEGRAM
Roblox: Делаем облако

🎯 Сегодня разбирался, как можно сделать облако.

👉 В игровой мир добавляем block , делаем его не видимым Transparency = 1 , фиксируем блок Anchored = false и делаем невозможность с ним взаимодействовать canColide = false.
👉 Для этого блока добавляем объект Smoke, можно поменять его параметры, размер, скорость и прочие, чтобы облако дыма было похоже на обычное облако.
👉 Добавляем Script , в котором пропишем логику перемещения облака в случайных направлениях по осям X,Z , Y не будем менять, чтобы облако не улетало вверх.


👉 Пример на демо
#Roblox
CodeEveryDay-Cloud-Fly-Script.lua
745 B
👉 Код в виде файла для удобства
👉 Код в виде скриншотов для наглядности
Media is too big
VIEW IN TELEGRAM
Roblox: Делаем шлагбаум

🎯 Сегодня разбирался, как можно сделать шлагбаум. Недавно разбирал тему опорных точек Pivot. Сегодня их будем использовать.

👉 В игровом мире из примитивов Cylinder собираем по кусочкам балку, раскрашиваем ее в разные цвета (красный и белый). Все кусочки соединены друг с другом с помощью сварки Weld. Балку фиксируем в пространставе, делая у первого цилиндра Anchored = false

👉 Основание балки переименовываем в BasePart, опорную точку этого цилиндра смещаем в начало цилиндра.

👉 Добавляем Script , в котором напишем пару функций, одна будет открывать, другая закрывать шлагбаум. В основе функций будет смещение опорной точки.


👉 Пример на демо
#Roblox
👍1
👉 Для наглядности код на скриншотах
Roblox: Делаем шлагбаум: Улучшаем код открытия и закрытия

🎯 В прошлом прототипе для шлагбаума были разработаны две функции open() и close() . Код в них был сильно похож и имел один недостаток, решил сегодня этот момент подправить.

👉 Добавлен один метод, который поворачивает шлагбаум до нужного положения, его теперь можно использовать для открытия или закрытия, можно приоткрывать, то есть поворачивать шлагбаум не на 90 градусов. Работать с ним удобнее.
-- Поворот шлагбаума из текущего исходного положения по оси Y
-- до значения to c шагом step и задержкой отрисовки delayAnimation
-- и корректировкой окончательного положения (доворт до max)
local function barrirMoving(
to: number,
step: number,
delayAnimation: number,
max: number
)


👉 Изменение угла поворота происходит в цикле, конечное значение поворота после выхода из цикла может быть не совсем тем положением, на которое рассчитывали, похоже, что при вычислении угла поврота есть окгруления и по итогу за весь цикл это накаливает некоторое смещение, поэтому после выхода из цикла доворачиваем до нужной позции, чтобы шлагбаум точно имел определенный угол поворота в конце работы функции

👉 Для теста добавим новую функцию, в которой будем со случайной скоростью открывать и закрывать шлагбаум
-- открытие
barrirMoving(-90, math.random(-20, -1), 0.0001, -90)
wait(1)

-- закрытие
barrirMoving(90, math.random(1, 20), 0.0001, 90)
wait(1)

👉 Пример на демо
#Roblox
👉 Код для наглядности в виде скриншотов
👍1
Media is too big
VIEW IN TELEGRAM
Roblox: Делаем шлагбаум: Добавляем реалистичности движению с помощью bubble интерполятора

🎯 В прошлых прототипах нам удалось реализовать плавное открытие и закрытие шлагбаума. В реальности, когда шлагбаум закрывается, может быть так, что он не четко опускается в нижнее положение. В нижней точке он может колебаться: чуть больше закрыться, потом мотор его вернет немного наверх, потом обратно и так далее с затухающей амплитудой, пока он займет нужное положение.

👉 Такой эффект можно достичь с помощью bubble интерполятора. Детали работы и код распишу в следующем посте.

👉 Пример на демо
#Roblox
👍1