Вы сейчас тут: Главная » Каталог статей » Обучающие статьи
Открытие дверей
Категория: Обучающие статьи | Просмотров: 4607 | Добавил: 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
Категории раздела
Категории материалов
Голосование
Опрос пользователей
Оцените сайт
Всего ответов: 62
Результаты
Статистика
Сатистика на сайте

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