🎮 IT Step by step | GameDev для начинающих 🚀
356 subscribers
66 photos
2 files
31 links
Учись создавать игры, сайты и 3D-модели вместе с весёлой Терри и её приятелем Тимом.
Программирование: Scratch, Roblox, Unity, Frontend
3D в Blender
Компьютерная грамотность
Реальные проекты
Для детей и подростков 6–16 лет

Администратор канала: @E1lena_9
Download Telegram
🎮 Лидерстатс в Roblox: без сохранения и с сохранением (DataStore) + важная настройка API!

В Roblox лидерстатс — это папка с показателями игрока (например, деньги, очки), которые видны на табло в игре. Разберём два варианта: простой (без сохранения) и с сохранением данных между сессиями.

🟢 Вариант 1: Лидерстатс без сохранения
Все значения сбрасываются при каждом новом заходе игрока.

game.Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player

local money = Instance.new("IntValue")
money.Name = "Money"
money.Value = 50 -- стартовое значение
money.Parent = leaderstats
end)

Скрипт размещается в ServerScriptService.

Значения не сохраняются после выхода.

🟡 Вариант 2: Лидерстатс с сохранением (DataStore)
Для сохранения данных между сессиями используем DataStore:

local DataStoreService = game:GetService("DataStoreService")
local playerData = DataStoreService:GetDataStore("PlayerData")

game.Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player

local money = Instance.new("IntValue")
money.Name = "Money"
money.Parent = leaderstats

local playerUserId = "Player_" .. player.UserId
local data
local success, err = pcall(function()
data = playerData:GetAsync(playerUserId)
end)

if success and data then
money.Value = data
else
money.Value = 0
end
end)

game.Players.PlayerRemoving:Connect(function(player)
local playerUserId = "Player_" .. player.UserId
local success, err = pcall(function()
playerData:SetAsync(playerUserId, player.leaderstats.Money.Value)
end)
if not success then
warn("Не удалось сохранить данные: " .. err)
end
end)

Скрипт размещается в ServerScriptService.

Значения сохраняются между сессиями.

⚠️ ВАЖНО: включите доступ к API для работы с базой данных!
Чтобы DataStore работал в Roblox Studio, нужно включить доступ к API:
Откройте Game Settings (Настройки игры).
Перейдите во вкладку Security (Безопасность).
Включите опцию Enable Studio Access to API Services (как на скриншоте — переключатель должен быть зелёным).
Нажмите Save.

💡 Советы:

Для тестирования сохранения используйте Roblox Studio в режиме Play (Start Server + Player).
Не храните слишком много данных в DataStore — есть лимиты на количество запросов.
Для сложных игр используйте таблицу (dictionary) для хранения нескольких значений.

Пробуйте оба варианта, чтобы понять, какой лучше подходит для вашей игры!
Если остались вопросы — пишите в комментариях, помогу разобраться.👇

#Roblox #GameDev
🔥8👍6👌3👨‍💻32
Получила обратную связь от мамы ученицы.
Спасибо, Роза, мне безумно приятно, Ксюша очень талантливая и прилежная ученица, с ней приятно работать на уроках, всегда приходит с выполненным домашним заданием))). Такая обратная связь всегда мотивирует, даёт понимание что всё не зря, что моя работа кому то нужна, спасибо большое!) ❤️
11🔥4👍3😍2🥰1
🎬 Изучаем модификатор Boolean в Blender на примере домика-гриба! 🍄🏠

В этом уроке я подробно покажу, как работать с модификатором Boolean. На примере создания простого домика в форме гриба вы научитесь выполнять булевы операции: объединять объекты, вырезать отверстия и создавать сложные формы быстро и просто.

Этот урок идеально подойдёт для тех, кто хочет освоить базовые и продвинутые приёмы моделирования в Blender и научиться создавать интересные 3D-модели без лишних сложностей.

Смотрите видео
YouTube: ссылка на видео
RUTUBE : ссылка на видео
Ваши вопросы и пожелания — всегда приветствуются!👇

#Blender3D
👍63👀3🔥2👌2
🎨Краткий список признаков, по которым может спалиться 😱 3D-моделер:

Когда видите обычный предмет, сразу начинаете представлять, как бы его смоделировали в Blender или другой программе 🎨
Ваш рабочий стол завален планшетами, стилусами и разными 3D-мышками 🖌🖱
Вы говорите не просто «сделать красивую картинку», а «протопологизировать, добавить UV-развёртку и настроить шейдеры» 🤓
Ваша коллекция — это не футболки, а наборы текстур, моделей и ассетов для проектов 🎭
Когда слышите слово «булевый модификатор», у вас сразу появляется идея, как вырезать сложные формы из объекта 🔪
Вы можете часами спорить, какой рендер лучше — Cycles или Eevee, и почему освещение — это всё! 💡
Ваши друзья удивляются, что вы можете «оживить» статичную модель, задавая ей позы и анимации 🕺
Вы всегда в курсе последних обновлений Blender, Maya или ZBrush и с нетерпением ждёте новых функций 🚀
Ваши мысли часто уходят в сторону: «А как бы я сделал этот домик-гриб в 3D?» 🍄🏠
Когда слышите слово «топология», не думаете о географии, а о сетке полигона 🗺

😊 Берегите себя и свои креативные мозги! В комментариях делитесь, что выдаёт именно вас 😉👇

#IT_юмор
53🔥3😁3🤣3👍1
🚀 Тенденции 3D-печати: что нового и как это меняет отрасли

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

1️⃣ Расширение ассортимента материалов

Металлы: титан, алюминий, кобальтовые сплавы — активно применяются в авиации и космосе (Boeing, NASA) для создания лёгких и прочных деталей.
Бетон: строительные 3D-принтеры уже возводят малоэтажные дома в России, сокращая сроки и расходы.
Композиты: карбоновые и керамические смеси для автомобилей и аэрокосмической отрасли.
Биоматериалы: гидрогели и клеточные структуры для биопечати органов и протезов, меняющие медицину.

2️⃣ Многоцветная и многоматериальная печать
Позволяет создавать сложные изделия с разными физическими и эстетическими свойствами в одном процессе — от электроники с интегрированными элементами до прототипов с реалистичной цветовой детализацией.

3️⃣ Интеграция искусственного интеллекта
ИИ оптимизирует траектории печати, повышает точность и качество, снижая брак, а также автоматизирует диагностику оборудования.
❗️Пример — системы, которые подбирают параметры печати под конкретный материал и задачу.

4️⃣ Новые промышленные 3D-принтеры
Многолучевые лазеры и роботизированная постобработка ускоряют производство и повышают качество. Например, Bambu Lab H2D совмещает печать, лазерную гравировку и резку, а портативные складные принтеры Anycubic удобны для крупногабаритных объектов.

5️⃣ Применение в ключевых отраслях

Медицина: биопечать органов и индивидуальных протезов становится более доступной.
Авиация и космос: печать деталей и ремонт оборудования на орбитальных станциях.
Автомобилестроение: снижение веса электромобилей за счёт оптимизированных компонентов.
Строительство: дома печатают за считанные дни с использованием новых теплоэффективных бетонных смесей.

Эти тренды делают 3D-печать универсальным и эффективным инструментом, открывая новые горизонты для производства и творчества.

Подробнее — источник: 3d-m.ru

#AI #IT_news
🔥8🤔43👍3🤓3
🚀 Горячие клавиши и полезные расширения для Visual Studio Code

Visual Studio Code — мощный и удобный редактор кода, который помогает разработчикам работать быстрее и эффективнее. Сегодня разберём самые полезные горячие клавиши и расширения, которые стоит освоить для удобства работы.

⚙️ Лучшие расширения для продуктивной работы
GitLens — расширяет возможности Git прямо в редакторе: показывает историю изменений, авторов строк, помогает разбираться с ветками.
GitHub Copilot — AI-помощник, который предлагает автодополнение кода и помогает писать функции быстрее.
Prettier — автоматический форматировщик кода, который сохраняет стиль проекта единообразным.
Live Server — запускает локальный сервер с автоматической перезагрузкой страницы при изменении файлов, удобно для веб-разработки.
Tabnine — AI-ассистент для автодополнения кода с поддержкой множества языков.
TODO Highlight — выделяет в коде комментарии с TODO и FIXME, чтобы не забывать о важных задачах.
ChatGPT Helper — интеграция с ChatGPT прямо в VS Code для объяснения и генерации кода.
Как использовать
Горячие клавиши можно посмотреть и настроить в меню «Keyboard Shortcuts» (Ctrl + K Ctrl + S / Cmd + K Cmd + S).
Расширения устанавливаются через Marketplace в самом VS Code — просто найдите нужное и нажмите «Install».
Освоив эти инструменты, вы значительно повысите скорость и качество своей работы в Visual Studio Code!

#Web
👍7🔥43👀3👌2👨‍💻1
🎮Обучение это развитие
Знаете, я тут подумала — программирование и моделирование для подростков — это не просто про код или красивые 3D-модели. Это реально крутой способ прокачать себя, стать увереннее и научиться решать разные задачи в жизни.

Вот как это работает. Когда начинаешь что-то создавать — игру, анимацию или 3D-проект — ты одновременно учишься думать логично, искать решения, не сдаваться, когда что-то не получается с первого раза. Это как в спорте тренировка терпения и настойчивости. И при этом ты развиваешь креативность, потому что придумываешь что-то своё, уникальное.

Ещё круто, что программирование учит брать ответственность: планировать своё время, доводить дело до конца. А если работаешь с друзьями — учишься общаться и работать в команде.

Самое классное — видеть результат своих усилий. Запустил свою игру или сделал классную модель — и сразу чувствуешь, что всё не зря. Это даёт мотивацию идти дальше и пробовать новое.

Так что это не просто хобби, а отличный способ стать успешнее, увереннее и подготовиться к будущему.

В общем, пробуй, экспериментируй и не бойся ошибок — это часть пути! 😉
9🔥4👍3👨‍💻3🤔2
🐭🎮 Мини-игра на Scratch: Котик гоняется за мышкой — разбор игры

Сегодня разберём простую, но увлекательную мини-игру на Scratch, где ты управляешь мышкой, а котик — это NPC (неигровой персонаж), который пытается тебя поймать.

Как устроена игра?
Игрок управляет мышкой. Твоя задача — убегать от котика и добежать до норки.
Котик — NPC, который гонится за мышкой. Он автоматически движется в сторону мышки, пытаясь её поймать.

Жизни и очки:
В начале у мышки 3 жизни.
Если котик догоняет мышку — у мышки отнимается 1 жизнь.
Если мышка успевает добежать до норки — игрок получает +1 балл и переходит на следующую карту (комнату).

Цель: набрать 3 балла, чтобы выиграть игру.

Поражение: когда жизни мышки заканчиваются (0 жизней).

Как играть?
Управляй мышкой с помощью стрелок на клавиатуре.
Избегай котика и старайся как можно быстрее добраться до норки.
Каждая новая карта — это новая комната с разным расположением норки.
Следи за количеством жизней и очков — они отображаются на экране.

Как это работает в Scratch?
Управление мышкой: с помощью блоков «если клавиша нажата» мышка двигается вверх, вниз, влево и вправо.
Поведение котика: он постоянно смотрит в сторону мышки и движется к ней с небольшой скоростью, создавая эффект погони.
Жизни и очки: переменные «Жизни» и «Очки» обновляются при столкновении с котиком или достижении норки.
Переход на следующую карту: при достижении норки меняется фон или загружается новая сцена
Проверка победы и поражения: если очков 3 — появляется сообщение о победе, если жизней 0 — сообщение о поражении и игра заканчивается.

Почему эта игра классная?
Она учит базовым принципам программирования: управление спрайтами, обработка событий, работа с переменными.
Развивает логику и реакцию игрока.
Позволяет создавать уровни и усложнять игру, добавляя новые препятствия и возможности.

Если хотите, можем сделать подробный разбор кода или помогу создать свою версию такой игры — пишите в комментариях!👇

ссылка на игру: Кошки-мышки

#Scratch
👍8🔥43👨‍💻3🥰2💯1
🐍 Как научить персонажа проползать под блоками в Roblox?

Привет, всем! 👋
Сегодня разберём, как добавить классную механику — анимацию ползания , чтобы игрок мог проползать под препятствиями ! Это отлично подойдёт для паркур-игр, скрытных способностей или просто интересной игровой механики. 💡

▶️ YouTube: Ссылка на видео
📺 Rutube: Ссылка на видео

🔧 Что делает этот код?
Этот скрипт:


Запускает анимацию при нажатии клавиши (например, F),
Отключает коллизию у персонажа, чтобы он мог "проскользнуть" под объектом,
После окончания анимации всё возвращается в исходное состояние.

💻 Код с пояснениями:

-- Получаем персонажа игрока
local char = game.Players.LocalPlayer.Character

-- Получаем компонент Humanoid для работы с анимациями
local human = game.Players.LocalPlayer.Character.Humanoid

-- Сервис ввода — отслеживает нажатия клавиш
local uis = game:GetService("UserInputService")

-- ID анимации (ее можно заменить на свою)
local animation_ID = "rbxassetid://133965842091574"

-- Защита от повторного запуска анимации
local debounce = true

-- Клавиша активации анимации
local key = "F"

-- Подписываемся на событие начала ввода
uis.InputBegan:Connect(function(Input, IsTyping)

-- Если пользователь печатает в чате — выходим из функции
if IsTyping then return end

-- Проверяем, была ли нажата нужная клавиша и можно ли запустить анимацию
if Input.KeyCode == Enum.KeyCode[key] and debounce == true then

-- Блокируем повторный запуск
debounce = false

-- Отключаем взаимодействие с физикой, чтобы персонаж мог проползти под блоком
char.HumanoidRootPart.CanCollide = false

-- Создаём временный объект анимации
local animation = Instance.new("Animation")
animation.AnimationId = animation_ID -- Привязываем нашу анимацию

-- Загружаем и запускаем анимацию
local loadanimation = human:LoadAnimation(animation)
loadanimation:Play()

-- Ждём 2 секунды — это примерное время длительности анимации
wait(2)

-- Включаем обратно взаимодействие с миром
char.HumanoidRootPart.CanCollide = true

-- Удаляем временную анимацию, чтобы не засорять память
animation:Destroy()

-- Разрешаем снова запускать анимацию
debounce = true
end
end)


📌 Как использовать?
Вставь этот код в LocalScript внутри StarterPlayerScripts.
Убедись, что ты используешь LocalScript, потому что здесь используется LocalPlayer.
Можешь изменить key на любую другую кнопку.
Нажми F в игре и наслаждайся эффектом!
💬 Давайте вместе создавать крутые проекты!
Если у тебя уже есть идеи, как использовать эту механику — пиши в комментариях!
Хочешь, чтобы я разобрала ещё какие-то анимации или механики? Пиши — будем делать новые игры!👇

#Roblox #GameDev #Lua
👍8🔥53👌3👨‍💻3
🚀 Неочевидные, но очень полезные функции Blender, которые ускорят твою работу

Blender — мощная программа с огромным набором инструментов, и многие из них остаются незамеченными, хотя могут сильно облегчить моделирование и сэкономить время. Расскажу про простые, но малоиспользуемые фишки, которые стоит попробовать!

Автоматическое объединение вершин (Auto Merge)
Когда ты двигаешь вершины, включи функцию Auto Merge — она автоматически сливает вершины, если они соприкасаются. Это помогает быстро убрать лишние точки и избежать проблем с сеткой. Активируется в настройках редактора и экономит кучу времени при чистке модели.
Булевы операции через аддон Bool Tool
Вместо долгого добавления булевых модификаторов вручную, включи аддон Bool Tool (в настройках Add-ons). С ним операции сложения, вычитания и пересечения объектов становятся простыми и интуитивными — выделяешь объекты, нажимаешь Ctrl+Shift+B и выбираешь нужное действие. Отлично подходит для быстрого создания сложных форм.
Инструмент Inset (I) с расширенными возможностями
Inset — это не просто создание отступов на гранях. Если во время перемещения нажать клавишу O, отступ появится снаружи выделенной области, а повторное нажатие I переключит режим на создание отступов для каждой выбранной грани отдельно. Удержание Ctrl позволяет контролировать высоту. Это помогает быстро создавать сложные детали без лишних действий.
Двойное нажатие G для скольжения вершин (Edge Slide)
Если выделить вершину или ребро и дважды нажать G, можно перемещать элемент, скользя по поверхности соседних граней. Это очень удобно для точной подгонки формы без искажения сетки.
Loop Cut (Ctrl+R) — добавление колец рёбер с быстрым превью
При добавлении нового кольца рёбер можно сразу мышкой выбрать позицию и количество сегментов, что позволяет быстро и точно контролировать детализацию модели без лишних шагов.

Почему стоит использовать эти функции?
Они помогают работать быстрее, избегать ошибок и создавать более качественные модели с меньшими усилиями. Многие начинающие просто не знают о них, а опытные 3D-художники используют их каждый день.

Попробуй эти фишки в своём следующем проекте — уверена, они сделают моделирование в Blender намного удобнее и приятнее!

