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

Администратор канала: @E1lena_9
加入频道
Хотите сделать курсор в вашей игре уникальным и менять его иконку, когда мышь наводится на разные объекты? Вот подробная инструкция с примерами!

1. Замена курсора на свою картинку по умолчанию
Подготовьте изображение курсора (лучше PNG с прозрачным фоном), импортируйте в проект и в инспекторе установите Texture Type → Cursor.

Создайте скрипт:

public class CursorManager : MonoBehaviour
{
public Texture2D defaultCursor;
public Vector2 hotspot = Vector2.zero;

void Start()
{
SetDefaultCursor();
}

public void SetDefaultCursor()
{
Cursor.SetCursor(defaultCursor, hotspot, CursorMode.Auto);
}

public void ResetCursor()
{
Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);
}
}

Добавьте этот скрипт на любой объект в сцене и в инспекторе назначьте defaultCursor.

2. Смена курсора при наведении на объект
Чтобы менять курсор при наведении на конкретный объект, используйте интерфейсы Unity IPointerEnterHandler и IPointerExitHandler из пространства имён UnityEngine.EventSystems.

Пример скрипта для объекта:

using UnityEngine;
using UnityEngine.EventSystems;

public class CursorChangerOnHover : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
public Texture2D hoverCursor;
public Vector2 hotspot = Vector2.zero;

public void OnPointerEnter(PointerEventData eventData)
{
Cursor.SetCursor(hoverCursor, hotspot, CursorMode.Auto);
}

public void OnPointerExit(PointerEventData eventData)
{
Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto); // Возвращаем стандартный курсор
}
}

Важно: Для работы этих интерфейсов объект должен иметь компонент Collider и сцена должна содержать EventSystem (обычно создаётся автоматически при добавлении UI).

3. Альтернативный способ с использованием Raycast (для 3D объектов)
Если вы не используете UI, а хотите менять курсор при наведении на 3D объекты, можно делать Raycast из позиции мыши:

using UnityEngine;

public class CursorRaycastChanger : MonoBehaviour
{
public Texture2D defaultCursor;
public Texture2D hoverCursor;
public Vector2 hotspot = Vector2.zero;

void Start()
{
Cursor.SetCursor(defaultCursor, hotspot, CursorMode.Auto);
}

void Update()
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;

if (Physics.Raycast(ray, out hit))
{
if (hit.collider.CompareTag("HoverTarget"))
{
Cursor.SetCursor(hoverCursor, hotspot, CursorMode.Auto);
return;
}
}

Cursor.SetCursor(defaultCursor, hotspot, CursorMode.Auto);
}
}

Не забудьте назначить тег HoverTarget объектам, при наведении на которые курсор должен меняться.

Советы
Используйте маленькие изображения (например, 32×32 px) с прозрачным фоном.

Настройте hotspot - точку прицеливания курсора (обычно верхний левый угол или центр).

Следите, чтобы не было частых вызовов SetCursor без необходимости - это может влиять на производительность.

Официальная документация Cursor.SetCursor:
https://docs.unity3d.com/ScriptReference/Cursor.SetCursor.html

Сделайте управление курсором в игре удобным и стильным! Если возникнут вопросы - пишите в комментариях. ⬇️

#Unity #GameDev #Обучение
👍52🤔2👌2
🤖Что такое DragDetector в Roblox Studio и как его использовать?

DragDetector - это мощный встроенный компонент Roblox, который позволяет делать 3D-объекты в игре перетаскиваемыми с помощью мыши, тачскрина, геймпада или VR без написания кода!

Основные возможности DragDetector:

🌟Позволяет перетаскивать объекты (части или модели) в игровом пространстве.

🌟Работает со всеми типами ввода: мышь, сенсорный экран, геймпад и VR.

🌟Можно настроить стиль перетаскивания: перемещение по плоскости, по линии, вращение и другие варианты.

🌟Позволяет ограничить область перемещения, чтобы объект не выходил за заданные границы.

🌟Настраиваемая чувствительность и сила отклика для плавного управления.

🌟Можно задать, кто именно может перетаскивать объект (например, только владелец или все игроки).

🌟Работает без необходимости писать скрипты - достаточно добавить компонент и настроить параметры.

Как добавить DragDetector:

В Roblox Studio выберите объект (BasePart или Model), который хотите сделать перетаскиваемым.

В его иерархии добавьте объект DragDetector.

Настройте параметры DragDetector в свойствах:

