ria pc game
fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
18 февраля 2019 5:12
Вход Регистрация Забыли пароль ?

Краеугольная особенность работы Web-form на примере смены состояния checkbox
        Другие уроки можно посмотреть в разделе Статьи  
подробнее...

Теги создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт
Статьи сайта
megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 2

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 3

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 4

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 2

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 3

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 4

megainformatic - Эмулятор игры Ну, Погоди!

megainformatic - Оплата заказа через Сбербанк

megainformatic - Пример игры с исходным кодом Donuts3D

megainformatic - Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - программируем сами

megainformatic - Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - создаем игровую оболочку

megainformatic - Открытый Полный Исходный код игры Дорога в Город

megainformatic - Как создать игру - Веселый Единственный Буквоежка - программируем основу будущей игры

megainformatic - Как создать игру - Веселый Единственный Буквоежка - выводим заставку

megainformatic - Как создать игру - Веселый Единственный Буквоежка - игровое меню

megainformatic - Как создать игру - Веселый Единственный Буквоежка - движение и анимация героя

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

megainformatic - Примеры моих работ

megainformatic - Музыкальные темы

megainformatic - Уроки Photoshop - Чудеса

megainformatic - Купить Уроки Photoshop - Чудеса

megainformatic - Онлайн Обучение, Репетитор

megainformatic - Уроки Photoshop - Рисуем и Анимируем

megainformatic - Уроки Photoshop - Рисуем и Анимируем - Урок 1 - Старт

megainformatic - Уроки Photoshop - Рисуем и Анимируем на AllSoft.ru

megainformatic - DirectX 9c - Изучаем пример MultAnimation

megainformatic - megainformatic cms Система Управления Контентом

megainformatic - Темы для WordPress

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - Макет дизайна Вашего сайта

скачать megainformatic cms

megainformatic - Итоги 2010 года

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - как создать инсталлятор для собственной cms

megainformatic - Новости - страница 2

Нововведения в megainformatic cms

Web Администрирование

Уроки Верстки

Система автоматизированной е-майл рассылки

Система автоматизированной е-майл рассылки

megainformatic - Выгрузка файла на сайт

megainformatic - выпадающее меню на html и css

megainformatic - Использование checkbox

Краеугольная особенность работы Web-form на примере смены состояния checkbox

Технологии WEB

Технологии WEB - AJAX-запросы

Часто Задаваемые Вопросы

Продукты

Проблемы с кодировками при отображении страниц

игра Нечто: Необъяснимое Нить Накала - "в плену желаний"

Система Автоматизации Доставки Электронных Заказов megainformatic cms e-pro

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

webinformatic: Музыкальная страничка трэкера

подробнее

О чем сайт megainformatic.ru ?

За годы его существования, а создан он был в июне 2010 года,
цели значительно расширялись и углублялись.

В феврале 2006 года я впервые озадачился проблемой создания
сайта вообще. Кстати свой доступ в интернет у меня появился
в это же время.

Первые версии сайта были на бесплатных хостингах (narod, boom, pochta) и делал их на чистом
html.

Однако уже тогда, я большую часть информационного наполнения сайта
посвящал созданию игр - графике, музыке, программированию и сюжету.

Конечно случались и темы на околоигровые тематики.

В 2010 году я стал переходить на php.

Аналогично - цели сайта стали включать темы, посвященные проблемам
создания сайтов на php, а также разумеется включать вопросы использования
различных cms, js скриптов, особенностей верстки на html + css и многие
другие связанные с этим вопросы.

Никак не мог я обойти стороной и проблему создания музыки. Музыку пишу
сам, а также написал несколько десятков статей, посвященных созданию
музыки в различных музыкальных редакторах (трекерах и нотных секвенсерах).

Кроме того, на текущий момент сайт включает множество моих статей посвященных
программированию на c++, delphi, применению движка fle game engine,
содержит готовые уроки о том, как начать с нуля и научиться самому
создавать игры - как рисовать, анимировать спрайты, как вставить их в игру,
как включить музыку в игре, одним словом освящаются все аспекты создания
полноценной игры.

Эти знания не теоретические. Опыт я черпаю из собственных игровых проектов,
которые делал и продолжаю делать.

Так что круг моих интересов - это графика, программирование и создание игр,
сайтов, и конечно музыка.

На сайте есть много страниц посвященных выпущенным проектам и играм,
есть статьи на отвлеченные темы, небольшие рассказы и повести и даже стихи.

