Воскресенье, 24 Ноября 2024, 13:10

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Проверка смотрит ли игрок на объект. [РЕШЕНО]
GamakSTДата: Воскресенье, 23 Февраля 2014, 23:17 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Здравствуйте, делю игру FPS игру на Unity, и возникла небольшая проблема.
Есть игрок, камера и куб.
Нужно реализовать следующее:
Если игрок смотрит на куб, то на экране появляется изображение на котором написано "Нажмите A"
Если игрок нажимает клавишу А (игра заточена под джойстик), то появляется на экране другое изображение.
При нажатии клавиши B показанное изображение убирается.

Как это сделать, никак не могу понять.
Буду рад если поможете.
С меня "+". smile


Unity3d - Blender

Сообщение отредактировал GamakST - Понедельник, 24 Февраля 2014, 21:28
seamanДата: Воскресенье, 23 Февраля 2014, 23:59 | Сообщение # 2
старожил
Сейчас нет на сайте
используем Raycast
lentinantДата: Понедельник, 24 Февраля 2014, 05:04 | Сообщение # 3
ленивый программист
Сейчас нет на сайте
Можно еще так. Вектор от объекта к игроку, берем угол к transform.forward и сравниваем его с определенным пограничным значением. Еще можно поместить перед игроком коллайдер, и соответственные действия делать, когда этот коллайдер будет соприкасаться с объектами. Заодно проверка на расстояние.

Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Понедельник, 24 Февраля 2014, 05:05
PoqXertДата: Понедельник, 24 Февраля 2014, 09:34 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
OnBecameVisible
OnBecameInvisible


Расширения для Unity3D
Блог программиста - PoqXert.ru


Сообщение отредактировал PoqXert - Понедельник, 24 Февраля 2014, 09:35
true_abrakadabraДата: Понедельник, 24 Февраля 2014, 10:10 | Сообщение # 5
Unity3d - ван лав
Сейчас нет на сайте
PoqXert, мне кажется, что здесь будет удобнее Renderer.isVisible

Ниндзя
GamakSTДата: Понедельник, 24 Февраля 2014, 15:32 | Сообщение # 6
почетный гость
Сейчас нет на сайте
true_abrakadabra, Попробовал, но думаю что, что-то сделал не так.

Код
    var textureToDisplay : Texture2D;
var PaperRead1 = 0;

if (renderer.isVisible){
   if (Input.GetKeyDown("e")){
    PaperRead1 = 1;
   }
}
    
function OnGUI() {
   if (PaperRead1 == 1){
   GUI.Label (Rect (10, 40, textureToDisplay.width, textureToDisplay.height), textureToDisplay);
   }
}


Unity3d - Blender
seamanДата: Понедельник, 24 Февраля 2014, 16:46 | Сообщение # 7
старожил
Сейчас нет на сайте
НУ...
Вам для начала нужно узнать что такое функция.
GamakSTДата: Понедельник, 24 Февраля 2014, 21:27 | Сообщение # 8
почетный гость
Сейчас нет на сайте
Все проблема решена.

Unity3d - Blender
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг