Вобщем задачка стоит такая: Надо сделать чтобы при наведении прицела на противника, кросшаир изменял свой цвет. То есть рейкастом определять конкретный обьект. Как работать с текстурами кросшайра я разобрался, а вот с рейкастом пока споткнулся, не хочет работать... Есть варианты?
Добавлено позже: Все, разобрался, вопрос снят. Получился такой код:
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;
Первый скрипт сохранен в классе CamOtd? Вроде так, но ты не указал и я решил переспросить. А так спасибо за подсказку в решении проблемы, я при привязке боевки заюзаю этот скрипт. Фанат игр Max Payne и Fahrenheit.
Я создал новый скрипт CamOtd и прикрепил его к камере FPC, там прописан код отдачи оружия, там же зоом. Ну а потом туда же и еще прибамбасы с рейкастом добавил, так удобнее было. X.cor.R (Prologue)