Четверг, 25 Апреля 2024, 18:56

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » Storm54 [456]
Результаты поиска
Storm54Дата: Воскресенье, 23 Марта 2014, 21:55 | Сообщение # 381 | Тема: генерация мира
постоянный участник
Сейчас нет на сайте
Генерируешь кусок мира и рисуешь в соответствии с алгоритмом.
Учти, что в юнити тебе не хватит точности float, чтобы уйти далеко от начала координат. Примерно на тысячных координатах уже начинаются дерганья анимации. Так что лучше всего двигать карту относительно персонажа.
Сделай сначала небольшой кусок с таким ландшафтом. Оптимизируй хорошенько, а там уже видно будет. Тебе придется вручную отсекать все невидимые полигоны, т.к. там их будет очень много. ~150к при ландшафте 64x64x150
Storm54Дата: Воскресенье, 23 Марта 2014, 21:40 | Сообщение # 382 | Тема: генерация мира
постоянный участник
Сейчас нет на сайте
Цитата
я никого не прошу написать за меня я прошу чтоб мне сказали куда капать


Ты шел в правильном направлении:
Цитата
вариант 1)написать генератор кубического мира по шуму перлина и сделать сглаживание Marching Cubes


Кстати, патент на алгоритм истек в 2005 году. Можешь спокойно использовать его.

Здесь обсуждался этот алгоритм
Начни поиски оттуда.


Сообщение отредактировал Storm54 - Воскресенье, 23 Марта 2014, 21:44
Storm54Дата: Воскресенье, 23 Марта 2014, 21:31 | Сообщение # 383 | Тема: генерация мира
постоянный участник
Сейчас нет на сайте
За тебя генератор никто писать не будет. Не умеешь - не берись. Начни с чего-нибудь более простого. Шутер например.
Storm54Дата: Воскресенье, 23 Марта 2014, 21:20 | Сообщение # 384 | Тема: генерация мира
постоянный участник
Сейчас нет на сайте
Вроде как там воксельный движок. Я мало работал с вокселями, так что более подробно сказать не смогу. Если ты думаешь, что это дело в пару строк или есть готовый скрипт - забудь.
В AssetStore есть в продаже процедурный генератор мира. Насколько я знаю, там есть разрушаемость(хотя я могу ошибаться)
Storm54Дата: Воскресенье, 23 Марта 2014, 21:16 | Сообщение # 385 | Тема: генерация мира
постоянный участник
Сейчас нет на сайте
Цитата
сглаживание Marching Cubes

Если нужно такое, то только Marching Cubes.
Флаг тебе в руки.
Storm54Дата: Воскресенье, 23 Марта 2014, 21:02 | Сообщение # 386 | Тема: генерация мира
постоянный участник
Сейчас нет на сайте
Генерируй мир из готовых кусков. Тогда разрушаемость сделать не проблема.
Но это геморрой. Делать кучу стыкующихся кусков. И это никому не нужно.

Так же я предполагаю то, что сделать разрушаемый ландшафт вообще очень затратно. Особенно, если использовать стандартный. Так как придется работать с мешем. В конечном итоге производительность уйдет в ноль. Но, как я сазал, даже, если такое и реализовать, то это никому не нужно.


Сообщение отредактировал Storm54 - Воскресенье, 23 Марта 2014, 21:08
Storm54Дата: Воскресенье, 23 Марта 2014, 10:26 | Сообщение # 387 | Тема: SkypeSpam & MailSpam
постоянный участник
Сейчас нет на сайте
Цитата
За сколько времени вы очищаете почту от 300 писем?

Пара секунд. Можно все однотипные письма удалять smile
Storm54Дата: Суббота, 22 Марта 2014, 16:08 | Сообщение # 388 | Тема: [2D]BigBreakfast - приключения у мире клубники!
постоянный участник
Сейчас нет на сайте
Очень хорошо. Продолжай.
Storm54Дата: Пятница, 21 Марта 2014, 22:59 | Сообщение # 389 | Тема: Расширения для Unity3D от Poq Xert
постоянный участник
Сейчас нет на сайте
Посмотрел KeyLibrary. Библиотека работает только с латинскими символами? При переключении раскладки на русский язык символы отображаться не стали.
Storm54Дата: Вторник, 18 Марта 2014, 20:27 | Сообщение # 390 | Тема: помогите перевести исходник под иррлихт... пожалуйста...
постоянный участник
Сейчас нет на сайте
DLL самого иррлихта в чем скомпилирована? Обычно идет 2 версии: GCC и Visual Studio. Если к exe, скомпилированному в GCC, поместить дллку студии, то программа вылетает. И наоборот.
Так же возможно, что косяк в коде. Например обращение к нулевому указателю и т.п. Если рассматривать екземплы, то все они требуют папки с ресурсами. Возможно, что она лежит не там, где нужно.


