Как сделать слендера в юнити

Обновлено: 04.07.2024

// элемент инвентаря
public class InventoryItem : MonoBehaviour
<
// название вещи
public string itemName;
// текстура для инвентаря
public Texture2D inventoryTexture;
// префаб для сброса вещи
public GameObject prefabToDrop;
// префаб для одевания
public GameObject prefabToEquip;
>

// объект сцены, который можно подобрать
public class SceneItem : MonoBehaviour
<
// префаб для инвентаря
public InventoryItem prefab;

// если кто-то вошел в триггер, то просим его поднять вещь
public void OnTriggerEnter(Collider other)
<
other.gameObject.SendMessage("Equip", this);
>

using System.Collections.Generic;
using UnityEngine;

// инвентарь
public class Inventory : MonoBehaviour
<
// вещи инвентаря
public List items = new List();
// надетые вещи
public List equipped = new List();
// отображать ли инвентарь
public bool showInventory;

// вспомогательные переменные
private Vector2 _inventoryScroll;
private InventoryItem _itemToDrop = null;
private InventoryItem _itemToEquip = null;

public void Update()
<
// если нужно выбросить вещь
if(_itemToDrop!=null)
<
// удаляем вещь из инвентаря
items.Remove(_itemToDrop);
// создаем в сцене эту вещь на месте, где стоит игрок
Instantiate(_itemToDrop.prefabToDrop, transform.position, transform.rotation);
_itemToDrop = null;
>

// если нужно одеть
if (_itemToEquip != null)
<
// удаляем вещь из инвентаря
items.Remove(_itemToEquip);
// добавляем ее к одетым вещам
equipped.Add(_itemToEquip);
// создаем у игрока эту вещь
GameObject itemGameObject= (GameObject)Instantiate(_itemToEquip.prefabToEquip);
// так как игрок одел вещь, то она является его чайлдом
itemGameObject.transform.parent = transform;
_itemToEquip = null;
>
>

// отображение инвентаря
public void OnGUI()
<
if (showInventory)
<
if(GUI.Button(new Rect(10, 10, 150, 25), "Hide Inventory"))
<
showInventory = !showInventory;
>

GUILayout.BeginArea(new Rect(Screen.width-200, 10, 190, Screen.height-20), GUI.skin.box);
<
_inventoryScroll = GUILayout.BeginScrollView(_inventoryScroll, GUILayout.ExpandHeight(true),GUILayout.ExpandWidth(true));

// рисуем каждую вещь инвентаря
foreach (InventoryItem item in items)
<
GUILayout.BeginVertical(GUI.skin.box);
GUILayout.Label(item.itemName); // Название
GUILayout.BeginHorizontal();
GUILayout.Label(item.inventoryTexture); // Иконка
GUILayout.BeginVertical();
if (GUILayout.Button("Equip")) // Кнопка "надеть"
<
_itemToEquip = item;
>
if (GUILayout.Button("Drop")) // Кнопка "бросить"
<
_itemToDrop = item;
>
GUILayout.EndVertical();
GUILayout.EndHorizontal();
GUILayout.EndVertical();
>

else
<
if (GUI.Button(new Rect(10, 10, 150, 25), "Show Inventory"))
<
showInventory = !showInventory;
>
>
>

// подбор вещи
public void Equip(object item)
<
SceneItem sceneItem = (SceneItem) item;

if (sceneItem!= null)
<
// добавляем вещь в инвентарь
items.Add(sceneItem.prefab);
// уничтожаем объект сцены
Destroy(sceneItem.gameObject);
>

Итак: Первый скрипт представляет собой описание элемента инвентаря. Второй – описание объекта сцены, на котором должен быть коллайдер в режиме триггера, при входе физического объекта в триггер – объект сцены говорит ему “возьми меня”. Третий скрипт представляет собой сам инвентарь и GUI для его отображения.

Каждый элемент инвентаря должен состоять из трех префабов : 1) префаб объекта, выбрасываемого в сцену; 2) префаб одеваемого объекта; 3) префаб, описывающий объект инвентаря, он в сцене не появляется, а используется по ссылке для создания двух других префабов.


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

Вопрос:
- А будет ли обучающий ролик, как правильно создать, анимировать и заскриптовать персонажа для экшена\шутера от 3-го лица.

Спасибо! очень помог !

void OnTriggerEnter(Collider collider) if (collider.CompareTag ("Player") && GameSettings.curCount

Хороший урок, молодец! Кстати когда будет урок по созданию врага?

А нельзя так сделать на модель, а не на куб. В модели нету галки триггер.

Каму надо чтобы прибавлялось например не +1 куб а +10 надо дописать Money.Sbor+=10; Заместо ++

Жми add component и добавляй Collider

В момент исчезновения объекта создавай пустышку на которой висит компонент audiosorce с нужным звуком. (Play on awake в компоненте должен быть включен)

спасибо,но не помешало бы добавить что то типа при сборе всех объектов выходила надпись какая либо)или конец игры

Поставь галочку loop если хочешь что бы звук повторялся.

Поставь галочку loop если хочешь что бы звук повторялся.

Это в скрипте с помощью instantiate создаешь пустышку с аудиосорсом которую зараннее сохранил в префабе.

сделал так как ты ска3ал прохожу скво3ь куб а он не берется (тригер есть )

а как сделать чобы после сбора каждого предмета проигрывалась какой то звук

Я доделал Скрипт!, теперь еслив мы соберём все 10 предметов то загружается 3 уровень кому надо я сниму УРОК писать в ЛС!

скинь скрипт пж

мне надо твой скрипт пожалуста

