Технологии
Помогите с unity3d! - вопрос №1131817
Как сделать так чтобы можно было рубить деревья в unity3d?) если сможете скиньте гайд или скрипты и подскажите как все зделать))
июль 26, 2014 г.
-
Всего ответов: 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»){