Сообщение отредактировал Storm54 - Вторник, 18 Марта 2014, 20:30
Storm54Дата: Вторник, 18 Марта 2014, 19:41 | Сообщение # 391 | Тема: Вопрос-[ответ] по Unity
постоянный участник
Сейчас нет на сайте
Мне в голову пришел такой способ: Создаем свой класс, который наследуем от MonoBehaviour.
Пишем там пару виртуальных методов - аналоги Update() и FixedUpdate() (возможно и других методов, которые будут необходимы)
В этом классе объявляем свою переменную pause и делаем ее статической.
Теперь в методах Update() FixedUpdate() и т.д. (стандартные юнитековские) прописываем условие, если pause == false, то вызывать наши виртуальные методы.
Теперь классы всех объектов, у которых нужно просчитывать логику(юниты и т.д.) наследуем от класса, который написали.
Переопределяем все методы, которые описали и используем их вместо стандартных. Теперь они выполняются только тогда, когда игра не стоит на паузе.
Идеальный вариант, если хочется красивого кода.
Насчет анимации я пока не придумал smile
Storm54Дата: Вторник, 18 Марта 2014, 11:20 | Сообщение # 392 | Тема: Платные уроки.
постоянный участник
Сейчас нет на сайте
Цитата PoqXert ()
Они мысленно скажут спасибо и скачают нелегальную копию.

Сначала нужно записать уроки, а потом уже задумываться над пиратством.
Storm54Дата: Понедельник, 17 Марта 2014, 16:09 | Сообщение # 393 | Тема: Платные уроки.
постоянный участник
Сейчас нет на сайте
Я бы заплатил за урок, в котором будет описан способ использования возможностей Unity3D на стороне Photon Server.
А то получается, что все алгоритмы(поиск пути, физика, коллизии) приходится писать заново.

Правда не знаю, возможно ли такое вообще реализовать.
Storm54Дата: Четверг, 13 Марта 2014, 11:34 | Сообщение # 394 | Тема: Скриптирование
постоянный участник
Сейчас нет на сайте
Я же тебе написал.
Storm54Дата: Среда, 12 Марта 2014, 23:39 | Сообщение # 395 | Тема: Свой cast
постоянный участник
Сейчас нет на сайте
Сравнивая углы.
Здесь идет общая проверка видимости AI.
Код
// направление на игрока
Vector3 playerDirection = (_playerTransform.position - _thisTransform.position).normalized;
// половина угла видимости
var halfAngle = visibleAreaAngle / 2;

// если угол между направлением врага и направлением на игрока входит в область видимости           
if (Vector3.Angle(transform.forward, playerDirection) <= halfAngle)
{
  // то начинаем преследование
}


Можешь почитать статью целиком. Статья
Storm54Дата: Среда, 12 Марта 2014, 23:28 | Сообщение # 396 | Тема: Свой cast
постоянный участник
Сейчас нет на сайте
Цитата
Один человек предложил вариант(ещё рисунок нарисовал) использовать несколько пирамид(для обнаружения по процентам)

Мое сообщение чуть выше:
Цитата
Проще сравнить угол поворота бота с игроком. Если бот смотрит на игрока, то уже пускать до него обычные лучи, дабы отследить препятствия на пути к игроку.

Я писал тоже самое, только не настолько подробно. Смысл тот же. В общем ответы уже были даны и даны не один раз. Причем предложена была масса вариантов. Советую хотя бы один из них попробовать на практике.


Сообщение отредактировал Storm54 - Среда, 12 Марта 2014, 23:29
Storm54Дата: Среда, 12 Марта 2014, 23:19 | Сообщение # 397 | Тема: Свой cast
постоянный участник
Сейчас нет на сайте
Цитата
Если никак, то бот будет обнаруживать игрока даже за стеной

Советую дочитать до конца.
Storm54Дата: Среда, 12 Марта 2014, 23:14 | Сообщение # 398 | Тема: Свой cast
постоянный участник
Сейчас нет на сайте
Значит используй способ seaman. Его проще всего реализовать.
Цитата
А как обрубить пирамиду если она упирается в стену?
Никак. Получаешь все точки пересечения пирамиды с игроком. Потом к каждой из них пускаешь луч. Если все лучи уперлись в стену, значит игрок за стеной.


Сообщение отредактировал Storm54 - Среда, 12 Марта 2014, 23:16
Storm54Дата: Среда, 12 Марта 2014, 23:08 | Сообщение # 399 | Тема: Связь разных скриптов.
постоянный участник
Сейчас нет на сайте
Если нужно связать программно, то сначала нужно найти объект, а потом получить у него указатель на скрипт.
Код

YouScript script = GameObject.Find("ObjectName").GetComponent<YouScript>();
Storm54Дата: Среда, 12 Марта 2014, 23:04 | Сообщение # 400 | Тема: Свой cast
постоянный участник
Сейчас нет на сайте
Не указал такой вариант, потому что это в корне неправильно. Например, если нужно во время игры изменять угол обзора бота, дальность видимости бота и другие факторы. Призма может попросту не вписаться. К тому же это работает не так уж и быстро. Особенно, если ботов много.
Форум игроделов » Записи участника » Storm54 [456]
Поиск:

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