#Blender3D
👍12🔥6👨‍💻64👌2🥰1
🚀 Неочевидные, но классные штуки в Unity, которые облегчат жизнь часть 1
Представь, что ты собираешь конструктор LEGO.
Сначала думаешь: "Ну что тут сложного? Всё равно как кубики ставить".
А потом находишь секретные кнопки и ящики, которые делают сборку в 10 раз быстрее и веселее.
Так вот, в Unity тоже есть такие "скрытые фичи", о которых мало кто знает, но они реально помогают!

Давай разберём несколько таких штук.

🔍 1. Ctrl + Shift + C (или Cmd на Mac) — магия для глаз
Представь, что ты художник, и тебе нужно точно повторить цвет неба.
Вместо того чтобы гадать, какой оттенок выбрать, ты просто берёшь кисть и капаешь с неба нужный цвет.

Если зажать Ctrl + Shift + C и кликнуть мышкой на объект в сцене — Unity автоматически выберет этот объект в редакторе.
Можно сразу править его свойства, не лазая по спискам и дереву объектов.

Как взять кисть и сразу попасть в нужный цвет — быстро и удобно!

🧹 2. Правый клик → Rename (переименование массово)
Представь, что у тебя на столе 10 одинаковых коробок с надписью "что-то".
И тебе нужно найти, где там лежит твой телефон.
Неудобно, да?

Если ты создаешь много объектов (например, врагов или деревьев), называй их нормально!
Просто нажми правой кнопкой мыши на объект → Rename → и напиши, что это такое: "дерево_дуб", "враг_тигр", "платформа_движущаяся".

Это как подписать коробки — потом найдёшь всё за секунду!

🎯 3. Shift + клик по объекту — выдели всё, что связано
Представь, что ты играешь в прятки.
Рядом прячется целая компания друзей.
Вместо того чтобы ловить их по одному, ты говоришь: «Выходите все!» — и они выходят.

Если ты зажмёшь Shift и кликнешь по нескольким объектам в списке, Unity выделит их всех сразу.
Можно двигать, менять параметры или удалять за один раз.

Лови всю команду сразу, а не по одному игроку 😄

🪄 4. Prefab Variant — как семейная пара, но с отличиями
Представь, что у тебя есть два близнеца.
Они почти одинаковые, но один любит футбол, другой — книги.
Ты можешь сделать общую фотографию, а потом добавить каждому свои детали.

Prefab — это как шаблон объекта.
Prefab Variant — это когда ты берёшь этот шаблон и немного меняешь, например:
У одного врага красная шапка.
У второго — синяя, но всё остальное одинаковое.
Как создать семейство персонажей, не начиная всё с нуля!

📐 5. Grid и Snapping — как линейка для порядка
Представь, что ты расставляешь мебель в комнате.
Без линейки — всё как попало.
А с линейкой — всё идеально и красиво.

Grid (сетка) и Snapping (привязка) помогают ставить объекты ровно.
Зажми Ctrl + Shift + G (или найди в меню View) — появится сетка.
Чтобы объекты прилипали к сетке — включи snapping (иконка магнита вверху).

Станет сразу видно: здесь стена, здесь дверь, и всё по-честному.

📦 6. Drag & Drop — как собирать сумку перед поездкой
Представь, что ты складываешь вещи в чемодан.
Вместо того чтобы каждый носок перекладывать через меню, ты просто берёшь и кладёшь.

Перетаскивай скрипты, текстуры, звуки прямо на объекты в сцене.
Это работает быстрее, чем искать кнопку "добавить".

Бери и клади — всё просто, как упаковать чемодан.

💡 А теперь самое важное:
Все эти штуки — не про "крутость", а про удобство и скорость .
Когда знаешь такие лайфхаки, работа идёт быстрее, меньше ошибок, и вообще — больше удовольствия.

📌 Что делать дальше?
Если ты только начинаешь — не пугайся, что ещё не всё понятно.
Попробуй одну-две рекомендации из этого списка — и почувствуешь, как всё становится легче.

#GameDev #Unity
🔥137👍7👨‍💻5🥰2
😳 «О чём это?»: Геймдев-сленг подростков — часть 3! 🎮

Рада видеть вас снова в нашем весёлом путешествии по миру геймдева! В прошлых постах (часть1, часть 2) мы разобрали много важных слов, а сегодня добавим ещё порцию полезных терминов, чтобы вы могли легко поддержать разговор с юным разработчиком и даже немного удивить его знаниями.

🌟 Рендер (Render)
Это процесс «рисования» картинки игры на экране. Представьте, что игра — это картина, а рендер — художник, который её создаёт в реальном времени.
«Сегодня я оптимизировал рендер, и теперь игра выглядит круче и работает быстрее!»
🌟 Шейдер (Shader)
Специальная программа, которая отвечает за свет, тени и эффекты в игре. Благодаря шейдерам персонажи и мир выглядят живыми и красивыми.
«Добавил новый шейдер — теперь вода блестит как настоящая!»
🌟 Анимация (Animation)
Движение персонажей и объектов в игре. Без анимации всё было бы как в комиксе — статично и скучно.
«Работаю над анимацией прыжка героя — теперь он прыгает плавно.»
🌟 Оптимизация (Optimization)
Процесс улучшения игры, чтобы она работала быстрее и не тормозила. Это как убрать лишние вещи из рюкзака, чтобы идти было легче.
«Оптимизировал уровни — теперь игра не лагает даже на старом компьютере.»
🌟 Скрипт (Script)
Набор команд, который заставляет игру «думать» и реагировать на действия игрока. Можно сказать, что скрипты — мозги игры.
«Написал скрипт, чтобы враги появлялись неожиданно — теперь играть интереснее!»
🌟 Механика (Mechanics)
Правила и способы взаимодействия в игре — например, как герой прыгает, стреляет или собирает предметы.
«Новая механика с двойным прыжком делает игру ещё увлекательнее.»
🌟 Текстуры (Textures)
Поверхности объектов в игре — как обои на стенах или ткань на одежде. Они делают мир ярче и реалистичнее.
«Заменил текстуры на более детализированные — теперь лес выглядит живым.»
🌟 Бэклог (Backlog)
Список задач и идей, которые ещё нужно сделать. Можно представить как «список желаний» разработчика.
«В бэклоге много идей, но сначала нужно закончить текущий уровень.»
🌟 Инди (Indie)
Игры, которые делают маленькие команды или даже один человек — без больших студий. Часто очень креативные и необычные.
«Мой друг делает инди-игру про приключения кота!»
🌟 Порт (Port)
Перенос игры с одной платформы на другую — например, с компьютера на телефон.
«Сейчас занимаюсь портом игры на мобильный — скоро можно будет играть везде!»

