Воскресенье, 23 Февраля 2020, 22:09

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 37 из 37
  • «
  • 1
  • 2
  • 35
  • 36
  • 37
Форум игроделов » Записи участника » 8Observer8 [730]
Результаты поиска
8Observer8Дата: Среда, 18 Февраля 2015, 22:47 | Сообщение # 721 | Тема: Экспортирование взрыва, огня, дыма из Blender'а
заслуженный участник
Сейчас нет на сайте
Спасибо большое за ответы

Как я понял, самый простой вариант - это делать в виде картинок, как на этом видео: How to make an explosionfireball in the blender game engine including smoke and rubble No python

К примеру, там дым делается так: две одинаковых картинки с дымом располагаются под углом 90 градусов друг к другу и вращаются как одно целое. Получается облако дыма

P.S. Я решил C++ и OpenGL использовать для игр жанра платформер. Параллельно буду делать простые игры на BGE. Очень мне понравился движок, моделирование в нём, logic bricks и т.д.
8Observer8Дата: Среда, 04 Февраля 2015, 12:53 | Сообщение # 722 | Тема: Экспортирование взрыва, огня, дыма из Blender'а
заслуженный участник
Сейчас нет на сайте
Привет

Хочу, чтобы в моей игре на Qt C++ OpenGL были взрывы, огонь, дым. На шейдерах только начал программировать. Знаю, как создавать освещение

Я смотрел видео-уроки, как создавать взрывы, огонь, дым в Blender'е. Почему-то частицы не экспортируются. Экспортируется только Emitter, то есть объект из которого вылетают частицы. Я пробовал сделать Object -> Apply -> Make Duplicates Real, но это не приводит ни к чему. При экспортировании в obj файл ставлю галочку Animation. Сохраняется 250 кадров, то есть файлов .obj и .mtl, в которых только площадка Emitter

А можно как-нибудь экспортировать из Blender'а кадры огня и дыма?

Заранее спасибо за ответы

Добавлено (04 февраля 2015, 12:53)
---------------------------------------------
Кстати, я использую загрузчик Assimp, а он может импортировать .blend. Есть ли шанс научиться делать взрывы в Blender, а потом кадры импортировать в программу?


Сообщение отредактировал 8Observer8 - Среда, 25 Февраля 2015, 19:38
8Observer8Дата: Вторник, 03 Февраля 2015, 20:06 | Сообщение # 723 | Тема: Плавное перемещение объектов с заданой скоростью
заслуженный участник
Сейчас нет на сайте
Цитата Archido ()
нужно считать время между кадрами (та самая дельта)

Что такое "время между кадрами"?

Добавлено (03 февраля 2015, 20:06)
---------------------------------------------
Дело в том что у меня обновление по автомату (например, свернули и развернули окно) и когда изменили координаты объекта при нажатии на клавишу

8Observer8Дата: Вторник, 03 Февраля 2015, 10:41 | Сообщение # 724 | Тема: Qt-creator opengl error
заслуженный участник
Сейчас нет на сайте
Попробуйте использовать встроенные классы Qt для работы с OpenGL. Можете посмотреть, как я рисую с использованием шейдеров: ссылка
8Observer8Дата: Вторник, 03 Февраля 2015, 10:36 | Сообщение # 725 | Тема: Уроки С++
заслуженный участник
Сейчас нет на сайте
Цитата bey4er113 ()
Посоветуйте пожалуйста,видео уроки по Visual studio express 2013 c++

Вот видео-уроки. Хотя они не для Visual, но это не важно, так как суть одна
8Observer8Дата: Понедельник, 02 Февраля 2015, 23:08 | Сообщение # 726 | Тема: Плавное перемещение объектов с заданой скоростью
заслуженный участник
Сейчас нет на сайте
На фреймворке, с которым я работаю, уже есть специальный класс для рисования. Там принцип такой: есть функция для инициализации, которая вызывается один раз. Есть resizeGL(), которая вызывается, когда пользователь меняет размер окна. Есть функция paintGL(), которая вызывается гарантированно, когда это нужно (например, её вызывает автоматически resizeGL()). Функцию paintGL() можно вызвать самому с помощью вызова update(). Например, если я изменил координаты объекта, то я должен вызвать update()

Ещё у меня есть функция-обработчик нажатия кнопки, который вызывается автоматически, когда я нажал клавишу. В ней я меняю координаты объекта и вызываю update(), которая вызывает paintGL()

Я могу создать таймер. Или часы (в милисекундах) запустить в функции инициализации

Заметил, что если я нажму клавишу и буду держать, то обработчик вызывается, примерно, каждые 38 милисекунд. Я подозреваю, что на разных машинах будет разное время

