Отображение имени объекта в Unity 5

Отображение имени объекта на экране в Unity 5

В этой статье я покажу вам один из вариантов реализации такой полезной штуки, как отображение имени объекта при наведении на него курсора или прицела.

Запустите игровой движок Unity 5 и создайте простую сцену и удалите со сцены Main Camera. Добавьте объект Plane и на нем разместите еще три объекта: Cube, Sphere и FPSController.

Размещение объектов

FPSController будет служить нам персонажем, которым мы будем управлять. Найти его можно в стандартной папке вашего проекта  Assets/ Standart Assets/ Characters/ FirstPersonCharacters/ Prefabs.

Создайте два С# скрипта и назовите их, к примеру, GUIName и Name.

Откройте скрипт GUIName и вставьте туда код который расположен ниже.

using UnityEngine;
using System.Collections;

public class GUIName : MonoBehaviour {
public Transform cam1; // Камера
RaycastHit rch1;// луч который будет выходить из камеры
public bool _showName; // переменная
void Update () {

 Vector3 Direction = cam1.TransformDirection(Vector3.forward); //
 if (Physics.Raycast(cam1.position, Direction, out rch1, 3)) //заставляет бить из нашей камеры луч на дистанцию равную 3
  {
   if (rch1.collider.GetComponent<Name>()) // и если этот луч встретился с коллайдером объекта на котором есть скрипт Name,
    {
      _showName = true; // то переменная становится равна true.
    }
  }
}
public void OnGUI()
  {
    if (_showName) // если переменная становится равна true
     {
      GUI.Label(new Rect((Screen.width) / 2, (Screen.height) / 2, 125, 25), " " + rch1.collider.GetComponent<Name>().nameGui); // то отображаем на экране персонажа, в указанном месте, значение nameGUI, которое берем из скрипта Name.
      }
   }
}
Затем откройте скрипт Name и добавте всего одну строчку
using UnityEngine;
using System.Collections;

public class Name : MonoBehaviour {

public string nameGui;

}
Перетащите скрипт GUIName на нашего персонажа и укажите в параметре Cam1 его камеру. скрипт GUIName На куб и сферу поместите скрипт Name и в поле nameGui напишите произвольные имена. Скрипт Name Запустите Игру и подойдите к любому из объектов, на экране должно отобразится то что вы написали в nameGUI. Пример Предыдущий урок Следующий урок
Похожие статьи
Unity 2d Как создать кликер
1 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 5

733 просмотров всего, 1 просмотров сегодня

0
#Unity 5#2D
Подробнее
Как заставить персонажа двигаться в Unity 2d
1 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 5

1,681 просмотров всего, 1 просмотров сегодня

0
#Unity 5#2D
Подробнее
2d анимация в unity
2 оценки, среднее: 4,50 из 52 оценки, среднее: 4,50 из 52 оценки, среднее: 4,50 из 52 оценки, среднее: 4,50 из 52 оценки, среднее: 4,50 из 5

713 просмотров всего, 2 просмотров сегодня

0
#Unity 5#2D
Подробнее
Как добавить видео в Unity 5
1 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 51 оценка, среднее: 5,00 из 5

2,253 просмотров всего, 2 просмотров сегодня

0
#Unity 5
Подробнее
Добавить комментарий
Оцените статью
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Загрузка...

Ваш e-mail не будет опубликован.