DragStyle - стиль перетаскивания (например, TranslatePlane - движение по плоскости).

Responsiveness - насколько быстро объект реагирует на перемещение.

MaxActivationDistance - максимальное расстояние, с которого можно начать перетаскивание.

Другие параметры для ограничения движения и управления поведением.

Пример использования

Хотите сделать выдвижной ящик или вращающийся рычаг? DragDetector отлично подойдёт! Просто добавьте его к нужной части и настройте стиль движения. Игроки смогут перетаскивать объект в пределах заданных ограничений - всё это без единой строки кода.

Полезные ссылки для изучения:

Официальная документация Roblox по DragDetector:
https://create.roblox.com/docs/ui/3D-drag-detectors

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

Если нужны примеры или помощь с настройкой - пишите в комментариях! ⬇️

#Roblox #GameDev
🔥3🤔3👍2👀2
🔥Как опубликовать игру на Unity в Яндекс Играх🔥

Публикация игры на платформе Яндекс Игры - отличный способ показать свой проект широкой аудитории и начать зарабатывать. Разберём пошагово, как подготовить и загрузить игру, а также на что обратить внимание, чтобы успешно пройти модерацию.

1. Подготовка проекта в Unity
🌟Установите официальный плагин (SDK) Яндекс Игр для Unity. Он интегрирует в игру функции платформы: авторизацию, рекламу, платежи и другие возможности.

🌟Добавьте на каждую сцену специальный GameObject из плагина. Это необходимо для корректной работы SDK.

🌟Соберите билд игры в формате WebGL. Яндекс Игры поддерживают браузерные игры именно в этом формате.

2. Регистрация и создание аккаунта разработчика

🌟Зарегистрируйтесь и создайте учётную запись в консоли разработчика Яндекс Игр.

🌟Создайте черновик новой игры, укажите название, описание, иконки, скриншоты и другие метаданные.

3. Загрузка и настройка игры

🌟Загрузите собранный WebGL-билд в консоль Яндекс Игр.

🌟Укажите языки локализации и заполните описание игры на соответствующих языках (рекомендуется русский для русскоязычной аудитории).

🌟Настройте параметры дистрибуции: страны, где игра будет доступна, разрешённые хосты и другие настройки.

4. Отправка на модерацию и публикация

🌟Отправьте игру на проверку модераторам Яндекса.

🌟После успешной модерации нажмите кнопку «Опубликовать» - игра станет доступна в каталоге Яндекс Игр.

Основные требования к игре для публикации

Технические требования
🌟Игра должна корректно работать на заявленных устройствах (мобильные и/или десктопные).

🌟Встроенный SDK Яндекс Игр обязателен для авторизации, рекламы и платежей.

🌟Авторизация через Яндекс ID должна происходить по явному действию пользователя (например, нажатию кнопки).

🌟Должна быть возможность гостевого входа или игры без авторизации с сохранением прогресса.

🌟При сворачивании игры звук должен автоматически отключаться.

🌟Игра должна поддерживать полноэкранный режим на мобильных устройствах.

🌟Клавиатура должна автоматически появляться при вводе данных.

Требования к пользовательскому опыту
🌟Игра должна быть качественной, удобной и соответствовать жанру.

🌟Обязательно полное описание управления.

🌟Наличие игровых механик и сохранения прогресса или рекордов.

🌟Возрастной рейтинг должен соответствовать содержанию.

🌟Игра должна иметь нарастающую сложность и понятный сюжет или сеттинг.

🌟Продолжительность основного игрового процесса - не менее 10 минут.

🌟Локализация минимум на один язык (рекомендуется русский или английский).

🌟Автоматическое определение языка через SDK приветствуется.

Юридические и организационные требования

🌟Наличие действующей учётной записи разработчика в консоли Яндекс Игр.

🌟Игра и материалы должны быть предоставлены в требуемом формате.

🌟Игры могут оцениваться пользователями и Яндексом, что влияет на рейтинг и видимость.

Итог - чтобы опубликовать игру на Unity в Яндекс Играх, нужно:

Подключить и использовать SDK Яндекс Игр в проекте Unity.

Собрать WebGL-билд.

Зарегистрироваться и создать черновик игры в консоли Яндекс Игр.

Загрузить билд, заполнить данные и локализации.

Отправить игру на модерацию и опубликовать после одобрения.

Соблюдать технические и пользовательские требования платформы.

Полезные материалы и ссылки

Официальные требования к играм на Яндекс Играх:
https://yandex.ru/dev/games/doc/ru/concepts/requirements