Итог
Теперь у вас в запасе ещё больше слов из мира геймдева! Если подросток скажет: «Я сегодня работал над шейдерами и оптимизацией, а потом обновил бэклог», — вы точно будете знать, что происходит.

Если хотите продолжить изучать геймдев-сленг — пишите в комментариях, и я обязательно сделаю ещё один пост! 😉

#Глоссарий
👍12🔥127👨‍💻7👏3
⌨️ Горячие клавиши в Roblox Studio: как ускорить работу и не устать
Представь, что ты печёшь блинчики.
Вместо того чтобы каждый раз мыть сковородку, ты находишь лайфхак: один щелчок — и готовый блинчик уже в тарелке.

Так вот, в Roblox Studio тоже есть такие "щелчки" — горячие клавиши , которые делают рутину в 10 раз быстрее и вообще добавляют кайфа от процесса 🎮Давай познакомимся с ними

🔹 Ctrl + C / Ctrl + V — как копировать идеи у одноклассника (но легально!)
Представь, что тебе нужно сделать 5 одинаковых деревьев.
Можно каждое строить заново... или скопировать одно и быстро расставить остальные.
Ctrl + C — копирует объект.
Ctrl + V — вставляет его.
Просто выбери объект в Explorer → нажми сочетание → и получи копию.

Как сделать копию вкусного бургера, а не собирать его снова с нуля 🍔

🔹 F — фокус на объекте. Как увеличить фото на телефоне одним касанием
Представь, что ты потерял игрушку в большой коробке.
Вместо того чтобы вываливать всё на пол, ты просто берёшь её и увеличиваешь, чтобы рассмотреть получше.

F — камера мгновенно фокусируется на выбранном объекте.
Выбери объект в Explorer → Нажми F → И смотришь прямо на него.

Как приблизить важную деталь — быстро и удобно 👀

🔹 Ctrl + G — группировка объектов. Как сложить игрушки в коробку
Представь, что ты собираешь игрушки после игры.
Вместо того чтобы переносить их по одной, ты складываешь всё в одну коробку и несёшь сразу.

Ctrl + G — объединяет несколько объектов в одну model.
Можно двигать, поворачивать, скрывать целиком.

Как положить всё в сумку — аккуратно и удобно 🎒

🔹 Ctrl + Z — отмена. Как стереть ошибку ластиком
Представь, что ты нарисовал что-то не то.
Вместо того чтобы начинать всё сначала, берёшь ластик и стираешь ошибку.

Ctrl + Z — отменяет последнее действие.
Нажал лишнее? Просто отмени — и продолжай работать дальше.

Как стереть каракуль — легко и без следа

🔹 Ctrl + D — дублировать. Как сделать двойник-копию любимого платья
Представь, что у тебя есть классная футболка.
И ты хочешь такую же, но другого цвета.
Проще сделать копию и поменять немного, чем создавать заново.

Ctrl + D — создаёт копию объекта рядом с оригиналом.
Полезно, если хочешь сделать похожий объект, но с другими параметрами.

Делай копию — экономь время и силы 👕

💡 А теперь самое важное:
Эти горячие клавиши — не про "крутость", а про удобство и скорость .
Они помогают меньше уставать, делать больше и вообще получать удовольствие от создания игр.

📌 Что делать дальше?
Если ты только начинаешь — не надо запоминать всё сразу.
Выбери 2–3 сочетания, которые тебе пригодятся сегодня, и начни использовать их.
Через неделю они станут привычкой, как завязывать шнурки.

Хочешь, чтобы я показала это в видео или сделала подробный разбор с этими (и другими) клавишами?
Пиши в комментариях — сделаем! 💬

#Roblox #GameDev
🔥17👍15👨‍💻86👌4💯4
🧱 ТОП-5 ошибок новичков в Roblox Studio и как их не повторять
Представь, что ты собираешь шкаф из магазина.
Сначала думаешь: «Ну что тут сложного?», берёшь отвёртку и начинаешь крутить болты.
А потом обнаруживаешь, что половина деталей не туда прикручена 😅
Так бывает и с Roblox Studio — особенно если ты только начинаешь.
Сегодня расскажу тебе про самые частые ошибки , которые делают новички, и как их легко избежать.

Ошибка №1: Забыть проверить, где находится персонаж
Представь, что ты запускаешь игру, а герой не появляется.
Или появляется, но в подземелье. Или вообще внутри стены.
Что случилось?
Персонаж не может появиться, потому что:
SpawnLocation потерялся,
Он стоит внутри другой модели,
Его кто-то случайно спрятал или удалил.
Как исправить:
Убедись, что в папке Workspace есть объект SpawnLocation.
Проверь, чтобы он не был внутри других объектов.
Можно добавить новый через вкладку Model →Gameplay → SpawnLocation.
Как проверить, положил ли ты игрушку на пол, а не под кровать 🧸

