Обзор SDK
После установки SDK рекомендуется начать с запуска приложения Конфигуратор (Configurator.exe). В утилите можно настроить базовые настройки движка, например переключить язык инструментария. Также утилита служит отправной точкой для запуска приложений инструментария.
Основные приложения SDK
Конфигуратор (Configurator.exe) - предназначен для настройки общих параметров движка, а также служит отправной точкой для запуска приложений инструментария. В приложении можно выбрать язык, настроить общие параметры графики, физики, звука.
Game.exe — это одновременно демо NeoAxis 3D Engine и скелет вашего будущего проекта. Приложение является фреймворком для разработки проекта, включает в себя систему меню, управление загрузкой карт, демонстрацию различных типов проектов, примеры карт и многое другое.
Редактор ресурсов — инструмент для управления ресурсами вашего проекта. Инструмент включает в себя возможности настройки 3D моделей, материалов, текстур, физических моделей, объектов логики проекта, возможности настройки пользовательских интерфейсов и другое
Редактор карт — инструмент для создания миров вашего проекта. Инструмент представляет собой комплексный редактор по управлению объектами на карте.
Демонстрационные приложения
WinForms Application Example (WinFormsAppExample.exe) — пример интеграции в Windows Forms приложение.
WinForms Multi View Application Example (WinFormsMultiViewAppExample.exe) — пример интеграции в Windows Forms приложение с демонстрацией нескольких 3D видов.
WPF Application Example (WPFAppExample.exe) — пример интеграции движка в WPF приложение с демонстрацией поддержки сети.
WPF Simple Application Example (WPFSimpleExample.exe) — простой пример интеграции движка в WPF приложение.
ChatExample.exe — пример реализации сетевого чата.
Дополнительные приложения
DedicatedServer.exe — приложение для создания выделенного сервера.
Инструмент для подготовки конечного продукта (DeploymentTool.exe) позволяет создать конечную версию вашего приложения для определенной платформы. Инструмент полезен для автоматизации подготовки конечного продукта.
Компилятор кеша шейдеров — инструмент для оптимизации скорости загрузки движка. Инструмент прекомпилирует шейдерные программы видеокарты. Лучшее время для запуска этого инструмента тогда, когда время загрузки вашего проекта становится слишком большим.
Структура папок SDK
Components — Дополнительные компоненты и расширения движка.
Project — Папка проекта.
Bin — Исполняемые файлы программ, входящих в инструментарий и демонстрационное приложение Game.exe.
Components — Файлы конфигураций дополнительных компонент движка.
Data — Папка с ресурсами проекта. Здесь находится весь контент проекта.
Game.app — Файлы для запуска на Mac OS X.
NativeDlls — Внутренние нативные библиотеки.
UserSettings — Различные пользовательские настройки, временные файлы, логи приложений.
Src — Исходные коды демо, которые одновременно будут являться каркасом вашего проекта.
SDK — Папка с дополнительными утилитами.
Docs — Справочник по API.
Tools — Дополнительные утилиты.
Exporters — Экспортеры моделей для пакетов трехмерного моделирования.
3dsMax — Экспортер моделей для Autodesk 3dsMax.
Maya — Экспортер моделей для Autodesk Maya.
Fonts — Утилиты для подготовки шрифтов.
Video — Утилиты для подготовки видео.
ffmpeg2theora — Утилита для конвертации видео в формат Ogg Theora.
Программирование в NeoAxis
Базированный на .NET API. API движка основано на .NET. C# является основным языком программирования. Поддерживается .NET версии 4.0 и выше.
Поддержка C/C++ и других языков. Существует возможность подключать библиотеки на C/C++ или любом другом языке программирования.
Фреймворк для быстрого и логичного старта. В комплект NeoAxis SDK включено приложение Game.exe, которое одновременно является демкой движка и скелетом вашего будущего проекта. Приложение является фреймворком для быстрой и логичной разработки проекта. Включает в себя систему меню, управление загрузкой карт, работу с устройствами ввода, примеры разных типов проектов, демонстрационные карты и многое другое. Используя фреймворк, разработчик не теряет времени на создание базового каркаса приложения и сразу переходит к решению проектной задачи.
Среда разработки
Для программирования в NeoAxis 3D Engine требуется .NET базированная среда разработки. Поддерживаются следующие:
Microsoft Visual Studio 2013 — среда разработки от Microsoft.
SharpDevelop — бесплатная среда разработки.
MonoDevelop — еще одна бесплатная среда.
Если вы новичок, рекомендуем начать с Microsoft Visual Studio (Express Edition).
Обзор исходного кода SDK
В папке с установленным SDK находится FreeEdition.sln. Откроем его в среде разработки.
Вы можете видеть список доступных проектов:
ChatExample — Пример реализации сетевого чата на базе Windows Forms.
DedicatedServer — Приложение для создания выделенного сервера.
ExampleAddonCreationMEAddon — Пример создания расширения для редактора карт.
ExampleAddonCreationREAddon — Пример создания расширения для редактора ресурсов.
Game — Точка входа приложения. Инициализация движка, классы для реализации структуры проекта, навигации игровых экранов и взаимодействия с пользователем.
ProjectCommon — Общие классы проекта, такие как, описание типов материалов, сетевые сервисы проекта, класс консоли движка, пользовательские гуи классы.
ProjectEntities — Исходный код классов проекта.
ProjectEntities.Editor — Исходный код классов проекта, которой нужен только для редактора.
WinFormsAppExample — Пример интеграции движка в Windows Forms приложение.
WinFormsMultiViewAppExample — Пример создания приложения с несколькими 3D видами на базе Windows Forms.
WPFAppExample — Пример интеграции движка в WPF приложение.
Основными являются сборки ProjectCommon, ProjectEntities и Game.
Мы рекомендуем использовать демо, как скелет для вашего проекта. Удалить весь код демо и переписать заново — не лучшая идея. Разработка проекта выглядит, как постепенное расширение и изменение доступного в SDK кода. В будущем, когда у вас будет больше опыта, вы сможете удалить ненужный код.
Скриптование карт
В дополнение к основному способу написания кода, существует возможность скриптования карт. Редактор карт включает в себя специальный редактор логики, который предназначен для добавления особого поведения объектов на карте. Редактор позволяет добавлять код на C#, присоединять реакцию на события и другое.