Конечно же есть статьи где я делюсь не только личным опытом, но и высказываю
дельные мысли по тем или иным вопросам не связанным с программированием
и играми.

Одним словом, читатель найдет на megainformatic.ru целый пласт истории
начиная от 2006 года по настоящий момент. Это все что меня интересовало
и интересует, а быть может еще будет интересовать и в будущем.

Из особенных тем хотелось бы отметить уроки посвященные созданию
игры. Ну, Погоди !, а также простой игры про шарики.



     
 

Основая задача сайта Мега Информатик - создание игр и накопление опыта в этой области. Накопленный опыт передается Вам дорогие читатели!

Основные направления деятельности над созданием игр:

- разработка игровой концепции;

- создание компьютерной 2d и 3d графики;

- написание программного кода на C++ или Delphi;

- озвучание игр: создание звуков, музыки, озвучание голосом;

- тестирование, продвижение созданных игровых проектов;

 
     
 

Все эти задачи достаточно емки, поскольку реальный игровой проект может разрабатываться в течение срока исчисляемого начиная с одного месяца до нескольких лет.

Чем больше накопленный опыт разработки, тем качество проекта увеличивается. Опыт также влияет на скорость разработки, и это понятно. То что новичок может сделать за неделю опытный человек делает всего за несколько часов.

Однако самым трудным и емким процессом был и остается процесс тестирования, поиска, отлова и устранения ошибок. Здесь также ключевую роль играет опыт и Вы в этом можете сами убедиться, если начнёте изучать программирование игр.

 
     
 

Что нужно, чтобы самому научиться делать игры ?

Конечно же упорство, стремление достичь поставленных целей, не останавливаться перед трудностями.

С технологической точки зрения Вам обязательно потребуются хотя бы минимальные знания английского, знания языка программирования C++ или Delphi и особенностей той платформы, для которой Вы будете разрабатывать игру.

Всё остальное - это творчество, в процессе которого и возникают законченные проекты. Чем им суждено стать - покажет время, но опыт создания даже свободно распространяемой игры - это важный и неоценимый, огромный шаг, даже рывок вперед. Пройдя этот этап можно рассчитывать добиться чего-то и на коммерческой арене.

 
     
  И конечно же немаловажную роль имеет умение преподносить свои проекты потенциальным покупателям. Правильное и умелое продвижение - это практически половина, если не больше, в успехе любого проекта. Ну, а если проект еще и действительно окажется ценен и интересен для конечных пользователей - его успех - гарантирован.  
     
 

Я создаю игры вот уже на протяжении 5 лет, и могу откровенно сказать, что поначалу это очень трудная, сложная и порой неблагодарная работа. К тому же не знаешь к чему это в конце-концов приведет. Потраченные усилия могут запросто пропасть впустую, особенно если забросить ранее начатое.

Но наверное это касается не только области программирования игр, но и любой другой области - успех складывается из упорства, старания и умения преодолевать всё новые и новые преграды.

 
     
 

Это похоже на бесконечное восхождение к вершине горы. И если альпинист может хотя бы приблизительно видеть, что его ждёт впереди, то новичок в программировании игр совсем не знает и не видит, куда и к чему нужно собственно идти, и правилен ли вообще выбранный путь ?

Время покажет. Пройдет совсем немного, и кое-что становится на свои места, становится ясно. Могу сказать Вам одно - порой мы сами этого не понимаем, но очень многое, если не почти всё, зависит от нас самих. То или иное действие сегодня, приводит к новым изменениям завтра и потребует в будущем соответствующих, связанных с прошлым, действий.

Мы как бы сами программируем свой путь и следуем ему. Успехов Вам на поприще создания игр!

 
     
подробнее

Creating game on fle game engine - Simple game / Создание игры на fle game engine - Simple game

15. Мульти анимация



read paper in english

В данном уроке мы проведем своего рода быстрый старт - это введение в создание игр в среде fle game engine.





Содержание

страница 1 - Спрайты

страница 2 - Объекты

страница 3 - Наложение объектов

страница 4 - Код - Настройка параметров Scene Editor fge и написание кода для вывода спрайта шарика в вашем первом игровом приложении

страница 5 - Отображаем прыгающий шарик

страница 6 - Загрузка игровой сцены

страница 7 - Перемещения игровой сцены

