Як зробити двері, з фізикою і без nullcode studio, ігри, unity, скрипти

Невелика дрібниця для початківців ділків ігрової індустрії. Будемо вчиться робити двері, звичайні класичні двері, плюс, це можна так само віднести і до прикладу шаф, а так же подібних речей. При цьому, розглянемо два варіанти управління дверима. У першому випадки, без фізики, відкриття і закриття, регулюється через скрипт, що в принципі підійде для багатьох ігор. Другий варіант, контроль під фізикою, а гравець управляє замком двері, якщо замок відкритий, то досить трохи штовхнути і двері розчиняться. Плюс, в скрипті реалізована можливість закрити двері назад на замок. Крім того, в обох випадках врахуємо оптимізацію скриптів.


Ну нам саме собою потрібна модель двері вже готова. Потім, додаємо на сцену порожній об'єкт, під ім'ям Door скидаємо позицію по нулях, і закидаємо модельку двері в цей об'єкт, так само скидаємо позицію. Двері тепер дочірній об'єкт:

Як зробити двері, з фізикою і без nullcode studio, ігри, unity, скрипти


Зверніть увагу, що модель двері повинен бути правильно розгорнуто в просторі щодо осей. Щоб відкривалася вона в протилежний зміст, щодо направлення осі Z (синього кольору) на скріншоті.

Створюємо в Door ще один дочірній об'єкт, назвемо його Anchor і пересуваємо цей якір в те місце, де повинні бути дверна петля:

Як зробити двері, з фізикою і без nullcode studio, ігри, unity, скрипти


Після, робимо модель двері дочірньої до Anchor.

До речі кажучи, на моделі дверей повинен бути коллайдер і тег, наприклад - Door. Колайдери на дверний рамці потрібно налаштувати так, щоб вони не взаємодіяли з дверима. Це потрібно для нормальної роботи фізики двері.


Вішаємо на модель двері скрипт Door:


На камеру гравця вішаємо скрипт DoorControl:


Робимо теж-саме, але використовуємо інші скрипти.

Замість Door, вішаємо PhysicsDoor:


А замість DoorControl, чіпляємо на камеру PhysicsDoorControl:


Щоб фізика працювала, залишилося зробити ще кілька дрібниць. Переходимо до дверей і налаштовуємо компонент Hinge Joint:

Як зробити двері, з фізикою і без nullcode studio, ігри, unity, скрипти


Anchor - регулюємо позицію і ставимо його в теж місце, де наша дверна петля.
Axis - вибираємо вісь Y.
Включаємо Use Limits і ставимо потрібні значення.

Тепер фізика двері буде працювати, якщо все правильно налаштовано.

Завантажити і подивитися в роботі:

Ви не можете завантажувати файли з нашого сервера