Ошибка №2: Скрипты работают не так, как ожидалось
Пишешь код, всё красиво, логично...
А скрипт молчит, как партизан.
Что случилось?
Скорее всего:
Скрипт находится не там, где должен (например, в Workspace, а не в StarterGui),
Нет нужных объектов в дереве,
Забыл указать LocalScript, если нужно взаимодействовать с игроком.
Как исправить:
Убедись, что скрипт находится в правильном месте.
Проверяй, есть ли нужные объекты в дереве (Player, Humanoid, Part и т.д.).
Если работаешь с интерфейсом — используй LocalScript.
Как выбрать правильное место для хранения ключей — не в кармане, а в рюкзаке 🔑

Ошибка №3: Объекты "проваливаются" сквозь пол или зависают в воздухе
Ставишь платформу, прыгаешь — и проваливаешься.
Или наоборот: стоишь, а под ногами ничего нет.
Что случилось?
CanCollide выключен у объекта.
Объект слишком маленький или невидимый.
Физика ещё не успела "подгрузиться".
Как исправить:
Убедись, что у всех платформ и стен CanCollide = true.
Проверь, правильно ли расставлены размеры объектов.
Добавь небольшую задержку, если объект создаётся программно.
Как проверить, положил ли ты кирпич на кирпич, а не на воздух 🏗

Ошибка №4: Перепутаны LocalScript и Script
Думаешь, почему кнопка не работает.
Смотришь код — всё правильно.
А дело в том, что скрипт просто не может "увидеть" кнопку.
Что случилось?
Script работает на сервере, а GUI находится у игрока.
Если хочешь, чтобы скрипт реагировал на клики по кнопке — нужен LocalScript.
Как исправить:
GUI, камера, мышь — всегда требуют LocalScript.
Всё, что связано с физикой, движением, NPC — можно делать через Script.
Как звонок в домофоне: если он не подключён к твоему телефону — ты его не услышишь 📞

Ошибка №5: Не сохраняешь проект
Работал два часа.
Добавил кучу объектов, написал классный скрипт…
А потом студия закрылась. И всё пропало.
Что случилось?
Не сохранил проект.
Roblox Studio не сохраняет автоматически.
Как исправить:
Сохраняйся часто: File → Save As или Ctrl + Shift + S.
Сохраняй под разными именами — чтобы всегда была "запасная копия".
Как сохранить прогресс в любимой игре перед сложным уровнем 💾

💡 А теперь самое важное:
Эти ошибки — нормально.
Все их делают.
Даже профессионалы иногда забывают, где они оставили SpawnLocation 😄

Главное — не пугайся, когда что-то не работает.
Просто проверь эти пункты — и ты быстро найдёшь проблему.

📌 Что делать дальше?
Если ты только начинаешь — попробуй создать простой проект и проверить эти моменты.
Можно сделать мини-игру: платформер с одной кнопкой и одним прыжком.

Хочешь, чтобы я показала это в видео или сделала чек-лист с этими ошибками?
Пиши в комментариях — сделаем! 💬

#Roblox #GameDev
👍22🔥16👌137💯4👨‍💻3
🚀 Неочевидные, но классные фишки в Unity, которые сделают твою работу проще часть 2

Представь, что ты собираешь сложный пазл. Сначала кажется, что всё просто — бери и ставь кусочки. Но потом находишь секретные приёмы, которые делают сборку в разы быстрее и приятнее. В Unity тоже есть такие «фишки», о которых мало кто знает, но они реально помогают!

Давай разберём несколько таких полезных штук.

🔧 1. Быстрый поиск компонентов через Ctrl + F
Когда у тебя в объекте куча компонентов, и нужно быстро найти нужный (например, Rigidbody или AudioSource), просто выдели объект и нажми Ctrl + F. В появившемся окне начни вводить название компонента — Unity сразу покажет и выделит его. Это экономит время, когда компонентов много и искать вручную неудобно.
🧩 2. Animation Rigging — гибкое управление анимациями
Этот пакет позволяет создавать сложные и реалистичные анимации персонажей без программирования. Например, можно легко сделать, чтобы персонаж смотрел на цель или сгибал руку под нужным углом. Включи Animation Rigging через Package Manager и экспериментируй с контроллерами — это круто расширит возможности твоих анимаций.
📂 3. Addressables — удобное управление ресурсами
Если у тебя много ассетов и ты хочешь загружать их по требованию (чтобы не грузить всё сразу и экономить память), используй Addressables. Это современный способ управлять ресурсами — ты просто помечаешь ассеты, а Unity сама подгружает их, когда нужно. Особенно полезно для больших проектов и мобильных игр.
🖱 4. Быстрый дубликатор объектов с Ctrl + D
Хотел быстро скопировать объект? Выдели его и нажми Ctrl + D — Unity сразу создаст точную копию в том же месте. Можно быстро создавать группы врагов, платформ или элементов окружения без лишних кликов.
📊 5. Profiler в режиме Play Mode — анализ производительности
Чтобы понять, что тормозит игру, включи Profiler во время запуска проекта (Play Mode). Он покажет, сколько ресурсов тратится на рендеринг, скрипты, физику и т.д. Благодаря этому можно быстро находить узкие места и оптимизировать игру.
🛠 6. Custom Editor — свой интерфейс для компонентов
Если ты часто используешь один и тот же скрипт, можно создать для него собственный редактор (Custom Editor). Это позволяет сделать удобные кнопки, слайдеры и поля прямо в инспекторе, чтобы быстрее настраивать параметры без лишних кликов.
💡 Главное, что все эти фишки — про скорость и удобство. Зная их, ты будешь работать в Unity не просто быстрее, а с удовольствием!

📌 Совет новичкам: попробуй одну-две из этих функций в своём проекте — и почувствуешь, как работа становится проще и интереснее.