страница 8 - Закрываем часть сцены от пустот при помощи черной текстуры с прорезью, ограничиваем перемещение сцены

страница 9 - Реализуем корректное попадание в ямы и около ям - определяем границы спрайтов ям и спрайта прыгаюшего шарика

страница 10 - Проверка столкновений

страница 11 - Игровой счёт, звуки, музыка

урок #2 страница 1 - Создание новых сцен для игры simple game, расширенная версия simple game extended

13. Скроллинг больших локаций

14. использование переменных в игре на c++ directx 9c

15. Мульти анимация







Прошло совсем немного времени с момента написания урока про Спрайты.

Тема данного урока - изучить как можно использовать в игре не один, а несколько спрайтов. У одного персонажа анимаций может быть несколько: прыжки, хотьба, какие-то иные действия и т. п.

Это есть не что иное как МНОЖЕСТВЕННЫЕ АНИМАЦИИ, поэтому я и назвал урок Мульти анимация.

Мы будем рассматривать как использовать несколько анимаций относящихся к одному и тому же персонажу - в нашем случае - к Зеленому Шарику.



Вы можете заметить: что нового в мультианимации по сравнению с обычной ? Ведь что одна, что много - работа с ними ведется по-сути одинаково.

Да, вы это справедливо заметили, но не все так просто.

Хорошо, когда все анимации у вас циклические и неважно когда остановить анимацию. Например наш шарик - он прыгает постоянно и для нас совершенно неважно на каком текущем кадре он сейчас. Все эти кадры просто воспроизводятся циклически и бесконечно.

Но как быть когда анимацию нужно показать лишь однократно ? Причем важно чтобы она остановилась именно на нужном кадре, а не любом ?

Вот эти особенности я и хотел бы рассмотреть в статье, т. е. увязку множества анимаций как количественно, так и качественно в плане программной их части.

Помимо этого, можно коснуться немного реализации логики воспроизведения анимаций. Одни анимации нужно показывать при одних условиях, другие - при иных и все это реализуется функционалом программной части.

Художник может лишь показать на спрайте, что с ним происходит, а задача программиста не только показать созданный спрайт, но и реализовать условия по которым этот спрайт будет отображен в игре. Помимо этого нужно еще и запрограммировать особенности воспроизведения самой анимации: будет ли она (опять же) цикличной или однократной. Может быть она будет реверсивной - воспроизводимой в обратном порядке от конца к началу. И т. п.



Анимация Дразнящего Шарика - на последнем кадре задержка для демонстрации показа как бы однократной анимации



Вот методы, которые нужно объявить в классе CGameSprite, для того, чтобы использовать однократно воспроизводимую анимацию Дразнящего Шарика.

//анимация Дразнящего Шарика (показывает язык)
void Draw_Showing_Tongue();
void Anim_Showing_Tongue();
float m_fShowing_Tongue_Sprite_Frame;

bool m_bAnim_Showing_Tongue_Stopped; //завершилась ли анимация Дразнящего Шарика
void Start_Showing_Tongue_Anim();
void Restart_Showing_Tongue_Anim();


Суть реализации заключается в следующем: при определенном условии - например если в течение 15 секунд подряд шарик ни разу не был пойман в ямку должна быть показана данная анимация - однократно - т. е. показана с начала и с остановкой на последнем кадре.

Метод Draw_Showing_Tongue() отрисовывает текущий кадр анимации шарика.

Anim_Showing_Tongue() - выполняет анимирование, т. е. переключение кадров при изменении счетчика времени.

Поле - m_fShowing_Tongue_Sprite_Frame запоминает текущий кадр анимации и нужно для того, чтобы один и тот же спрайт мог использоваться независимо разными игровыми объектами. Для этого просто каждый игровой объект должен иметь у себя такое поле.

Тогда, перед выполнением анимации игровой объект запоминает текущий кадр спрайта, передает ему свой текущий кадр, выполняет анимацию, затем запоминает на каком кадре он остановился и возвращает спрайту его текущий кадр.

Поле - m_bAnim_Showing_Tongue_Stopped служит для фиксации момента завершения анимационной цепочки. Если цепочка закончилась - то поле получит значение true. Таким образом приложение будет знать, что анимация спрайта закончилась и можно переходить к другим действиям. В моем примере - снова будет отображаться анимация обычного прыгающего шарика.

