Помогите с unity3d! - вопрос №1131817

Как сделать так чтобы можно было рубить деревья в unity3d?) если сможете скиньте гайд или скрипты и подскажите как все зделать))
26.07.14
1 ответ

Ответы

u3d.at.ua
Создаем простую сцену делаем террейн, освещение и т.д. Берём модель дерева, приделал капсульный колайдер по форме ствола и ещё один боксовый поперёк на листву(чтобы после падения оно не катилось вдоль капсульного колайдера)  , добавляем Rigidbody и делаем true параметр IsKinematic  , это значит что на дерево не влияет физика и когда надо мы его отключаем, чтобы соответственно физика появилась.Добавляем в префаб готовое дерево   .Создал скрипт: Кодfunction OnTriggerStay (other : Collider) {      // фунция работы с триггерами if(other.gameObject.name==«Palm»){   //проверяем наличие в триггере объекта с иминем «Palm» if(Input.GetMouseButtonDown(0)){   //при нажатии на ЛКМ.. other.rigidbody.isKinematic = false;    //отключаем параметр isKinematic } } }  Ложим скрипт на камеру стандартного fist person controller'а и приделываем на неё (камеру) колайдер-зону где игрок как-бы размахивает топором, ставим параметр IsTrigger и всё, когда персонаж подходит к дереву и нажимает левую кнопку мыши, то у дерева отключается игнор физики, а так как ствол состоит из капсулы, то оно непременно упадёт(надо малейшая неровность), если хотите можете к дереву силу приложить AddForce, но оно и так падает вполне естественно, я поставил на него массу в 5, всё очень просто. Забыл добавить что надо указать имя дереву «Palm» если хотите использовать мой код, так же можете работать через тег, для этого вместо  if(other.gameObject.name==«Palm»){  надо  if(other.gameObject.tag==«Palm»){ 

27.07.14
Посмотреть всех экспертов из раздела Технологии > .Net/C#
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store