Expertet.ru

Осязаемые деревья в unity 3d

Здравствуйте. В этом уроке мы рассмотрим тему физики деревьев. Предположим, Вы создали целый лес, но возникает проблема: вы запускаете игру и о Боже - наш персонаж проходит через деревья! Не порядок!! Нам нужны осязаемые деревья.

прозрачное дерево

Что же нам делать? А все очень просто - добавим для них границу, коллайдер, через которую мы не сможем проходить. Для начала найдем путь к нашему дереву, у меня это: assets -> standard assets -> tree creator -> trees. И выбираем, для примера, BigTree. В инспекторе объектов спускаемся вниз и находим кнопочку add component.

настройки

Жмем на нее и проходим по пути: physics -> capsule collider. Можно использовать и другой коллайдер. И вот у наших деревьев появилась граница. Но этого мало. Если Вы запустите игру, то тут же заметите, что к деревьям ближе, чем на метр не подойти. Значит, нам необходимо настроить наш коллайдер. Для удобства перетащим одно дерево bigtree на нашу территорию (тэррейн).

capsule collider в unity

Теперь мы видим наше дерево с различными характеристиками, в том числе коллайдер. Наша задача подобрать необходимые размеры для него и затем те же размеры прописать в общих настройках для всех деревьев. Таким образом, мы получим непроходимые деревья легким способом. Спустимся ниже по настройкам дерева. Как Вы заметили, тут еще можно менять его конфигурацию (ветви, листву, цвет, текстуру и прочее). Но этим мы займемся в другом уроке. И вот мы дошли до capsule collider. Заходим в него и подбираем высоту, радиус и центр. Уменьшая радиус, замечаем, что центр смещен. Регулируем его по осям x и z.

Мои характеристики могут отличаться от Ваших, но все же я напишу их: Radius: 1.36; Height: 10.54; center: x -0.5, y 5.27, z -0.13.

необходимые размеры сollider

Запускаем игру и видим, что мы уже не можем проходить через это дерево. Мы сделали конкретное дерево осязаемым, теперь сделаем все деревья begtree такими. Но нужно помнить, чтобы настройки хорошо работали, деревья должны быть приблизительно одинаковых размеров, иначе придется устанавливать коллайдер индивидуально под каждое дерево!

Жмем на картинку bigtree в проекте и устанавливаем наши настройки в инспекторе объектов.

осязаемое дерево

Все, теперь можно запускать игру и у всех наших деревьев типа bigtree есть граница.

В следующем уроке, Создаем индивидуальные деревья в unity 3d, мы будем делать индивидуальные деревья, т.к. в юнити объекты однотипные.

Автор: Сергей Щеглов 2015-03-06 Просмотров: 976