По 2d не думал начать писать уроки?

Это как "В момент исчезновения объекта создавай пустышку" это после того как подбираю первый объект ставлю на паузу создаю game object вешаю на него audiosource с нужным звуком и запускаю игру снова и всё будет работать ?

выложи простой урок как сделать так чтобы обьект исчезал когда входишь в тригер мне надо для игры плиз

void OnTriggerEnter()
Destroy(gameObject);
>
Если уж по уроку не понятно как это реализовать то тебе не стоит этим заниматься.

Еще один скрипт управления персонажем, заточенный под 2D физику. В отличии от прочих, здесь имеются некоторые настройки. Возможен выбор осей. Например, если выбрать только ось Х, в этом случаи включается режим как для платформера, персонаж может двигаться по горизонтали и использовать прыжок. Если выбрать оси ХY, тогда скрипт переходит в режим как для скроллера, проще говоря, подходит для управления неким самолетом или вроде того, объект может двигаться не только по горизонтали, но и по вертикали, а та-же самая клавиша, что и в первом варианте, на этот раз выполняет роль ускорителя, то есть добавляет скорости. Кроме того, есть опция отслеживания позиции курсора, чтобы персонаж смотрел на него.

speed - скорость движения, как не странно.

addForce - если выбран режим Оnly X, будет использовано для прыжка, при нажатии соответствующий клавиши. Во втором режиме, значение addForce будет прибавлено к speed, тем самым придавая ускорение.

lookAtCursor - отслеживание позиции курсора, персонаж будет вращаться по оси Z. Важно помнить, что лицом считается ось Х.

isFacingRight - если на старте сцены персонаж смотрит вправо, то надо ставить true.

При движении только по горизонтали, разворот персонажа осуществляется через функцию Flip. Так же, чтобы прыжок был возможен, все объекты по которым возможно передвижение, как бы земля/поверхность, у всех них должен быть тег Ground.

Unity — это среда, которая позволит детям почувствовать себя настоящими разработчиками игр! На движке Unity 3D ребята могут создавать анимацию, запрограммировать игровую сцену и полноценные игры. А также познакомиться с языком программирования "Си шарп", на котором в Unity пишутся скрипты.

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

Как скачать Unity 3D на ПК

Для начала скачаем и установим программу на компьютер.

Урок 1. Как сделать анимации в Unity 3D

Начинаем уроки по Юнити. Первый шаг — анимирование персонажа. Мы добавим нашего дракона на сцену, изменим его размеры, научим его двигаться и бегать с заданной скоростью. Напишем наш первый скрипт.

Урок 2. Как сделать телепорт в Unity 3D

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

Урок 3. Как сделать спавн объектов в Unity 3D

Мы изучим 2 способа создания спавна объектов: на канвасе (canvas) и в пределах камеры. А еще узнаем, как создавать префабы.

Урок 4. Триггеры в Unity 3D | Столкновение персонажей

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

Урок 5. Как создать таймер в Unity 3D

Таймер нужен для почти любой игры, мы научимся создавать его с помощью корутины (Coroutine) и команды InvokeRepeating.

Урок 6. Перемещение объекта мышью в Unity 3D

Функция Mouse Drag или, по-другому, метод перетаскивания нужен для того, чтобы перетаскивать объекты в игре. Например, как мы показываем в видео, чтобы перемещать еду на персонажа и кормить его.

Урок 7. Как сделать полосу здоровья персонажа в Unity 3D

Health Bar или полоса здоровья тоже неотъемлемая часть любой игры. Мы научимся ее программировать, так чтобы полоса плавно увеличивалась и уменьшалась.

Урок 8. Как сохранить игру в Unity 3D

Если мы хотим сохранять очки или уровни в нашей игре, то нужно воспользоваться методом PlayerPrefs.

Урок 9. Создаем игру "Раннер" в Unity за 30 минут

Урок 10. Как экспортировать игру из Unity на ПК или Android (как настроить для Play Market)

В этом видео расскажем, как собрать игру под ПК или под Android: в каком порядке собрать сцены, какие им дать номера, а еще какие настройки нужны, чтобы загрузить игру Play Market.

Урок 11. Как загрузить игру в Play Market

Мы собираем игру и заполняем все настройки для Play Market. Теперь другие пользователи смогут сыграть в вашу игру, а вы будете на этом зарабатывать.

Урок 12. Как сделать прыжок в Unity 3D

В этом уроке мы разберем, как сделать прыжок персонажа в 2D- и в 3D-проекте. Для этого мы создадим две сцены, напишем скрипты на языке Си Шарп.

Урок 13. Как управлять персонажем в Unity 3D

Давайте научим нашего персонажа двигаться. Для этого мы зададим переменные типа float, они будут отвечать за скорость, поворот и перемещение по горизонтали и по вертикали. И, конечно, напишем скрипты для 2D- и 3D-версии игры.

Урок 14. LineRenderer в Unity 2D

LineRenderer позволяет упростить рисование линий. В этом видео мы напишем два скрипта: Line Point позволит проводить прямую линию между любыми двумя точками, а с помощью Draw Line мы сможем рисовать неотрывную линию.

Урок 15. Как сделать автосимулятор в Unity 3D | Как сделать гонки в Unity 3D

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

Наши плейлисты регулярно пополняются, подписывайтесь на наш YouTube-канал , чтобы следить за выходом новых видео и открывать для себя мир IT-технологий!

Если же вам нужен наставник, загляните в Школу программирования для детей “Пиксель”: запишитесь на полный курс по разработке игр на движке Unity 3D .

Читайте также: