![]() |
|
|||||||||
|
Новости
Высшая математика
В научных кругах принято считать, что в рамки высшей математики входят такие дисциплины, как анал...
Нобелевские лауреаты
Нобелевская премия учреждена шведским химиком Альфредом Нобелем в 1895г. Впервые она была вручена ...
Электронная библиотека
На первых порах обсуждения проблематики электронных материалов основное внимание было сосредоточен...
Стерео и видео Стереоизображение
Под стереоизображением понимают получение такого изображения, которое давало бы ощущение протяжен...
Сонник
Сон — это естественный физиологический процесс, который занимает 1/3 жизни человека. Все люди во ...
Синергетика
Синергетика — это междисциплинарный подход исследования, большой вклад в изучение которого, начина... Авторизация
Поиск |
Главная Статьи Компьютеры
Компьютеры Последние штрихи
Добавление препятствий
На данный момент мы ничего не делаем с переменными состояния. В первую очередь осуществляем логику окончания игры. Очередной запуск игры необходимо привязать к нажатию любой клавиши. Для этого после окончания игры (случай, когда мы потерпели неудачу) выполняется небольшая пауза (около одной секунды), и затем нажатие любой клавиши запускает игру еще раз. Необходимо также проверить, что в момент окончания игры не обновляются никакие другие состояния. Таким образом, самые первые строки в методе OnFrameUpdate должны быть следующими: Поздравляем! Это — первое интерактивное графическое ЗD-прило-жение, которое вы создали. Мы получили модель перемещения автомобиля или автомобильный симулятор. Несмотря на то, что на самом деле перемещается дорога (вниз относительно автомобиля), создается полное ощущение движения автомобиля. Таким образом, мы написали практически половину нашей игры. Теперь необходимо создать препятствия, которые вы потом будете объезжать. Подобно тому, как мы добавляли класс саг, необходимо добавить новый класс «Obstacle» («Препятствия»). Проверьте, что вы включили директиву «using» Управляемого DirectX в этом новом файле кода. Добавление движущегося автомобиля в используемую сцену Теперь, когда вы отображаете на экране объект в виде перемещающейся дороги, необходимо добавить объект, с которым взаимодействует игрок — это автомобиль (в листинге программы — «саг»). Вы могли бы просто разместить переменные класса «саг», константы и код в основной класс — «Main class», в котором размещены и дорожные секции, но это выглядело бы не так модульно, как хотелось. Было бы предпочтительнее размещать автомобильный код отдельно, в его собственном классе, который мы попробуем сейчас создать. В главном меню проекта откройте опцию Add New Item и выберите в качестве добавляемого новый класс, названный «саг». Проверьте, что вы включили операторы использования Управляемого DirectX в этом новом файле кода, созданном для вашего приложения. Вместо того чтобы использовать подход «все или ничего» в плане выбора типа освещения, вы можете просто проводить «многоуровневую» проверку поддержки режимов освещения. В данном сценарии сначала выясняется, поддерживается ли хотя бы один источник света, и если да, можно включить его. Затем проверяется наличие второго поддерживаемого источника света, и так далее. Это дает возможность иметь резервный вариант (один источник) даже для тех устройств, которые не поддерживают два источника света и более. Данный пример не совсем подходит при использовании одного источника направленного света, поскольку многоуровневая проверка не была выполнена. Хотя даже в этом случае это выглядело бы примерно так: Работа со скелетными мешами DirectX В первой половине этой главы вы научились управлять иерархией костей, которые являются основой скелетной анимации. Это все хорошо, но игра с воображаемыми костями не очень занимательна. Людям, играющим в ваши игры, необходимо видеть всю тяжелую работу в виде визуализированных мешей, где и приходит время скелетных мешей. Обновление иерархии После того как вы изменили матрицу преобразования костей, вам необходимо обновить всю иерархию, чтобы вы могли использовать ее для последующей визуализации. Даже если вы не изменяли матрицу преобразования костей, вам все равно необходимо обновить иерархию для установления некоторых переменных перед визуализацией. Изменение положения костей После того как вы загрузили иерархию костей, вы можете управлять ими. Для изменения положения кости вам необходимо обнаружить соответствующую ей структуру фрейма, создав функцию, которая бы рекурсивно просматривала фрейм на совпадение с именем кости. Как только он будет найден, у вас будет указатель на него, который вы можете использовать для получения доступа к матрице преобразования. Функция рекурсивного поиска может иметь такой вид: Загрузка иерархий из .X Не следует бить мертвую лошадь (как я могу сделать такую ужасную вещь?), но я хочу слегка коснуться загрузки иерархий фреймов из .X файлов. Хотя в главе 3 детально описаны использование .X файлов и загрузка иерархий фреймов, я хочу еще раз вернуться к этому, используя специальные структуры для хранения иерархии. Использование скелетной структуры и скелетного меша Скелетная структура, как вы можете представить, является набором соединенных костей, образующих иерархию (иерархию костей, если быть точным). Одна кость, называемая корневой, является центральной точкой Использование структур скелетов и иерархий костей Представьте себе скелетную анимацию так: ваше тело (или по крайне мере кожа) - это меш, дополненный соответствующим набором костей. Когда ваши мускулы толкают, тянут и крутят кости, ваше тело соответствующим образом меняет форму. Вместо того чтобы думать о мускулах, меняющих форму вашего тела, будем думать о костях, меняющих положение каждой части тела. Начало скелетной анимации Скелетная анимация - два слова, от которых на ум приходят второсортные фильмы ужасов, в которых из могил восстают мертвецы, преследовать живых. Для программистов же эти слова имеют совсем другое значение. Если вы - как я, эта тема даст вам такой прилив адреналина, какой никогда не сможет дать фильм ужасов. << [Первая] < [Предыдущая] 1 2 3 [Следующая] > [Последняя] >> Результаты 57 - 112 из 114 Высшая математика В научных кругах принято считать, что в рамки высшей математики входят такие дисциплины, как аналитическая геометрия, математическая статистика, высшая и линейная алгебра, теория множеств, дифферен... Нобелевские лауреаты Нобелевская премия учреждена шведским химиком Альфредом Нобелем в 1895г. Впервые она была вручена в 1901г за достижения в области литературы, химии, медицины и физики. Нобелевская премия присуждаетс... Электронная библиотека На первых порах обсуждения проблематики электронных материалов основное внимание было сосредоточено на таких вопросах как защита цифровой информации и необходимый объем материалов, условия их сортир... |
Рейтинг статей
7.5. Основные теоремы о пределах
Модели межотраслевого баланса Имитационное моделирование 3.1.4. Угол между двумя прямыми на плоскости. Условия параллельности и перпендикулярности 2.3. Проекция вектора на ось и ее свойства 4.5. Преобразования параллельного переноса и поворота системы координат. Упрощение уравнений кривых Метрическая система мер Сетевые модели. Детерминированные сети 2.2. Базис в пространстве и на плоскости 4. Линеаризация. Статистические методы прогнозирования и планирования Производная DTS-пакеты Золотое сечение Электронные подписи и временные метки Публикации
Высшая математика
В научных кругах принято считать, что в рамки высшей математики входят такие дисциплины, как аналитическая геометрия, математическая статистика, вы...
Нобелевские лауреаты
Нобелевская премия учреждена шведским химиком Альфредом Нобелем в 1895г. Впервые она была вручена в 1901г за достижения в области литературы, химии,...
Электронная библиотека
На первых порах обсуждения проблематики электронных материалов основное внимание было сосредоточено на таких вопросах как защита цифровой информации...
Стерео и видео Стереоизображение
Под стереоизображением понимают получение такого изображения, которое давало бы ощущение протяженности пространства и рельефности.
Сонник
Сон — это естественный физиологический процесс, который занимает 1/3 жизни человека. Все люди во сне склоны наблюдать видения, которые представляют...
Реклама
Наука и техника
Высшая математика
Необходимо выставить права 777 на папку 14638883
Нобелевские лауреаты Электронная библиотека Стерео и видео Стереоизображение Сонник Синергетика Производная Определитель Никола Тесла Наука и техника Мультитран Мембрана Математический анализ Линейная алгебра Криптография Квазисимметричный стелларатор Календарь Золотое сечение Библия Аналитическая геометрия Realtek MathCAD JavaScript HTML-редакторы DirectX Delphi Выживание и страх Что же не cработало? Дети в опасности! Городские легенды |
||||||||
|
|
||||||||||