Найти тему
Мусин Михаил

Май 2017. Unity C#. Мусин Михаил

Перенос с другого сайта.
В процессе переноса, я делал небольшой рефакторинг в структуре кода. Имена и методы не менял.


Первый вариант уничтожения объекта при прикосновению к триггеру объекта по тегу.

https://gist.github.com/Musin-Mihail/06b036eb2cd8edf333369ebafbe49f91

-------------------------------
Поиск объекта по тэгу и приближения к нему.

https://gist.github.com/Musin-Mihail/a513f7625ce823bd1b2f46f8349d5602

Сейчас, чем ближе объект, тем медленнее движение. И ищет случайный объект, ориентируясь на время создания этого объекта.
-------------------------------
Первые результаты с выполненными двумя пунктами.

---------------------------------
Из-за ошибки в написания кода, я долга бился об стену непонимания, как добавить объекты в массив по тегу.
Но разобрался.
И вывод координат этих объектов в консоль.

https://gist.github.com/Musin-Mihail/07a51de0bad6c9eb77fc560cbd763b3a

-------------------------
Тестирую код по поиску ближайшего объекта, но при уничтожении любого объекта из массива происходит ошибка.
Нужно как то перезапускать создания массива при уничтожении объекта.

https://gist.github.com/Musin-Mihail/caa66b717d4b063b84539f146d451d6e

Перенёс создания массива из функции Start которая выполняется 1 раз, в функцию Update которая выполняется постоянно.

Но если объект был уже близко к объекту, то он больше не выбирается как ближайший.
С определением всё нормально. Это я с отображением в консоли не разобрался.

---------------------------------

Реализовал поиск ближайшего объекта и его уничтожение.
Только не совсем разобрался в этом коде. Взял шаблон.
И этот код при больших масштабах нагружает процессор.
Так как массив создаётся каждый раз по новой. А мне нужно только при уничтожении объекта.

https://gist.github.com/Musin-Mihail/ecf8320fd21bcf62c38051cba152ea1a

---------------------------------
Разобрался с равномерным движением

transform.position = Vector3.MoveTowards(transform.position, cube.transform.position, speed*Time.deltaTime);

---------------------------
Результат без равномерного движения.

--------------------------
Реализовал поиск пути и обход препятствий.
Используя компонент NavMesh

https://gist.github.com/Musin-Mihail/8e7757e636fb1fa53ef2e5d9c3dab798

Убрал свой код по перемещению и повороту к цели.

В NavMesh это уже встроено.

-----------------------------

Прикрепил метку к цели и количество уничтоженных объектов.

https://gist.github.com/Musin-Mihail/ce77600b677c6b155a3c85e4818e343c

-----------------------------
Запуск игры и выход из игры при нажатии клавиш.

https://gist.github.com/Musin-Mihail/52920ff6b12a04b2328b39a9fe5d02d6

Метки над объектами и счётчик