#GameDev #Unity
👍15🔥139👨‍💻4
А скажите мне пожалуйста, в каком формате вам больше нравятся публикации?
Anonymous Poll
43%
📹 Видео
57%
🖌Длинные, с полным разбором кода, статьи
4%
⁉️Что то другое (а что? Напишите в комментариях)
👍20🤔12🥰11👀5🔥3❤‍🔥1
🐾 Как связать клиентскую и серверную части в Roblox с помощью RemoteEvent?

Привет, друзья! 👋 Сегодня расскажу, как организовать простое и эффективное взаимодействие между клиентом (LocalScript) и сервером (Script) в Roblox с помощью RemoteEvent — одного из самых удобных инструментов для обмена сообщениями без ожидания ответа.

Что такое RemoteEvent?
RemoteEvent — это специальный объект, который позволяет клиенту отправлять сигналы на сервер и наоборот, без ожидания результата (в отличие от RemoteFunction, где связь двусторонняя и нужна синхронизация). Мы можем передавать любые аргументы: числа, строки, таблицы, объекты или ссылки на игрока.

Как это работает на практике?
1. Где создавать RemoteEvent?
Создаём объект RemoteEvent в ReplicatedStorage (это специальное хранилище, доступное и клиенту, и серверу).

-- В Roblox Studio в окне "Explorer" создаём RemoteEvent:
-- ReplicatedStorage -> New Object -> RemoteEvent, назовём, например, "MyRemoteEvent"

2. Клиент — отправляем событие серверу
В LocalScript пишем код, который будет срабатывать при событии (например, нажатии кнопки), и отправлять сигнал на сервер:

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MyRemoteEvent = ReplicatedStorage:WaitForChild("MyRemoteEvent")
-- Пример: отправляем событие на сервер с аргументом — именем игрока
MyRemoteEvent:FireServer("Привет с клиента!")

3. Сервер — слушаем событие и реагируем
В обычном Script (например, внутри ServerScriptService) подписываемся на событие и обрабатываем данные от клиента:

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local MyRemoteEvent = ReplicatedStorage:WaitForChild("MyRemoteEvent")
MyRemoteEvent.OnServerEvent:Connect(function(player, message)
print("Получено сообщение от игрока "..player.Name..": "..message)
-- Здесь можно добавить логику, например, выдать награду или запустить анимацию
end)

Обратите внимание: первым аргументом в обработчике всегда идёт игрок, который вызвал событие!

Важные моменты:
RemoteEvent — односторонний: клиент уведомляет сервер или сервер уведомляет клиента.
Для обратной связи клиенту от сервера используй: RemoteEvent:FireClient(player, ...) или RemoteEvent:FireAllClients(...).
Клиент всегда должен использовать FireServer, сервер — FireClient или FireAllClients.
Можно передавать несколько аргументов сразу, например: FireServer(arg1, arg2, ...).

Пример простого применения
Как только игрок нажал кнопку "Старт", отправляем сигнал серверу, чтобы начать игру:

-- LocalScript при нажатии кнопки
MyRemoteEvent:FireServer("Старт игры")


-- Script на сервере
MyRemoteEvent.OnServerEvent:Connect(function(player, command)
if command == "Старт игры" then
print(player.Name .. " начал игру!")
-- Запускаем игровую логику для этого игрока
end
end)

🎯 Итог: RemoteEvent — для простой и быстрой связи клиента с сервером в Roblox! Это надёжный способ отправлять сигналы, события и данные без лишних сложностей.

💬 Оставляй вопросы в комментариях, если надо помочь с кодом или сделать разбор конкретной механики!

#Roblox #GameDev #Lua
22🔥18👍17🤯9
🌟 Всем привет! Сегодня расскажу о том, как сделать свой первый сайт. Даже если ты думаешь, что это сложно — я покажу, что на самом деле всё очень легко!
Прямо сейчас ты можешь создать свой собственный сайт, который будет выглядеть круто и работать отлично. И самое главное — ты сможешь показать его всем друзьям и даже родителям!

1. Что такое сайт?

Сайт — это своего рода домик в интернете, где можно хранить информацию, картинки, видео и даже игры.
Например:

Твой сайт может быть портфолио для твоих игр или проектов.
Он может быть блогом, где ты пишешь про свои увлечения (например, Roblox или Blender).
Или это может быть личный сайт, где ты рассказываешь о себе, своих интересах и достижениях.
2. Какие инструменты нужны?
Для создания сайта тебе понадобятся всего три вещи:

HTML (Гипертекстовый язык)
Это основа любого сайта. Представь, что HTML — это план дома: он определяет, где будут стены, окна и двери. Например:
html
<h1>Привет, мир!</h1>

Это напишет большой заголовок "Привет, мир!" на твоём сайте.
CSS (Каскадные таблицы стилей)
CSS — это краски для твоего дома. С его помощью ты можешь изменить цвета, шрифты и расположение элементов. Например:
css
body {
background-color: lightblue;
}

Этот код сделает фон твоего сайта светло-голубым.
JavaScript (Язык программирования)
JavaScript — это электричество для твоего дома. Он делает сайт живым и интерактивным. Например:
javascript
alert("Привет, гость!");

Этот код покажет сообщение "Привет, гость!" каждому, кто заходит на твой сайт.
3. Пример простого сайта
Представь, что ты хочешь сделать сайт с тремя страницами:

Главная страница: Здесь ты расскажешь о себе и своих интересах.
Страница с играми: Тут ты покажешь свои проекты в Roblox или Unity.
Контакты: Здесь люди смогут связаться с тобой.
Твой сайт может выглядеть так:
html
<!DOCTYPE html>
<html>
<head>
<title>Мой первый сайт</title>
</head>
<body>
<h1>Привет, это мой первый сайт!</h1>
<p>Здесь я буду писать о своих увлечениях и проектах.</p>
<a href="games.html">Перейти к моим играм</a>
</body>
</html>

