среда, 29 октября 2014 г.
Panda3D ShowCase: Проекты на движке Panda3D
вторник, 14 октября 2014 г.
В разработке: Panda3D 1.9
Работа над данной версией ведется уже несколько месяцев и вот уже первые подробности.
Tessellation shaders
Compute shaders
Render-to-texture features
Debugging and profiling features
Выглядит очень интересно, не могу дождаться релиза, чего и Вам желаю :)
вторник, 3 февраля 2009 г.
Panda3D: Звук. Часть 1
Для воспрозведения звука в Panda3D используется 3 библиотеки:
OpenAL: это также весьма распространенная опен-сорс библиотека, поддерживаемая Panda3D. Можно с легкостью использоваться при создании коммерческого продукта. Единственное, что может в ней не нравится - это нестабильность при работе в unix-средах.
Miles:данная библиотека не идет в комлпекте с движком, поэтому необходимо скачать исходники движка и по шаблону скомпилировать вручную.
Также весьма применимыы библиотеки Pygame и PyOpenAL. (Pygame можно использовать вообще ак отдельное средство для разработки игр на Python`e :) ).
Для выбора желаемой библиотеки для работы с Panda3D необходимо попросту настроить движок (см. статью Panda3D: Настройка).
При конфигурировании параметра audio-library-name использовать следующие варианты: ibp3openal_audio, libp3fmod_audio, or libmiles_audio.
Имейте ввиду: при использовании FMOD на 64-битных системах возможны частые креши.
Теперь немного пошерстим код, позволяющий реализовать музыкальное оформление Ваших будущих проектов.
Логически звук в играх можно разделить на 2 большие категории: звуковые эффекты и собственно музыка. В это плане Panda3D не исключение. Теперь приступим к непосредственному изучению кода.
Импорт звука возможен при использовании "loader" класса. Как нам известно (из прошлых статей) данный класс возможно добавить следующей строкой кода в блоке импорта библиотек и т.д.
import direct.directbase.DirectStart
Теперь используем код для импорта непосредственно звукового файла:
mySound = loader.loadSfx("SoundFile.wav")
Здесь все предельно ясно. В левой части - имя, которое мы присваеваем проигрываемому файлу. Справа расположен код использования класса loader имя и путь к файлу. Важно помнить, что необходимо обязательно указывать расширение файла, а также импортировать форматы, которые поддерживает Panda3D
Чтобы проиграть звук вводим код:
mysound.play()
Для остановки проигрывания:
mysound.stop()
Уровень звука:
Уровень громкости варьируется между 0.1 и 1. Используем код:
mySound.setVolume(0.5) - к примеру
Расположение звукового источника:
Далее приведен код для позиционирования проигрываемого звука. Здесь параметр звука изменяется от -1.0 до 1.0. Следовательно, например, у вас стоит система 2.0, при значении -1.0 - звук будет идти из левой колонк, при 1.0 - из правой. Код:
mySound.setBalance(-0.5)
Это код, как правило, используют для создания в играх эффекта окружения. Также здесь стоит помнить что позиция игрока будет изменяться при движении, поэтому надо будет обновить координаты источника звука. Для этого в движке предусмотрена операция:
base.sfxManagerList[n].update()
Так как каждый кадр рендера воспроизводится отдельно, то данная операция позволяет изменять положение источника звука командой "update".
Данная операция работает и требуется для выполнения только в интерактивном режиме работы с приложениями на Panda3D.
Вообще, я решил разбить статью про звук на несколько частей, чтобы, как можно, подробнее осветить аспекты премудростей звука в данном движке.
С уважением, Dredd.
понедельник, 2 февраля 2009 г.
Panda3D: Настройка
Эта мини-статья посвящена, как вы уже поняли настройке параметров движка. Кто-то уже разобрался с этим, ну а я разложу по полочкам все для тех, кто еще ломает себе голову над настройкой параметров движка.
Вся кинфигурационная информация содержится в файле Config.prc (по умолчанию C:\Panda3D-1.5.4\etc ). Открыв его в любом текстовом редакторе мы получим доступ к редактированию. Далее я распишу основные (на мой взгляд) параметры, которые стоит менять в конфигурационном файле.
load-display - данная переменная отвечает за рендер-режим (варианты: pandagl;pandadx8). Думаю здесь все понятно. GL - используем библиотеку OpenGL, dx -Microsoft DirectX.
win-size - определяет размеры окна рендеринга Panda3D (варианты: 640 480, 800 600, 1024 768 и т.д.).
fullscreen - параметр полноэкранного отображения (варианты: #t,#f). Аналогия true - правда, false - ложь.
show-frame-rate-meter - включает показатель частоты кадров в секунду (варианты: #t, #f).
audio-library-name - переменная, отвечающая за библиотеку воспроизведения звука (описание использования звука будет отображено в ближайших статьях :) ).
basic-shaders-only - параметр, отвечающий за отображение и использование базовых шейдеров при рендере (варианты: #t, #f).
hardware-animated-vertices - параметр, отвечающий за включение\выключение аппаратной вертексной анимации (графический наворот если по-простому :) ). 1 - вкл, 0 - выкл.
Параметры:
model-path
sound-path
texture-path
отвечают за считывание информации из директорий.
Опять таки, повторюсь, что в данной статье я представил только те параметры, которые , по МОЕМУ мнению, весьма важны при работе с движком. Если Вы считаете, что это не так, я тоже в этом буду с вами солидарен :). За сим, позвольте откланяться, до новых статей.
С уважением, Dredd.
четверг, 8 января 2009 г.
Panda3D: Импорт моделей
В данной статье я рассмотрю только экспорт из 3DS Max (версия 3DS Max 2009), но, для тех кто понял данный принцип, не составит труда разобраться с другим 3D редактором.
Для начала необходимо скопировать плагин из директории движка (C:\Panda3D\plugins) в папку plugins папки, в которой установлен 3D Max. Перед запуском редактора не забудьте установить "vcredist_x86-sp1.exe"(поставляетяс вместе с движком: C:\Panda3D-1.5.4\bin). Затем запускаем собственно редактор.
Открываем модель, которую необходимо экспортировать. Я взял простой параллелепипед, так как модели для своего проекта еще рановато творить :)
Затем необходимо создать объект экспортера (см. скриншоты):
Теперь переходим на закладку "modify"т нажимаем кнопку "add" чтобы добавить объект для экспорта.
В окне экспорта мы выбираем экспортировать ли целую сцену или отдельный объект. Также есть выбор экспортируемой анимации.
Переводит выбор на "Export Meshes" и нажимаем кнопку "add", затем кликаем на наш объект. Затем нажимаем Select.
Указываем путь сохранения и имя .egg объекта и нажимаем ОК.
Затем нажимаем "Export Now" и вуаля, готово :)
Теперь данный объект можно использовать в приложениях на движке Panda3D.
С уважением, Dredd