Ну и наконец метод Start_Showing_Tongue_Anim() используется приложением для запуска анимации. В моем примере - если в течение 15 секунд шарик ни разу не был пойман в ямку, то будет вызван данный метод и запущен процесс показа этой анимации.

Когда анимация закончилась нужно, чтобы при следующем вызове Start_Showing_Tongue_Anim() она снова началась с 0 кадра. Для этого и служит метод Restart_Showing_Tongue_Anim().

Вот собственно и все.

Теперь вы наверное, хотели бы увидеть реализацию все описанных методов.

Пожалуйста, ознакомтесь.


//анимация Дразнящего Шарика (показывает язык)
void CGameSprite::Draw_Showing_Tongue()
{
LPD3D9SPRITE usedSprite = NULL;

int ball_sprite = ball_showing_tongue;

if ( m_iCurrentSprite == SpriteTexIndex )
ball_sprite = ball_showing_tongue;

if ( m_iCurrentSprite == ball_jump_red_SpriteTexIndex )
ball_sprite = ball_showing_tongue_red; //для красного шарика используется свой спрайт

usedSprite = GetGameSprite(ball_sprite, g_AI_Ball_Sprite.m_pTextures);

float OldFrame;
if ( usedSprite != NULL )
{
OldFrame = usedSprite->Frame;
usedSprite->Frame = m_fShowing_Tongue_Sprite_Frame;

Vector2Screen(&m_v2VectorPos, &m_v2Pos); //переводим векторные координаты //в пиксельные
usedSprite->m_v2Vector2ScreenPos = m_v2Pos;

//выполняем отрисовку спрайта по указанным координатам и с указанным масштабом usedSprite->Draw2(
m_v2Pos.x,
m_v2Pos.y,
m_vBallZ,
usedSprite->m_Scale.x,
usedSprite->m_Scale.y,
255);

usedSprite->Frame = OldFrame;
}
}

void CGameSprite::Anim_Showing_Tongue()
{
LPD3D9SPRITE usedSprite = NULL;

int ball_sprite = ball_showing_tongue;

if ( m_iCurrentSprite == SpriteTexIndex )
ball_sprite = ball_showing_tongue;

if ( m_iCurrentSprite == ball_jump_red_SpriteTexIndex )
ball_sprite = ball_showing_tongue_red; //здесь аналогично - для красного шарика свой спрайт

usedSprite = GetGameSprite(ball_sprite, g_AI_Ball_Sprite.m_pTextures);

float OldFrame;

if ( usedSprite != NULL )
{
OldFrame = usedSprite->Frame;
usedSprite->Frame = m_fShowing_Tongue_Sprite_Frame;

usedSprite->FrameMove_StopOnEndFrame(g_fElapsedTime, &m_bAnim_Showing_Tongue_Stopped);

m_fShowing_Tongue_Sprite_Frame = usedSprite->Frame;
usedSprite->Frame = OldFrame;
}
}