Это основной план твоего сайта. Теперь ты можешь добавить краски (CSS) и сделать его более интересным.

4. Где хранить свой сайт?
Чтобы твой сайт был доступен всем, нужно загрузить его в интернет. Для этого используются специальные сервисы, называемые хостингом. Хостинг — это место, где хранится твой домик в интернете. Есть бесплатные варианты, например:

GitHub Pages
Netlify
Vercel
5. Почему это важно?
Создание сайта — это не только весело, но и полезно:

Ты научишься новым навыкам, которые пригодятся в будущем.
Ты сможешь показать свои работы друзьям и родителям.
Это поможет тебе стать увереннее в IT-технологиях.
6. Где учиться?
Если ты хочешь научиться делать сайты, есть бесплатные ресурсы:

Официальный сайт MDN Web Docs — там есть все необходимые материалы.

7. Что дальше?
Если ты уже готов начать, пиши мне "сайт" — я проведу для тебя пробный урок и ты поймёшь что это совсем не сложно. Мы сделаем это вместе, шаг за шагом!

8. Вопросы?
Если что-то непонятно — пиши в комментарии! Я отвечу на все вопросы.

Уже сейчас мои ученики создают классные сайты:

Артём (12 лет): Создал сайт-визитку "Моя любимая игра".
Лена (13 лет): Разработала сайт с мини-игрой "Угадай число".
Максим (14 лет): Написал сайт с обзорами лучших игр Roblox.

Хотите, чтобы ваш ребёнок тоже создал свой первый сайт? Пишите "сайт" — помогу организовать занятия!

#Frontend #HTML #CSS #JavaScript

👉 Главное помнить: Создание сайтов — это просто, интересно и полезно! Если ты хочешь попробовать — пиши мне прямо сейчас!
13👍12🔥12❤‍🔥8🤔4🥰1
🎮 Разбираем игру "Угадай число" на JavaScript
Привет, друзья! 👋
Сегодня будем писать игру — и не просто так, а по кусочкам, как будто собираем пазл.
Называется — "Угадай число".
Ты думаешь: "О, это сложно, там же код!"
А я отвечу: "Нет. Это проще, чем объяснять маме, зачем тебе второй ноутбук." 😄

Представь: ты загадал число от 1 до 100, а компьютер пытается его угадать. Или наоборот — компьютер загадал, а ты угадываешь. Вот мы сделаем второе.

🔢 Что делает игра?
Компьютер загадывает случайное число от 1 до 100.
Ты вводишь своё число.
Он говорит: "Больше!", "Меньше!" или "Угадал! 🎉"
Побеждает тот, кто угадает быстрее.
💻 Вот весь код (не пугайся, сейчас разберём как по кусочкам пиццы):

// 1. Компьютер загадывает число от 1 до 100
let загаданноеЧисло = Math.floor(Math.random() * 100) + 1;
// 2. Спрашиваем игрока
let попытка = parseInt(prompt("Угадай число от 1 до 100!"));
// 3. Пока не угадал — спрашиваем снова
while (попытка !== загаданноеЧисло) {
if (попытка < загаданноеЧисло) {
попытка = parseInt(prompt("Больше! Попробуй ещё:"));
} else {
попытка = parseInt(prompt("Меньше! Попробуй ещё:"));
}
}
// 4. Когда угадал — радуемся!
alert("УГАДАЛ! Это было " + загаданноеЧисло + " 🎉");


🧩 Разбираем по частям
1. let загаданноеЧисло = Math.floor(Math.random() * 100) + 1;
Это как если бы компьютер закрыл глаза и вытащил число из шляпы.

Math.random() — даёт случайное число от 0 до 1 (например, 0.45).
Умножаем на 100 → получаем от 0 до 99.
Math.floor() — отрезает дробную часть (оставляет целое число).
+ 1 — чтобы число было от 1 до 100, а не от 0 до 99.
👉 Готово: загадали число!

2. prompt("Угадай число...")
Это как всплывающее окно в браузере, где игрок вводит своё число.
parseInt() — превращает текст в число. Потому что если ты напишешь "50", компьютер сначала видит это как слово, а не число. Надо сказать: "Это число!"

3. while (попытка !== загаданноеЧисло)
Это цикл — как "пока не угадал — продолжаем".

!== — значит "не равно".
То есть: пока твоё число не равно загаданному — спрашивай снова.
4. if (попытка < загаданноеЧисло)
Если твоё число меньше загаданного — говорим "Больше!".
Иначе (если больше) — говорим "Меньше!".

5. alert("УГАДАЛ!")
Когда вышли из цикла — значит, угадал!
Выводим победное сообщение. 🏆

🎯 Почему это круто?
Это первая настоящая игра, которую ты можешь запустить в браузере.
Ты понимаешь, как работает логика, циклы и условия — основа любого кода.
Потом можешь добавить уровни, попытки, таймер — и это уже будет твой мини-проект для портфолио!
🛠 Как попробовать?
Открой браузер (Chrome, Яндекс.Браузер и т.д.).
Нажми F12 → вкладка "Консоль".
Вставь этот код и нажми Enter.
Играй!
Или просто скопируй код в файл index.html и открой его — [расскажу, как, если нужно].

💡 А что дальше?
Добавь счётчик попыток: "Ты угадал за 5 раз!"
Ограничь число попыток (например, 7).
Сделай игру на двоих: один загадывает, другой угадывает.
📣 Хочешь, чтобы я записала про это видео?
Напиши "хочу видео"

А если ты уже пробовал писать такие игры — делись в комментариях, как получилось!

#JavaScript #Frontend
🔥18👍1612👨‍💻10🥰1