Вы сейчас тут: Главная » Каталог статей » Обучающие статьи
Открытие дверей
Категория: Обучающие статьи | Просмотров: 4613 | Добавил: Badman
Это базовый скрипт, с помощью которого вы сможете открывать двери.

Что нам потребуется:
First Person Controller (без него же никуда), можно и на свой контроллер
Две анимации: открытие и закрытие двери (я думаю, вы знаете, как они делаются в юньке)
Тег Door, который будем применять к нашей двери
Ну и собственно сама дверь

Следующий C# скрипт прикрепляем к игроку:

using UnityEngine;
using System.Collections;

public class OpenDoor : MonoBehaviour {

private bool guiShow = false;
public bool isOpen = false;
public GameObject door;
public int rayLength = 10;

void Update() {
RaycastHit hit;
Vector3 fwd = transform.TransformDirection(Vector3.forward);

if(Physics.Raycast(transform.position, fwd, out hit, rayLength)) {
if(hit.collider.gameObject.tag == "Door") {
guiShow = true;
if(Input.GetKeyDown("e") && isOpen == false) {
//вместо door_open пишете название своей анимации открытия двери
door.animation.Play("door_open");
isOpen = true;
guiShow = false;
} else if(Input.GetKeyDown("e") && isOpen == true) {
//вместо door_close пишем название своей анимации закрытия двери
door.animation.Play("door_close");
isOpen = false;
guiShow = false;
}
}
} else
guiShow = false;
}

void OnGUI() {
if(guiShow == true && isOpen == false)
GUI.Box(new Rect(Screen.width/2, Screen.height/2, 200, 25), "Press 'E' to open/close the door");
}
}


Mrs Note: после добавления двери на сцену выберите ее, затем в верхнем меню нажмите Component | Miscellaneous | Animation. В компоненте Animation этой самой двери отключите Play Automatically. Так же, в этом компоненте разверните список Animations и в поле Size введите цифру 2. В поля Element 0 и Element 1 перетащите анимации двери (это для тех кто не знает).

Комментарии пользователей
Количество комментариев к материалу: 0
Добавлять комментарии могут только зарегистрированные пользователи.
Регистрация   Вход
Авторизация
Форма входа на сайт
Чат
Удобное общение
200
Категории раздела
Категории материалов
Голосование
Опрос пользователей
Какую версию Unity3D вы используете?
Всего ответов: 124
Результаты
Статистика
Сатистика на сайте

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Все материалы опубликованные на сайте представлены исключительно для ознакомительного просьмота. Любое ваше несанкционированное использование "ассетов" в ваших коммерческих проектах карается уголовной ответственностью.
Хостинг от uCoz