void CGameSprite::Start_Showing_Tongue_Anim()
{
m_bAnim_Showing_Tongue_Stopped = false;
m_dwAnimState = BAS_SHOWING_TONGUE; //когда была запущена данная анимация выставляем у объекта //такое состояние
//чтобы знать какой метод использовать для его отрисовки и анимирования }

void CGameSprite::Restart_Showing_Tongue_Anim()
{
m_fShowing_Tongue_Sprite_Frame = 0.0f;
}
На этом все.

[назад] [далее]

подробнее

Game craft - отображение scv модели в формате x в d3d9-приложении

[все уроки game craft]  [моделируем scv]  [моделируем scv шаг 1 часть 2] [моделируем scv шаг 2 часть 3] [Прорисовка текстуры робота SCV шаг 5]  [экспорт робота scv в формат x] 

В предыдущих уроках мы рассмотрели как моделируется, текстурируется и экспортируется модель. Теперь покажем как выводить данную модель в d3d9-приложении.

Модель робота scv в d3d9 - приложении

Вы можете скачать самораспаковывающийся архив, содержащий весь необходимый исходный код

Для нормальной сборки вам также потребуется среда разработки MSVS 2005 и DirectX SDK August 2008.

Теперь попробуем кратко продокументировать код, который содержит приложение d3d9_skin_mesh

Здесь Мы не преследуем формальную цель подробного и досконального описания всего кода, который содержится в модуле D3DAppTemplate.cpp . С полным исходным кодом Вы можете ознакомиться, скачав его по ссылке выше, откомпилировать и запустить полученное приложение, и убедиться, что оно работает.

Выполнение приложения начинается с вызова метода CD3DAppTemplateApp::CD3DAppTemplateApp()

Далее следует остановиться на вызове метода BOOL CD3DAppTemplateApp::InitInstance(), т. к. внутри него создается и скрывается главное окно приложения -

pMainWindow = new CD3DAppTemplateDlg();
pMainWindow->Create(CD3DAppTemplateDlg::IDD);
pMainWindow->ShowWindow(SW_SHOW);
pMainWindow->ShowWindow(SW_HIDE);

Это делается для того, чтобы внутри процедуры InitialD3DAppSettings новое окно, создаваемое и используемое для целей вывода 3D сцены не перекрывалось с основным и не возникало путаницы. Просто создается иллюзия, что окно 3D сцены и есть основное.

void InitialD3DAppSettings()

//...

DXUTCreateWindow( L"D3D9 App Template", 0, 0, 0);

//...

В этой связи возникает вопрос: А почему окно pMainWindow нельзя использовать для вывода 3D сцены ?

Ответ звучит так: окно pMainWindow - это базовое окно MFC приложения, с которым связаны некоторые ресурсы, но для целей вывода 3D сцены оно не пригодно, т. к. DirectX API предполагает для этого только вновь созданное, отдельное окно. В противном случае обеспечить работу D3D в этом окне не представляется возможным. Поэтому именно такой способ и используется в нашем приложении d3d9_skin_mesh

Нетрудно догадаться, что основная работа по подготовке d3d-приложения к работе описана внутри процедуры InitialD3DAppSettings, а собственно цикл работы приложения описан в DXUTMainLoop и заключается в поочередном вызове сначала процедуры void CALLBACK OnFrameMove( double fTime, float fElapsedTime, void* pUserContext ), а после неё - void CALLBACK OnFrameRender( IDirect3DDevice9* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext ).

У Вас может возникнуть вопрос: Как реализуется обработка управления от клавиатуры и мыши ?

В данном приложении она реализована обычными средствами Windows - через функцию MsgProc - но это будет более медленный способ. В реальном игровом приложении это реализуется посредством вызова специальной функции где-то в самом начале процедуры OnFrameMove. Например в игре Веселый Буквоежка для этой цели используется процедура UpdateInput - внутри которой проверяется какие клавиши или действия мышью были использованы пользователем и в ответ на это вызываются соответствующие процедуры, функции или методы которые привязаны к конкретной клавише или действию мышью. Подробнее об этом можно узнать получив полный исходный код движка Fle, на котором написана игра Веселый Буквоежка. Также будут не бесполезны иструменты разработки на движке Fle - SceneEditor, описание механизма сборки локаций и утилита Coords2D.

Вообще, если Вы будете разрабатывать игру самостоятельно, то скоро поймете, насколько это интересный и увлекательный процесс. Потому что возможности практически неисчерпаемы и создать можно что угодно, реализовав практически любую Вашу фантазию.

Итак, двинемся по коду d3d9_skin_mesh дальше. После того как все предварительные действия в приложении осуществлены - это как я уже говорил, описано внутри процедуры InitialD3DAppSettings, вызываются поочередно процедуры void CALLBACK OnFrameMove( double fTime, float fElapsedTime, void* pUserContext ) и void CALLBACK OnFrameRender( IDirect3DDevice9* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext ). Внутри них и надо искать ответ на вопросы - как собственно работает d3d-приложение и каким образом это реализовано ?

Очень полезное умение, которое Вам несомненно пригодится - умение задавать себе вопросы и находить на них ответы в коде. Внутри OnFrameMove Вы увидите, как запоминается предыдущее значение таймера в переменной g_fLastAnimTime, там же есть метод вызова камеры (но она пока не используется), а также методы, которые используются для управления обзором игровой сцены вместо камеры - через g_ArcBall.

В процедуре OnFrameRender формируется изображение игровой сцены - сначала выводятся элементы управления g_SettingsDlg, затем очищается backbuffer (невидимый экран, который как только будет подготовлен будет выведен на экран реальный - чтобы изображение не мерцало отображая как на нём рисуются элементы), задаются параметры для источника света и собственно происходит модель робота SCV - DrawFrame.

Резонные вопросы, которые возникают - где, как и каким образом загружается модель и как она затем отрисовывается ? Нужно добавить, что в приложении d3d9_skin_mesh, которое базируется на коде примера SkinnedMesh из DirectX SDK Aug 2008, реализовано отображение не только статичных, но и анимированных моделей. Так что если загрузить модель, в которой есть скелетная анимация - то модель будет выводиться в движении - циклично воспроизводя имеющуюся в ней анимационную цепочку.

Код, который воспроизводит анимацию - достаточно объёмный и Вы его можете посмотреть сами скачав архив по ссылке выше. Традиционно Мы остановимся только на самых важных деталях.

Внутри процедуры OnCreateDevice происходит загрузка файлов эффектов и файла модели. Обрабатывается иерархия объектов в X файле модели, настраиваются указатели на скелетные матрицы, вычисляется граничная сфера для модели (которая может потом использоваться для проверки столкновения с другими моделями в игровой сцене.

Оставшийся код, Вы можете рассмотреть самостоятельно и лучше это делать путём написания нового приложения, которое бы выполняло определенные задачи. Например не только загружало анимированную модель, но и по нажатию клавиш или кликам мышью, заставляло бы перемещатьтся 3D-модель в игровом пространстве. В последующих наших уроках мы именно этим и займёмся: будем рассматривать поэтапно каждую задачу, возникающую в типичном игровом проекте - на примере нашей игры Game Craft, а также будем моделировать все необходимые для этого модели и делать другие сопутствующие вещи (текстуры, описания, звуки, музыку и др.)

В цикле наших уроков Мы постараемся остановиться на следующих вопросах:

- работа с 3d-камерой;
- перемещение модели в пространстве;
- реализация управления игрой от клавиатуры и мыши;
- создание игровых панелей и реализация простейших операций по управлению игрой через игровую панель;
- создание рельефа земной поверхности и его текстурирование;
- вывод рельефа в игре и перемещение по нему моделей;
- модели игровых ресурсов: минералы, гейзер веспен-газа;
- не-интерактивные игровые объекты, формирующие окружающую среду: деревья, кусты, камни и прочее.
- постройка нового коммандного центра в игре рабочим scv;
- добыча ресурсов рабочими роботами scv;
- создание фоновой музыки и сопутствующих игровых звуков;
- создание редактора игровой сцены;

В ходе решения этих вопросов, вполне возможно будут возникать и другие, связанные с решением тех или иных сопутствующих проблем.

В следующем уроке мы займёмся изучением управления игрой от Direct Input и работой с 3d-камерой в d3d9-приложении работа с 3d-камерой в d3d9-приложении

[все уроки game craft]  [моделируем scv]  [Моделируем робота SCV шаг 1 часть 2]  [Моделируем робота SCV шаг 2 часть 3]  [Прорисовка текстуры робота SCV шаг 5]  [экспорт робота scv в формат x] 

подробнее

     
     
  уроки Photoshop - чудеса  
     
  Уроки Photoshop - Чудеса  
     
  Коллаж от нуля - страница 2  
     
  [содержание] [страница 2] [далее]  
     
  Мы рассматриваем как создать коллаж - сначала рисуем пейзаж взяв в качестве примера фотографию  
     
 

итоговый результат того, что у Вас в результате получится -

создаем удаленный лес на горизонте

 
     
  На предыдущей странице мы рассмотрели базовые шаги, из которых состоит процесс создания такого пейзажа  
     
  Теперь нужно поговорить об этом процессе более детально.  
     
 

1) создаем на отдельных слоях небо и землю

создаем новый слой - для этого нужно в панели слоёв найти и нажать кнопку Создания нового слоя

 
     
  создаем новый слой - для этого нужно в панели слоёв найти и нажать кнопку Создания нового слоя  
     
  кнопка Создать новый слой в панели Слоев  
     
  после того, как это сделано - переименовываем слой, назвав его Земля или Ground - для этого щелкаем правой кнопкой мыши по изображению слоя в панели слоев и выбираем пункт меню - Параметры слоя  
     
  Параметры слоя  
     
  после этого в открывшемся окне диалога вводим имя Земля или Ground  
     
  после этого в открывшемся окне диалога вводим имя Земля или Ground  
     
  после этого в открывшемся окне диалога вводим имя Земля или Ground  
     
  Нажимаем кнопку <Да> в этом же окне для подтверждения  
     
  Аналогично создаем слой Небо - Sky - расположив его под слоем Ground  
     
  Аналогично создаем слой Небо - Sky - расположив его под слоем Ground  
     
  Таким образом изображение, создаваемое для Земли будет находится у нас на переднем плане, а фон Неба на заднем. В любой момент Вы можете изменить порядок слоев и их глубину в сцене - простым перетаскиванием мышью  
     
  Рисуем землю. В панели слоев выбираем слой Земля / Ground, выбираем инструмент Кисть, задаем для неё следующие параметры -  
     
  параметры кисти для земли  
     
  В любой момент Вы можете задать другие параметры Кисти, используя панель параметров расположенную в верхней части экрана рабочего окна Photoshop  
     
  Цвет кисти задайте как на рисунке, но можете задать и любой другой - какой Вам нравится. Для этого нужно щелкнуть левой кнопкой по цвету переднего плана в панели инструментов слева и выбрать в диалоговом окне желаемый цвет, затем нажать <Да>  
     
  выбор цвета для рисования земли  
     
  После этого просто выполняем закраску кистью той области слоя, на которой будет расположена по замыслу Земля - наводите указатель мыши на нужную область слоя, нажимаете и удерживаете левую кнопку мыши и двигаете мышь в нужном направлении - Ваши движения мыши будет повторять инструмент Кисть, рисуя на экране  
     
  После этого просто выполняем закраску кистью той области слоя, на которой будет расположена по замыслу Земля - наводите указатель мыши на нужную область слоя, нажимаете и удерживаете левую кнопку мыши и двигаете мышь в нужном направлении - Ваши движения мыши будет повторять инструмент Кисть, рисуя на экране  
     
  Оставшаяся часть может быть залита сплошным цветом при помощи инструмента Заливка - выбираем инструмент "Заливка" в панели инструментов, Ставим галочку Смежные пиксели - для заливки только замкнутой области, щелкаем в том месте текущего слоя, где будет начата заливка  
     
  заливка  
     
  Если у Вас залился весь слой - нужно довести линию земли, которую Вы рисовали Кистью до обоих краев изображения, так чтобы она была непрерывной. Тогда заливка замкнутой области не будет выходить за данную границу. Если область земли образует замкнутый контур, но все равно заливается весь слой - проверьте, чтобы была установлена галочка Смежные пиксели (см. рисунок Выше), в других версиях Photoshop эта опция может называться по-другому.  
     
  Между линией контура земли на горизонте и залитой областью остался шов, обусловленный полупрозрачными краями кисти, которой Вы рисовали линию горизонта земли. Этот шов нужно закрасить Кистью.  
     
  Между линией контура земли на горизонте и залитой областью остался шов, обусловленный полупрозрачными краями кисти, которой Вы рисовали линию горизонта земли. Этот шов нужно закрасить Кистью  
     
  Если область земли у Вас получилась очень большой и не соответствующей линии горизонта на фотографии пейзажа - можно немного изменить размеры области земли -  
     
  Если область земли у Вас получилась очень большой и не соответствующей линии горизонта на фотографии пейзажа - можно немного изменить размеры области земли  
     
  Выбираем инструмент Перемещение, в панели свойств не забудьте установить галочку напротив опции Показать управляющие элементы  
     
  Выбираем инструмент Перемещение, в панели свойств не забудьте установить галочку напротив опции Показать управляющие элементы  
     
  Текущим должен быть слой Ground ! Наводим указатель мыши на границу Земли на управляющие элементы масштаба и удерживая левую кнопку мыши уменьшаем масштаб земли до нужного размера  
     
     
     
  [содержание] [страница 2] [далее]  
     

Костя Коробкин - В гостях у тёти Светы (kk as) - онлайн комикс - страница 12

Онлайн-комикс Костя Коробкин - В гостях у тёти Светы - интерактивный комикс (kk as).

- Она хлопает капотом ?

Костя Коробкин - В гостях у тёти Светы часть 2 Живые машины (- интерактивный комикс (kk as) - онлайн комикс - страница 12

если кликать картинку она будет последовательно меняться в размерах от 620 до 2048 пиксель.

[страница 1][страница 2] [страница 3] [страница 4] [страница 5] [страница 6] [страница 7] [страница 8] [страница 9] [страница 10] [страница 11]  [страница 12] [страница 13] 

megainformatic live chat
Начать беседу
X
 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
megainformatic Размещение баннерной рекламы у нас
Время загрузки: 1,1649