Блог Александра Божко
Архивы
Рубрики

Tips&Tricks

За последние дни мне пришло сразу несколько писем с вопросами относительно использования FireMonkey 3D. Прошу меня простить, если не сразу отвечаю на них, но ответы часто требуют некоторой подготовки. К тому же, не на все ваши вопросы можно ответить в двух словах. Естественно, что отвечать я планирую в данном блоге.

Данный пост родился в процессе подготовки одного из таких “ответов”. Описанный ниже прием я решил вынести в отдельный пост исключительно ради более удобной структуризации материала.

Как импортировать COLLADA (.dae) модель в FireMonkey программно (в Run Time).

Изначально, в секции uses необходимо подгрузить два модуля FMX.DAE.Importer и FMX.Import.

Приведенный ниже код демонстрирует как решить поставленную задачу.

var
MI: TDAEModelImporter;
ImSe: TModelImportServices;

begin
 MI:=TDAEModelImporter.Create;
 ImSe:=  TModelImportServices.Create;
 ImSe.RegisterImporter(MI);

 Model3D1.LoadFromFile('H:\ScreenShorts\SU_Model\cube.dae');

...
end;

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

О том, какие нюансы существуют при импорте моделей в FireMonkey - в следующем посте.

А пока напоминаю:

  1. До окончания конкурса осталось менее недели!
  2. Воспользоваться специальными предложениями Embarcadero вы можете только до 29 июня.

Другие статьи серии:

FireMonkey. Tips & Tricks #0
FireMonkey. Tips & Tricks #1
FireMonkey. Tips & Tricks #2 (Upd2)
FireMonkey. Tips & Tricks #4

Проблема, с которой столкнулся лично, и решение которой нашел тут, среди прочих полезных советов.

В формах FireMonkey отсутствуют обработчики многих полезных событий. В частности, OnKeyUp и OnKeyDown. Но, если посмотреть структуру FireMonkey класса TControl, от которого и наследуется в конечном счете форма, то в описании можно увидеть такой код: Читать далее

Screenshot - 10_12_2011 , 12_35_03 AMПри работе с 3D приложениями FireMonkey бывает достаточно сложно выделить объект (компонент)  на форме. Если меньший по размеру объект расположен “за” большим, то “поймать” его мышью фактически невозможно. Для того, что бы решить эту проблему следует использовать окноStructure” (находится в левой верхней части IDE). Хотя в более ранних версиях Delphi разработчики не часто его использовали, при разработке 3D приложений без него, пожалуй, не обойтись. Позицию объекта и угол поворота лучше задавать в Object Inspector. С помощью мыши вы сможете лишь приблизительно установить их значения. Не доверяйте представлению из одной точки. Переключившись на другую камеру, вы можете обнаружить, что два объекта друг относительно друга расположены не совсем так, как вы ожидали. Поэтому всегда старайтесь проверять абсолютные значения координат.

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

Другие статьи серии:

FireMonkey. Tips & Tricks #0
FireMonkey. Tips & Tricks #2 (Upd2)
FireMonkey. Tips & Tricks #3
FireMonkey. Tips & Tricks #4

Как я и обещал в предыдущем посте – новая рубрика. Название говорит само за себя.

Совет 1.

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

Другие статьи серии:

FireMonkey. Tips & Tricks #1
FireMonkey. Tips & Tricks #2 (Upd2)
FireMonkey. Tips & Tricks #3
FireMonkey. Tips & Tricks #4

Продукты DevArt
Купить онлайн:



Читай русскоязычные Delphi блоги
Каталог блогов Blogdir.ru
Яндекс.Метрика