Raycast. - Форум Игроделов
Пт, 17 Май 2024, 09:43 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Raycast. ([JS] обсуждение, вопросы, проблемы)
Raycast.
ЛевшаДата: Сб, 02 Янв 2010, 22:21 | Сообщение # 1
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Вобщем задачка стоит такая:
Надо сделать чтобы при наведении прицела на противника, кросшаир изменял свой цвет.
То есть рейкастом определять конкретный обьект.
Как работать с текстурами кросшайра я разобрался, а вот с рейкастом пока споткнулся, не хочет работать...
Есть варианты?

Добавлено позже:
Все, разобрался, вопрос снят.
Получился такой код:

Code

static var cross = 0;
var target : Transform;
function Update () {
        var direction = transform.TransformDirection(Vector3.forward);
     var hit : RaycastHit;     
if (Physics.Raycast (transform.position, direction, hit)) {
      if (hit.transform == target)
        cross = 1;
        else
        cross = 0; }
       }

Переменная cross статическая, и ее видно из других скриптов.
на нее завязываем условия и меняем цвет crosshair.
В target перетаскиваем противника.

Участок кода управляющий сменой текстуры мушки:

Code
var crosshairWait : Texture2D;
var crosshairRed : Texture2D;

function Update () {
      if (CamOtd.cross ==1)
     guiTexture.texture = crosshairRed;
   else    
     guiTexture.texture = crosshairWait;   
      
}


X.cor.R (Prologue)
 
СообщениеВобщем задачка стоит такая:
Надо сделать чтобы при наведении прицела на противника, кросшаир изменял свой цвет.
То есть рейкастом определять конкретный обьект.
Как работать с текстурами кросшайра я разобрался, а вот с рейкастом пока споткнулся, не хочет работать...
Есть варианты?

Добавлено позже:
Все, разобрался, вопрос снят.
Получился такой код:

Code

static var cross = 0;
var target : Transform;
function Update () {
        var direction = transform.TransformDirection(Vector3.forward);
     var hit : RaycastHit;     
if (Physics.Raycast (transform.position, direction, hit)) {
      if (hit.transform == target)
        cross = 1;
        else
        cross = 0; }
       }

Переменная cross статическая, и ее видно из других скриптов.
на нее завязываем условия и меняем цвет crosshair.
В target перетаскиваем противника.

Участок кода управляющий сменой текстуры мушки:

Code
var crosshairWait : Texture2D;
var crosshairRed : Texture2D;

function Update () {
      if (CamOtd.cross ==1)
     guiTexture.texture = crosshairRed;
   else    
     guiTexture.texture = crosshairWait;   
      
}

Автор - Левша
Дата добавления - 02 Янв 2010 в 22:21
СкептикДата: Вс, 03 Янв 2010, 12:10 | Сообщение # 2
Мыслитель
 
Сообщений: 5860
Награды: 48
Репутация: 1731
Статус: Offline
Первый скрипт сохранен в классе CamOtd?
Вроде так, но ты не указал и я решил переспросить.
А так спасибо за подсказку в решении проблемы, я при привязке боевки заюзаю этот скрипт.


Фанат игр Max Payne и Fahrenheit.
 
СообщениеПервый скрипт сохранен в классе CamOtd?
Вроде так, но ты не указал и я решил переспросить.
А так спасибо за подсказку в решении проблемы, я при привязке боевки заюзаю этот скрипт.

Автор - Скептик
Дата добавления - 03 Янв 2010 в 12:10
ЛевшаДата: Вс, 03 Янв 2010, 14:29 | Сообщение # 3
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Quote (-warr11r-)
Первый скрипт сохранен в классе CamOtd?

Я создал новый скрипт CamOtd и прикрепил его к камере FPC, там прописан код отдачи оружия, там же зоом.
Ну а потом туда же и еще прибамбасы с рейкастом добавил, так удобнее было.


X.cor.R (Prologue)
 
Сообщение
Quote (-warr11r-)
Первый скрипт сохранен в классе CamOtd?

Я создал новый скрипт CamOtd и прикрепил его к камере FPC, там прописан код отдачи оружия, там же зоом.
Ну а потом туда же и еще прибамбасы с рейкастом добавил, так удобнее было.

Автор - Левша
Дата добавления - 03 Янв 2010 в 14:29
СкептикДата: Пн, 04 Янв 2010, 07:43 | Сообщение # 4
Мыслитель
 
Сообщений: 5860
Награды: 48
Репутация: 1731
Статус: Offline
Ну да, на Джаве не нужно класс декларировать, там имя сохраненного скрипта и есть название класса.

Фанат игр Max Payne и Fahrenheit.
 
СообщениеНу да, на Джаве не нужно класс декларировать, там имя сохраненного скрипта и есть название класса.

Автор - Скептик
Дата добавления - 04 Янв 2010 в 07:43
Max-HunterДата: Вс, 05 Июн 2011, 16:54 | Сообщение # 5
Нет аватара
 
Сообщений: 151
Награды: 1
Репутация: 60
Статус: Offline
Я не понял dry Не правильно составил скрипт! Можете пожалйуйста,написать весь скрипт?
 
СообщениеЯ не понял dry Не правильно составил скрипт! Можете пожалйуйста,написать весь скрипт?

Автор - Max-Hunter
Дата добавления - 05 Июн 2011 в 16:54
ЛевшаДата: Пн, 06 Июн 2011, 13:48 | Сообщение # 6
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Ты напиши что тебе нужно.

X.cor.R (Prologue)
 
СообщениеТы напиши что тебе нужно.

Автор - Левша
Дата добавления - 06 Июн 2011 в 13:48
Max-HunterДата: Пн, 06 Июн 2011, 20:16 | Сообщение # 7
Нет аватара
 
Сообщений: 151
Награды: 1
Репутация: 60
Статус: Offline
Что бы,когда на врага прицел наводишь,прицел становился красным(другим цветом)
 
СообщениеЧто бы,когда на врага прицел наводишь,прицел становился красным(другим цветом)

Автор - Max-Hunter
Дата добавления - 06 Июн 2011 в 20:16
Форум Игроделов » UNITY3D » СКРИПТИНГ » Raycast. ([JS] обсуждение, вопросы, проблемы)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024