Публикуйте свои игры, развивайтесь и делитесь ссылками на свои игры в комментариях ⬇️

#Unity #GameDev
👍3🔥32🤔2
Всем привет, это Terry, она будет тут тусоваться и приглядывать за каналом 😉
5🔥2🥰2👏2
🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
🎨 Blender: от скромного старта до мирового признания!

Знаете ли вы, что один из самых популярных инструментов для 3D-моделирования и анимации - Blender - когда-то чуть не исчез навсегда? 🤯

История Blender началась в 1994 году в Нидерландах. Его придумал Тон Розендаль, чтобы помочь своей студии NeoGeo создавать крутые 3D-анимации. Сначала это был внутренний проект, но уже в 1998 году Blender стал доступен для всех!

Однако в 2002 году компания-разработчик обанкротилась, и проект оказался под угрозой закрытия. Тогда Тон и команда запустили уникальную краудфандинговую кампанию: сообщество собрало $100 000, чтобы выкупить права на программу и сделать её полностью бесплатной и открытой! С тех пор Blender развивается благодаря энтузиастам со всего мира.

Интересные факты о Blender:

Blender используют для создания фильмов, игр, рекламы и даже научных проектов. Например, короткометражка "Big Buck Bunny" полностью сделана в Blender!

Программа поддерживает не только моделирование, но и скульптинг, анимацию, симуляцию жидкостей, монтаж видео и многое другое.

Blender - один из немногих профессиональных 3D-редакторов, который абсолютно бесплатен и доступен для всех платформ (Windows, Mac, Linux).

В 2020 году Blender Foundation получила гранты от таких гигантов, как Epic Games, NVIDIA и Ubisoft - это признание на высшем уровне!

Символ Blender - это стилизованный глаз и кисть художника, объединённые в один логотип.

Blender - отличный выбор для тех, кто хочет начать путь в 3D, не тратя ни копейки! 🚀

А вы уже пробовали создавать что-то в Blender? Делитесь своими работами и вопросами в комментариях! 👇

#Blender3D
👍52🔥2👨‍💻2
🐢💻 Как учиться программированию быстро и без скуки: советы от Терри

Не ищи миллион видео на YouTube - выбери один хороший курс и двигайся по плану!

Не стесняйся спрашивать, даже если кажется, что вопрос глупый (Терри всегда спрашивает, и ничего, живёт!).

Делай маленькие задания каждый день - даже если по 10 минут, ты уже на шаг ближе к своей первой программе.

Используй материалы от преподавателей и не трать время на поиски "секретных гайдов" на форумах.

Не сдавайся при первой ошибке - баги бывают у всех, даже у Терри!

А как ты экономишь время на обучении? Делись в комментариях! 👇
👍52😎2🔥1
🎉 Всемирный день общения! 🎉

Сегодня особенный праздник - Всемирный день общения!
Терри поздравляет всех подписчиков и напоминает:
Общение - это не только про слова, но и про поддержку, дружбу и новые идеи.

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

Пусть в этот день у тебя будет повод написать другу, познакомиться с кем-то новым или просто улыбнуться в чате 😊

Пусть каждый день будет наполнен интересным общением и новыми открытиями! 🥰
🥰5❤‍🔥3🎉2👍1
Встречайте Тима - одноклассника Терри!

Сегодня на нашем канале новость: у Терри появился новый друг Тим!
Тим - весёлый черепашонок в синих наушниках. Он любит разгадывать сложные задачки, не боится новых программ и всегда готов поддержать друзей.

Теперь Терри и Тим будут вместе учиться, делиться советами, спорить о том, что круче - Unity или Roblox, и, конечно, помогать тебе разбираться в программировании! 🌟
👍5🔥4🎉2👌1👾1
🎬 Как сделать анимацию персонажа в Roblox Studio?

Хотите, чтобы ваш персонаж в Roblox не просто стоял, а оживал, махал рукой или танцевал? Всё реально! В Roblox Studio есть удобный Animation Editor, который позволяет создавать собственные анимации для NPC и игровых героев.

Что нужно сделать:

Откройте Roblox Studio и добавьте персонажа (например, через AVATAR → Build Rig).

Откройте вкладку AVATAR → Animation Editor и выберите своего персонажа.

Придумайте и создайте анимацию: двигайте части тела на временной шкале, добавляйте ключевые кадры.

Сохраните анимацию и получите её ID.

