Вставка трехмерной сцены в lazarus при помощи Castle Game Engine

Первое – это конечно создание самой сцены. Сцен или простую 3d модель можно создать в любом удобном вам редакторе, но затем ее необходимо экспортировать в форматы файлов VRML или X3D, так как Castle game engine поддерживает только такие файлы.

Мы будем использовать 3ds max. Создадим простую сцену с кубом на плоской земле и одним источником дневного света.

После создания необходимо экспортировать в VRML. Для этого вначале активируем встроенные плагины для VRML. В меню Customize выбираем Plug-in Manager…

Plug-in Manager

Затем в открывшимся окне ищем VRMLEXP.DLE и VRMLIMP.DLI

VRMLEXP.DLE и VRMLIMP.DLI

Далее Щелкаем правой кнопкой на Selected Plug-ins и выбираем Load. Так же делаем с вторым плагином.

 Selected Plug-ins

Теперь можно непосредственно приступить к экспорту.

экспорт

Выбираем File, затем Export. В открывшемся окне печатаем имя файла ( в данном случае это Prim), а тип файла выбираем VRML97(*.WRL). И нажимаем сохранить.
 Export

Теперь у нас готова пробная 3d сцена и нам необходимо вставить ее форму. У вас должен быть установлен Castle game engine для Lazarus.

В Lazarus Создаем новое приложение (Файл – Создать – Приложение – ОК). Для добавления сцены потребуются два компонента. Эти компоненты находятся на вкладке Castle.

 Castle

Это CastleControl и CastleScene. Если CastleScene не как не отобразится на форме, не беспокойтесь, он сработает только как хранилище сцены.

CastleScene

Теперь создаем событие FormCreate для нашей формы (Окно инспектор объектов – Form1:TForm1 – Вкладка события – OnCreate – Дважды щелкнуть по пустому полу рядом).

В окне редактора исходного кода должен появится такой код:

Теперь запускаем проект. Вот что получилось:

CastleScene

Сохранять проект необходимо в папке с именем на латинице. И путь так же на латинице это позволит избежать ошибок совместимости. Lazarus иногда некорректно работает с латиницей.

Так же, если на форме есть CastleControl, то при запуске сохраненного проекта могут возникнуть проблемы. Проект запустится, но логотип Lazarus не пропадет.

Если необходимо быстро запустить проект, то можно удалить с формы CastleControl и проект сразу запустится. Вернув на форму CastleControl можно продолжить работу. Поэтому желательно не менять имя CastleControl