[Пример игры Donuts3D] | |||
Основы
работы в Microsoft Visual Studio 2008 и DirectX 9 (DX SDK Aug 2008) |
|||
Данный набор уроков является введением в программирование игр на C++ для DirectX 9 Вам нужно иметь установленную среду Microsoft Visual Studio 2005 или 2008 (можно триал), и DirectX SDK 9 версии, или лучше самой последней - DirectX SDK August 2008. |
|||
Введение в программирование игр на С++ для платформы DirectX 9. Первый старт - описывается как настроить примеры из DX SDK Aug 2008 для корректной сборки в MSVS 2008 |
|||
Меняем иконку приложения - описывается как создать для приложения большую 48х48 полноцветную (24 бит) иконку | ![]() |
||
Добавляем другую модель - как изменить код для использования другой модели, особенности экспорта моделей из 3ds max 7, 3ds max 2009 | ![]() |
||
Программирование игр в directx, написание самого первого приложения на C++ Hello, World! - пишем самое самое первое приложение на C++ | |||
Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - пишем первое приложение с использованием Windows Forms - простейший калькулятор. Пример позволит сделать следующий шаг в изучении MSVS 2008 и основ программирования .NET Framework. Вы увидите, что работа с Windows Forms чем-то напоминает работу в Delphi 7 с тем лишь отличием, что вместо delphi применяется C++ | ![]() |
||
Урок 1 Основные операторы языка C++ - использование основных операторов языка: метки, выражения, пустой оператор, логические скобки, ветвления, циклы, передача управления | |||
Урок 1 Основные операторы языка C++ (часть 2) - объявление переменных, обработка исключений | |||
Урок 2 Написание Win32-приложений. Обзор стартового кода Win32-приложения. Добавление ресурса текстовая строка - несколько слов о структуре стартового Win32-приложения и принципов его работы, методы создания ресурсов приложения на примере добавления ресурса "строка текста". | |||
Урок 3 Создание Win32-приложений. Создание меню и простых диалоговых окон - кратко описывается как создать меню, простой диалог и где посмотреть код для их использования | |||
Урок 4 Создание Win32-приложений. Стандартные диалоги. Изучение сопутствующих конструкций языка. Консольные Win32-приложения. Указатели. Ссылочный тип. Массивы - информация о разделах справочной системы посвященных стандартным (общим) диалогам, комментарии примеров работы с указателями (pointer), ссылками (reference) и массивами | |||
Урок 4 часть 2 Win32. Диалог выбора цвета, смена цвета фона окна приложения - показан код, для смены цвета фона окна приложения путем выбора цвета из диалога выбора цвета (Color Dialog) |
|||
Урок 5 Написание приложения DirectX9c + MFC в среде MSVS 2005 - предложен простейший способ совместного использования DirectX9c WinAPI и MFC. Не это ли нужно тому кто пишет свои игры для directx, а именно - всё богатство классов MFC под рукой ! |
![]() |
Урок 8: Настройка параметров сэмплов Сэмплы - это основа любой Вашей композиции. От их качества зависит качество получаемого звука. В MT вы не можете создавать свои сэмплы. Их можно только загружать в готовом виде. Для создания сэмплов используйте другие специализированные программы, например Sound Forge (см. уроки 1,2). Однако есть ряд параметров сэмпла, которые Вы можете задавать, меняя тем самым качество получаемого звука. |
Сэмпл - образец звука, синтезированного или оцифрованного, используемый для проигрывания на разных частотах дискретизации в качестве виртуального музыкального инструмента в трэкере. |
||
Перейдите в окно списка сэмплов - вкладка Samples. Загрузите какой-нибудь сэмпл и посмотрите какие имеются параметры. |
Default volume: громкость сэмпла по умолчанию - вы можете задавать значение 0-64 с клавиатуры - для этого клавишами [Tab] и [Shift]+[Tab] вам нужно перевести курсор в это поле и ввести значение с клавиатуры. Или можно перемещать ползунок - мышью! Global volume: глобальная максимальная громкость которую можно установить для сэмпла. Set pan: значение панорамы (смещение баланса между левым и правым стерео-каналами) по умолчанию. Отсутствие галочки соответствует отключенному состоянию панорамы - когда мы вообще не регулируем ее. Значение поля соответствует заданному балансу. 0 - полное смещение в левый канал и 128 - в правый. Auto-Vibrato, Depth, Sweep, Rate - параметры задающие управление вибрацией звука генерируемого сэмплом. Это соответственно - форма волны вибрации, глубина, скорость и диапазон вибрации. Поэкспериментируйте - сразу поймете что к чему! |
||
Важные характеристики сэмпла: |
В левой половинке окна параметров сэмпла остались самые важные параметры: (Сверху-вниз по-порядку) -Name, File - название сэмпла и имя файла (беспокоиться о его расположении не нужно, т.к. будучи загруженным в композицию сэмпл становится ее частью и располагается внутри), но информация о названии может быть вам полезна тогда, когда Вы захотите загрузить и в другую свою композицию какой-то такой же понравившийся Вам сэмпл; Freq- базовая частота дискретизации сэмпла (Гц) c которой воспроизводится нота в поле Transpose. Принцип генерации звуков всех других нот довольно прост - каждая нота имеет определенное (стандартизированное) смещение в частоте дискретизации относительно базовой ноты (С-4). Например, следующая нота C#4 - имеет смещение в 4 Гц, D-4 - в 1024 Гц и т.п. Таким образом звук более высокой (по тону) ноты проигрывается быстрее давая звук более высокой звуковой частоты и наоборот - медленнее - ниже. Этим способом воспроизводится все богатство нот генерируемых одним лишь сэмплом. Базовую частоту дискретизации сэмпла можно легко изменить - выполнив смещение на полутон или целую октаву или просто введя производльное (до определенного предела) значение. Такое смещение естественно повлияет на расстановку тонов нот. Поэтому если правильный сэмпл использовать с неправильной частотой дискретизации это может привести к эффекту "расстроенного рояля" - т.е. ноты инструмента будут выдавать совсем не те тона, которые им положены. Здесь мы подошли к вопросу о базовой частоте создаваемых сэмплов. Когда Вы создаете свои сэмплы учитывайте частоту звука задаваемую Вами при генерации сэмпла в Sound Forge, а затем проверяйте свой сэмпл на слух в IT и при необходимости корректируйте частоту задаваемую в Sound Forge или базовую частоту дискретизации в IT. У такого способа генерации звуков нот есть и недостаток - ноты верхних октав воспроизводятся с более высокой скоростью, поэтому длительность звука при воспроизведении этих нот становится меньше. Например, если Ваш сгенерированный в Sound Forge сэмпл имел длину в 1 секунду - то эта длина относится только к воспроизведению ноты C-4. Ноты же более низких октав будут длиннее - в соответствии с понижением их частот дискретизации, ноты более высоких октав будут короче.
|
||
Смещение базовой частоты сэмпла - задается выбором ноты из поля Transpose. |
Другие параметры сэмпла: Loop - зацикливание - приводит к бесконечному воспроизведению сэмпла остановить которое можно - нажатием клавиши другой ноты, клавиши [F8]. При проигрывании нот таким сэмплом в паттернах звук можно погасить командой ^^ - клавиша [1] при работе в режиме РЕДАКТИРОВАНИЯ ПАТТЕРНА или командой задающей нулевую громкость - 00 в столбце громкости. Параметр Loop может быть только в одном из трех состояний - Off/On Forward/On Pin-Pong- Выключено/Включено прямое воспроизведение/Включено воспроизведение вида с начала до конца - с конца до начала. Start и End - задают кусок сэмпла, который будет бесконечно повторяться при зацикливании. Значения задаются в байтах от длины сэмпла (len). |
||
Если Вы вдоволь поэкспериментировали со всеми параметрами сэмплов и Вам все более-менее ясно, то можно двигаться дальше. Теперь мы рассмотрим как применяются различные эффекты в деле - т.е. при воспроизведении композиции. Наша задача - научиться управлять этим процессом задавая нужные эффекты при редактировании паттернов. |
Sustain Loop, Start, End - задаются цикл Sustain - удержание звука. Почти то же, что и Loop - но с постепенным затуханием звука.
В окошке ниже должен отображаться вид сэмпла (так как Вы его видите при создании в Sound Forge). |
||
Попробуйте загрузить небольшой примерчик композиции - здесь. И мы займемся его рассмотрением. |
Скачайте
данный пример, распакуйте из архива и откройте из MT. |
||
Предполагаем,
что Вы уже запустили MT и открыли данный пример - композиция primer1.it |
Перейдите в окно редактирования паттернов - вкладка Patterns. Вы увидите в первом канале набор нот и набор команд.
|
||
Теперь Вы можете поэкспериментировать - сначала попробуйте воспроизвести то, что есть - [F5]. Хорошо? Тогда стоп - [F8]. Попробуйте что-нибудь изменить - ноты, эффекты, значения параметров эффектов и т.п. |
Список всех эффектов смотрите в справочной системе - Help > Contents. Читайте и пробуйте! | ||
Ну как? Здорово?! |
Теперь Вы уже знаете почти всё для того, чтобы создавать свою музыку. Опыт придёт к Вам по-мере того, как Вы будете экспериментировать! |
||
|
|||
[Предыдущий урок] | [Все уроки] |
![]() |
||
Уроки Photoshop - Чудеса | ||
Коллаж от нуля - страница 3 | ||
[содержание] [страница 1] [страница 2] [страница 3] [далее] | ||
Мы рассматриваем как создать коллаж - сначала рисуем пейзаж взяв в качестве примера фотографию | ||
итоговый результат того, что у Вас может получиться - |
||
Переходим на слой Sky - Небо. Для этого щелкните его в панели слоев. | ||
Небо имеет ближе к горизонту белесый цвет, ближе к верхнему краю изображения - темно-синий. Здесь Вам потребуется градиентная заливка. Используя инструмент Прямоугольная область (другие виды областей можно выбрать щелкнув этот инструмент правой кнопкой мыши) выделяем ту область слоя Sky, которую будем заливать |
||
![]() |
||
Щелкаем правой кнопкой мыши инструмент Заливка, Выбираем левой кнопкой Градиент | ||
![]() |
||
В панели свойств Градиента выбираем желаемый вид. Заметьте, чтобы задать сине-белый градиент - задайте предварительно в качестве цветов переднего и заднего плана - синий и белый цвета | ||
![]() |
||
![]() |
||
Далее растянув в нужном направлении элемент управления градиентом получаем плавный переход от синего к белому цвету | ||
![]() |
||
![]() |
||
Если Вам нужен градиент, включающий переход между несколькими цветами, то это можно сделать следующим образом - | ||
Правой кнопкой мыши щелкаем слой Sky в панели слоев и выбираем пункт меню Параметры наложения | ||
![]() |
||
В открывшемся диалоговом окне ставим галочку напротив пункта Наложение градиента, в средней части окна щелкаем по изображению Градиента | ||
![]() |
||
в окне Редактор градиентов нажимаем кнопку Новый | ||
![]() |
||
Щелкаем на большом изображении градиента для добавления новых контрольных точек и задаем для них желаемые цвета | ||
![]() |
||
Далее нажимаем кнопку <Да>, правой кнопкой мыши можно производить нужные операции по добавлению/удалению новых вариантов градиентов | ||
![]() |
||
Получаем небо на слое Sky окрашенное при помощи градиентной заливки | ||
![]() |
||
Теперь нужно сделать текущим слой Ground и при помощи инструментов Осветление/Затемнение создать для земли эффект рельефности | ||
![]() |
||
Эти инструменты работают по аналогии с Кистью, но в отличие от неё не рисуют выбранным цветом, а выполняют осветление или затемнение пикселей, под указателем кисти в соответствии с выбранными параметрами на панели параметров | ||
![]() |
||
Вы видите, что пиксели под указателем Кисти становятся темнее. Аналогично работает Осветление - оно делает пиксели светлее. Управлять степенью и характером осветления/затемнения можно при помощи формы кисти, вида её краев, Диапазона и Экспозиции | ||
![]() |
||
Форма Кисти и ее размер влияют на форму видоизменяемой области Кистью, Жесткость краев влияет на этот же параметр, но по краям Кисти, Диапазон задает на какие цвета мы воздействуем - Тени, Средние тона или Света и наконец Экспозиция задает силу воздействия за один шаг обработки. | ||
2) Теперь над слоем Sky Вам нужно создать новый слой, назвав его Облака - Clouds и нарисовать облака | ||
Процесс создания облаков сводится к следующему. Выбираем белый цвет, кисть с не очень жесткими краями, Непрозрачность Кисти задаем 18% и рисуем облако | ||
![]() |
||
Далее применяем к слою с облаком Фильтр > Размытие > Размытие по Гауссу | ||
![]() |
||
[содержание] [страница 1] [страница 2] [страница 3] [далее] | ||
Введение в программирование игр на С++ для платформы DirectX 9 Меняем иконку приложения |
||
Данный небольшой урок является введением в программирование игр на C++ для DirectX 9 Вам нужно иметь установленную среду Microsoft Visual Studio 2005 или 2008 (можно триал), и DirectX SDK 9 версии, или лучше самой последней - DirectX SDK August 2008. |
||
Выпуск 43 часть 1 Меняем иконку приложенияСерия уроков посвященных разработке игр в fle game engine.Урок 1 - Меняем иконку приложения со стандартной на вашу. |
||
[назад] [далее] [к содержанию] | ||
Создадим папку SkinnedMeshUpgrade и скопируем в нее содержимое папки SkinnedMesh | ||
Далее будем работать с новым проектом SkinnedMesh размещенным внутри папки SkinnedMeshUpgrade дополняя и расширяя его код. | ||
Для начала попробуем сменить иконку проекта на свою, например вот такую - | ||
![]() |
||
Внутри проекта SkinnedMeshUpgrade создайте папку Media, а внутри нее Icon. В папке Icon разместите файл someinex_girl.bmp | ||
Теперь вернитесь в MSVS и в окне Solution Explorer откройте узел проекта SkinnedMesh | ||
![]() |
||
Далее откройте узел Resource Files и дважды щелкните по ресурсу directx.ico Он откроется в рабочем окне и вы сможете увидеть каких видов иконки проекта можно создавать |
||
Для создания собственной иконки проекта на основе someinex_girl.bmp нужно правой кнопкой щелкнуть пункт Resource Files и выбрать Add > New Item | ||
В открывшемся окне выбрать Icon File (.ico) и дать ему любое имя, например someinex, нажать Add | ||
![]() |
||
Будет создан указанный ресурс | ||
Дважды щелкнув его Вы увидите, что по умолчанию для него создаются 2 стандартные иконки 16х16 4 бит и 32х32 4 бит | ||
Нужно создать новую щелкнув правой кнопкой мыши по области показанных типов иконок и выбрав New Image Type | ||
![]() |
||
В нашем случае подойдет 32х32 24 бит | ||
Перетаскиваем картинку someinex_girl.bmp из проводника в MSVS | ||
Выделяем, копируем и вставляем в ресурс someinex.ico с типом изображения 32х32 24 бит, другие типы можно удалить, при этом их изображения очистятся но в списке они останутся. Это нормально. | ||
Сохраняем результат | ||
И последний штрих - для того, чтобы иконка стала иконкой откомпилированного exe-файла нужно удалить старую - directx.ico и самое главное - отредактировать содержимое файла SkinnedMesh.rc Для этого нужно щелкнуть его правой кнопкой и выбрать ViewCode Найти строчку IDI_MAIN_ICON ICON "..\\..\\DXUT\\Optional\\directx.ico" и отредактировать ее на IDI_MAIN_ICON ICON "someinex.ico" Выполнить
сохранение и сборку проекта. Всё! Готово! |
||
Следует отметить, что наилучший вариант иконки это 48х48 24 бит | ||
в следующем уроке мы попробуем использовать в приложении другую анимированную модель | ||
[назад] [далее] [к содержанию] |