Примените анимацию к персонажу с помощью Lua-скрипта.

Вот пример простого скрипта для NPC (script вложите в модель NPC):

 animation = Instance.new("Animation")
animation.AnimationId = "rbxassetid://ВАШ_ID_АНИМАЦИИ"
local humanoid = script.Parent:FindFirstChildOfClass("Humanoid")
local animTrack = humanoid:LoadAnimation(animation)
animTrack:Play()

💡 Полезные видео по теме:

Как сделать анимацию для NPC в Roblox Studio (YouTube)

Как сделать анимацию для NPC в Roblox Studio (Rutube)

Попробуйте создать свою первую анимацию - это не так сложно, как кажется! Делитесь своими результатами и вопросами в комментариях 👇

#Roblox #GameDev #Обучение
👍4🔥3👌1👨‍💻1
С Днём победы! Давайте беречь наш хрупкий мир.
6👍2🎉2🔥1
🎮 Разбор игрового момента: смена иконки у NPC-квестодателя в Roblox

В нашей игре игрок берёт квест у NPC. После этого над головой NPC иконка со знаком вопроса меняется на другую - чтобы было видно, что квест уже взят. Вот как это реализовано на Lua в Roblox Studio!

🔹 Скрипт для StarterPlayerScripts (клиентский localScript)
lua
local npcHead = workspace.Sylvia:WaitForChild("Head") -- Находим голову NPC по имени "Head" в модели Sylvia
local billboardGui = npcHead:FindFirstChild("BillboardGui") -- Ищем BillboardGui над головой NPC
local imageLabel = billboardGui and billboardGui:FindFirstChild("ImageLabel") -- Находим ImageLabel с иконкой (если BillboardGui существует)
local remote = npcHead:FindFirstChild("QuestStatusEvent") -- Ищем RemoteEvent для получения сигнала от сервера

local QUEST_TAKEN_IMAGE = "rbxassetid://000000" -- ID картинки, которая появится после взятия квеста

if remote and imageLabel then
remote.OnClientEvent:Connect(function(questTaken) -- Подписываемся на событие от сервера
if questTaken then
imageLabel.Image = QUEST_TAKEN_IMAGE -- Меняем иконку на новую, если квест взят
end
end)
end

🔹 Скрипт для ServerScriptService (серверный)
lua
local npcHead = workspace.Sylvia:WaitForChild("Head") -- Находим голову NPC по имени "Head" в модели Sylvia
local proximityPrompt = npcHead:FindFirstChild("ProximityPrompt") -- Ищем ProximityPrompt (кнопка взаимодействия)
local remote = Instance.new("RemoteEvent", npcHead) -- Создаём RemoteEvent для связи с клиентом
remote.Name = "QuestStatusEvent" -- Даём событию имя

proximityPrompt.Triggered:Connect(function(player) -- Когда игрок активирует ProximityPrompt
remote:FireClient(player, true) -- Отправляем игроку сигнал: квест взят (true)
end)

📝 Что происходит в игре?

Игрок подходит к NPC и видит значок вопроса над головой персонажа.

Нажимает на ProximityPrompt (например, кнопку "Взять квест").

Сервер отправляет сигнал только этому игроку, что квест взят.

У игрока меняется картинка над головой NPC - теперь видно, что квест уже взят именно этим игроком!

💡 Почему это важно?
Такой подход позволяет каждому игроку видеть свой статус квеста, не мешая другим. Это удобно для индивидуальных заданий и делает игру более интерактивной!

Посмотреть как это было реализовано в игре можно в видео на моих каналах:

Ссылка на видео: YouTube
Ссылка на видео: RUTUBE

Если хотите больше разборов игровых механик или есть вопросы по скриптам - пишите в комментариях! 👇
Терри и Тим всегда на связи 🐢🎧

#Roblox #Lua #GameDev
👍3🔥2🤔1👌1
💻 Что делать, если программа зависла? Советы от Тима. 🐢

Наверняка у каждого бывало: запускаешь программу, а она вдруг перестаёт отвечать, не закрывается и мешает работать дальше. Что делать в такой ситуации? 😱

❗️ Главное - не паниковать!
Компьютер - это просто инструмент, и даже если что-то пошло не так, почти всегда есть способ всё исправить.

🔝 Сочетание клавиш Ctrl+Alt+Delete
Это одно из самых полезных сочетаний для пользователей Windows.
Нажмите одновременно клавиши Ctrl, Alt и Delete - появится специальное меню.

Здесь можно выбрать "Диспетчер задач" (Task Manager).
В Диспетчере задач вы увидите список всех запущенных программ и процессов.

Как закрыть зависшую программу?

Откройте Диспетчер задач (через Ctrl+Alt+Delete или Ctrl+Shift+Esc).

Найдите в списке зависшую программу - обычно она помечена как "Не отвечает".

Кликните по ней и нажмите "Снять задачу" ("End Task").

Программа закроется, и вы сможете продолжить работу.

❗️Внимание: несохранённые данные могут быть утеряны, поэтому сохраняйте работу почаще!

⚡️ Полезные советы:

Если зависла вся система, иногда помогает перезагрузка через это же меню.

Не запускайте слишком много тяжёлых программ одновременно - это может привести к "подвисанию".

Если проблема повторяется часто - возможно, стоит проверить компьютер на вирусы или обновить систему.

Компьютер - твой друг, а не враг!
Знай простые приёмы, и никакие "зависания" не испортят тебе настроение.
А какие ещё сочетания горячих клавиш ты знаешь? Делись в комментариях! 👇

#КомпьютернаяГрамотность #Обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1👌1👨‍💻1
Добро пожаловать в канал “IT Step by step”!
Здесь просто и интересно учу детей и подростков создавать игры, сайты и 3D-модели с нуля - от Scratch до Python, Roblox и Unity.

📌 Подробнее обо мне - [ссылка на пост]
📚 Навигация по темам - [ссылка на пост]
💰 Прайс и условия - [ссылка на пост]
🎬Полезные для обучения материалы [ссылка на пост]

🎬 YouTube: https://www.youtube.com/@itstepbystep
🎬 RUTUBE: https://rutube.ru/channel/36896553/

Есть вопросы? Пиши в личные сообщения или комментарии! 👇
Начни своё IT-путешествие вместе с Терри и Тимом 🚀
🔥32👍1👌1
🐍 Разбор кода на Python: список животных с описанием

Сегодня создадим список из 5 животных, где для каждого укажем:

вид,
тип питания,
ареал обитания,
образ жизни (стадное/одиночка).

Это отличный пример для тех, кто хочет научиться работать со словарями и списками в Python!

# Создаём список животных, где каждый элемент - это словарь с описанием животного
animals = [
{
"вид": "лев",
"тип питания": "хищник",
"ареал обитания": "Африка, саванна",
"образ жизни": "стадное (прайд)"
},
{
"вид": "джейран",
"тип питания": "травоядное",
"ареал обитания": "степи и пустыни Азии",
"образ жизни": "стадное"
},
{
"вид": "медведь",
"тип питания": "всеядное",
"ареал обитания": "лес, тайга, горы",
"образ жизни": "одиночка"
},
{
"вид": "дельфин",
"тип питания": "хищник",
"ареал обитания": "океаны, моря",
"образ жизни": "стадное (стая)"
},
{
"вид": "еж",
"тип питания": "насекомоядное",
"ареал обитания": "леса, луга, парки",
"образ жизни": "одиночка"
}
]

# Выводим информацию о каждом животном
for animal in animals:
print(f"Вид: {animal['вид']}")
print(f"Тип питания: {animal['тип питания']}")
print(f"Ареал обитания: {animal['ареал обитания']}")
print(f"Образ жизни: {animal['образ жизни']}")
print("-" * 30)


Что здесь происходит?

Мы создаём список animals, где каждый элемент - это словарь с характеристиками животного.

С помощью цикла for перебираем всех животных и красиво выводим информацию о каждом.

Результат работы кода:

Вид: лев
Тип питания: хищник
Ареал обитания: Африка, саванна
Образ жизни: стадное (прайд)
------------------------------
Вид: джейран
Тип питания: травоядное
Ареал обитания: степи и пустыни Азии
Образ жизни: стадное
------------------------------
Вид: медведь
Тип питания: всеядное
Ареал обитания: лес, тайга, горы
Образ жизни: одиночка
------------------------------
Вид: дельфин
Тип питания: хищник
Ареал обитания: океаны, моря
Образ жизни: стадное (стая)
------------------------------
Вид: еж
Тип питания: насекомоядное
Ареал обитания: леса, луга, парки
Образ жизни: одиночка
------------------------------


Попробуй добавить своё любимое животное или придумать новые поля!

Если хочешь больше разборов кода или есть вопросы по Python - пиши в комментариях! 👇🐢

#Python #Курсы
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1🤓1