Мне просто логика нужна. Может общие время должно считаться, а я должен считать дельту. Каша в голове, нужно поспать sleep
8Observer8Дата: Понедельник, 02 Февраля 2015, 18:31 | Сообщение # 727 | Тема: Плавное перемещение объектов с заданой скоростью
заслуженный участник
Сейчас нет на сайте
Цитата Tyr_Anassazi ()
У меня плавно перемещается. Только стартует (в т.ч. после остановки) не сразу, где-то через 0.5 - 1 секунду

Пока не придумал, как убрать задержку. Мне всё же кажется, что объект движется с небольшими рывками

Цитата last2424 ()
8Observer8, ничего не понял? Почему нельзя ежесекундно прибавлять скорость?

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

Позже подробнее напишу, кая я делаю и мысли по поводу движения
8Observer8Дата: Понедельник, 02 Февраля 2015, 13:15 | Сообщение # 728 | Тема: Плавное перемещение объектов с заданой скоростью
заслуженный участник
Сейчас нет на сайте
Привет

Никак не могу придумать, как перемещать объект с постоянной скоростью. У меня есть объект, который перемещается с помощью стрелок. При удержании клавиши объект будет плавно перемещаться с определённой скоростью. Подскажите идеи, как это можно реализовать?

Что-то вроде: я нажимаю кнопку -> запускается время -> объект перемещается на шаг -> сцена перерисовывается. Напишите логику на псевдокоде

На всякий случай, использую фреймворк Qt и OpenGL, но мне хочется почитать общие идеи, как сделать плавное перемещение. Объект у меня есть, но он движется отрывисто. Я могу менять скорость, но мой вариант меня не устраивает. Вот exe для Win7

На данный момент у меня логика такая:

- запускаю часы в милисекундах
- при нажатии на кнопку, я считываю количество милисекунд в переменную t и перезапускаю таймер
- я заметил, что если не отпускать кнопку, то t будет примерно равна 38 мсек
- Если t больше 100 мсек, я выхожу из функции обработки нажатия клавиши, в противном случае, я перемещаю объект на 0.1 * t
8Observer8Дата: Понедельник, 02 Февраля 2015, 11:27 | Сообщение # 729 | Тема: Opengl c++
заслуженный участник
Сейчас нет на сайте
Цитата Xakep ()
да там тоже самое, вообще изменения минимальные, только для OpenGL ES нужно писать как на OpenGL 3 и GLSL 330 примерно, устаревшие фенкции не поддерживаются, ну и у шейдеров нужно точность обязательно указывать, других отличий я пока не видел.


Не совсем тоже самое. Я использую Qt классы-обёртки типа: QOpenGLWidget, QOpenGLShaderProgram, QOpenGLShader, QOpenGLTexture, QMatrix4x4, QMatrix3x3. Ещё до кучи можно этих подбросить: OpenGL and OpenGL ES Integration

Правда шейдеры всё равно теже самые. Был у меня однажды спор. Некоторые люди утверждали, что нужно изучать OpenGL без обёрток. Но я остался при своём мнении, так как изучение "чистого" OpenGL для меня не самоцель, а цель - получать результат, как можно быстрее и проще, имея под рукой документацию на классы, того фреймворка, который использую каждый день. Спорные вопросы: стоит ли, например, изучать glBegin/glEnd в самом начале или с шейдеров начинать или использовать ли Qt обёртки или сначала уверенно овладеть "чистым" OpenGL. Я немного ознакомился с glBegin/glEnd, потом со списками рисования, далее чуть-чуть с рисованием с помощью glVertexPointer, glColorPointer, glDrawElements. А теперь только шейдеры, но использую их по минимуму. Рисую без VBO и VAO, а с помощью glDrawArrays. Очень много спорных моментов в жизни. Главное, наверное, практиковаться, а путей, фреймворков, способов рисования, языков и комбинаций инструментов так много! И ведь каждый будет говорить, что его выбор самый лучший. Кто к чему привык, то это и хвалит. Мне кажется, нужно просто делиться своим опытом и никому ничего не доказывать
8Observer8Дата: Воскресенье, 01 Февраля 2015, 22:03 | Сообщение # 730 | Тема: Opengl c++
заслуженный участник
Сейчас нет на сайте
elianyyf, у вас что-нибудь получилось? Продвинулись?

Я долго колебался: отвечать или нет... Врядли вам это будет полезно, так как я использую классы обёртки Qt над OpenGL ES (GLES, шейдеры), а вам нужен чистый OpenGL. Но всё же оставлю ссылку, как я рисую: ссылка

А это мой пример: Пример загрузки текстурного куба (Qt, OpenGL ES, Blender, Assimp, diffuse освещение)


Сообщение отредактировал 8Observer8 - Воскресенье, 01 Февраля 2015, 22:04
Форум игроделов » Записи участника » 8Observer8 [730]
  • Страница 37 из 37
  • «
  • 1
  • 2
  • 35
  • 36
  • 37
Поиск:

Все права сохранены. GcUp.ru © 2008-2020 Рейтинг