Четверг, 28 Марта 2024, 11:56

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Рейкаст от объекта к объекту
Рейкаст от объекта к объекту
Valik_FenkoДата: Понедельник, 27 Июня 2016, 20:26 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Вроде проще быть не может,но что-то у меня не выходит...Нужно провести рейкаст от врага до игрока и если на пути ниче нету то нападаем(ну пока так).Но чет ниче не вышло =(.
Как это сделать?Запустить рейкаст от позиции врага(каждого),до позиции игрока?

Код
if(Physics.Linecast(transform.position,player.transform.position,out hit))
{
if(hit.collider.tag == "Player")
{
IsAgro = true;
}
}

Этот код не работает =(

Луч пускает под ноги вражине...как так то?

Решено!Есть новая проблема!Как мне найти прародителя этого обьекта?.Скажем этот обьект глаза варага а двигать мне надо его самого,нид пройтись по иерархии и найти обьект без родителя..

Пробовал так
Код
Transform pParent;
for(int i = 0;i<10;i++)
    {
     if(pParent.transform.parent!=null) pParent = pParent.transform.parent;
    }


Че он ругается когда я пишу Transform pParent = transform;


Сообщение отредактировал Valik_Fenko - Понедельник, 27 Июня 2016, 20:59
LertmindДата: Понедельник, 27 Июня 2016, 22:22 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Valik_Fenko, Transform.root - самый верхний в иерархии transform. Если нет родителей, то вернёт себя.

Добавлено (27 июня 2016, 22:22)
---------------------------------------------
Кстати, твой код работает и на Transform pParent = transform; никто не ругается, но такой костыль лучше было так написать:

Код
using UnityEngine;
public class RootTransform : MonoBehaviour
{
    void Start()
    {
        Transform parent = transform;
        while (parent.transform.parent != null)
            parent = parent.transform.parent;
        print(parent.name);
    }
}


Сообщение отредактировал Lertmind - Понедельник, 27 Июня 2016, 21:05
Valik_FenkoДата: Среда, 29 Июня 2016, 17:55 | Сообщение # 3
почетный гость
Сейчас нет на сайте
ясн,просто навмешем хотел сделать,но он неадекватно прокладывает путь по зданию =(.Его можно как-то настроить?
Как бы я по зданию хожу просто отлично,а навмеш не может проложить путь

Добавлено (28 июня 2016, 12:25)
---------------------------------------------
как можно искать путь по девятиэтажному зданию?(Скажем вражина ме5ня увидила через окно и должна начать спускаться по лестнице =)

Добавлено (29 июня 2016, 17:55)
---------------------------------------------
Проблему помогите решить то...
Есть во вкладке Bake параметры Heagth и Step Height
Че они делают ваще?.Как я понял первое это высота юнитов,а второе это на какой высоте они двигаются.
Но если я второе ввожу 0 ,то путь не работает почему-то,а если ввожу > 0 то остается огромный зазор над землей.Мб я чет 7е правильно понял?Как мне сделать просчет пути для нпс высотой 1.8 и чтоб он шел по земле,а не летал?

LevДата: Вторник, 27 Июня 2023, 16:58 | Сообщение # 4
был не раз
Сейчас нет на сайте
Ребята объясните что такое "рейкаст"?
mihailshДата: Среда, 16 Августа 2023, 00:50 | Сообщение # 5
был не раз
Сейчас нет на сайте
Цитата Lev ()
Ребята объясните что такое "рейкаст"?


Это типа луча. Его можно испускать в определенном направлении. Имеется целый набор возможных действий с ним. Например для стрельбы нахощится ближайший обьект в которого попал пистолет. Или массив объектов в который попал, в таком случае насквозь. Еще можно использовать для клика по объектам в таком случае луч идёт перпендикулярно плоскости камеры. Gui тоже использует эту тему но посвоему, у gui с image элементом есть raycast target. Если стоит галочка то оно ловит клик, а всё что за ним уже не поймает.
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Рейкаст от объекта к объекту
  • Страница 1 из 1
  • 1
Поиск:

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