ENG Новый сайт

Расширенный поиск

[ Новые сообщения · Пользователи · Правила ]
Страница 1 из 3123»
Форум » SpaceEngine » Архив » ИНСТРУКЦИЯ: Добавление кораблей 0.96 (Как добавить свою модель корабля)
ИНСТРУКЦИЯ: Добавление кораблей 0.96
SpaceEngineerДата: Вторник, 26.06.2012, 22:39 | Сообщение # 1
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 54
Статус: Offline
Как добавить модель корабля в SpaceEngine.

data\textures\spacecrafts\ - текстуры. Пока там почти пусто, но в будущем старайтесь использовать текстуры из этой папки. Чем больше кораблей используют одни и те же текстуры, тем экономичнее используется память. Новые текстуры вашей модели поместите сюда же.

data\models\spacecrafts\ - модели. Каждый корабль в своей папке, хотя это не обязательно. В будущем здесь будет библиотека моделей стандартных модулей, аналогично текстурам.

data\models\spacecrafts\spacecrafts.sc - скрипт кораблей (один на всех). Здесь описаны параметры корабля, ссылки на модель и текстуры, а также сохраняются координаты при выходе из игры.

Корабль поддерживает до 4 текстур (название - это имя параметра скрипта):
DiffMap - диффузная (т.е. цвет), RGB или RGBA (если есть альфа канал, он интерпретируется как яркость блика).
BumpMap - карта высот, Grayscale или RGB (лучше первое). Движок сам рассчитывает карту нормалей по ней.
NormMap - карта нормалей в tangent space, RGB. Если указана, то BumpMap и BumpHeight игнорируются.
DetailDiffMap - детальная диффузная текстура, т.е. мелкий цветной узор. Наносится на всю модель с повторениями, поэтому должна быть зациклена. Формат аналогичен DiffMap.
DetailBumpMap - детальная карта высот, т.е. мелкие неровности поверхности. Формат аналогичен BumpMap.

Текстуры лучше сохранять в формате png. Но помните, что фотошоп странно сохраняет RGBA текстуры - зачем-то умножает RGB на альфу и сохраняет как RGB. Чтобы это обойти, сохраняйте RGBA текстуры в формат tga, и преобразуйте их в правильный RGBA png движком - для этого надо в main.cfg установить ConvertRGBAtoPNG в true - тогда движок пересохранит все загруженные RGBA текстуры в формате png.

SE имеет свой бинарный формат модели *.sm (для быстрой загрузки). Для импорта модель надо сохранить её из вашего 3D редактора в формат *.obj и поместить в папку data\models\spacecrafts\название_модели\. После того как будет добавлен скрипт корабля (см. ниже), надо просто запустить SpaceEngine - он загрузит *.obj и автоматически сохранит его в *.sm в той же папке. После этого *.obj можно удалить. В зависимости от количества полигонов *.obj может грузиться довольно долго. Если надо обновить модель на новую версию, просто удалите *.sm и скопируйте в папку корабля новый *.obj.

При экспорте модели в *.obj в настройках необходимо выбрать экспорт треугольниками (triangles), а также поставить галочки - сохранять вершины (vertex), нормали (noramls) и текстурные координаты (texture coordinates). Создавать библиотеку материалов (файл *.mtl) не нужно. пример настроек для 3ds Max:



Пример скрипта:

Code

Spacecraft  "Shuttle"        // Имя корабля
{
            Class   "Shuttle"  // Класс (отображается в инфо о корабле в SE)
            Length   25.0      // Длина (в метрах)
            Mass     18000    // Масса (в кг)

            Unit   0.01     // длина юнита, использовавшегося в редакторе (в метрах)

            Albedo   0.07   // альбедо (влияет на яркость частицы, когда корабль далеко)
            Color  ( 1.00, 1.00, 1.00 )   // цвет частицы
            Exposure 3.0   // экспозиция (яркость модели при рендере)
            SpecularPower  150   // размер солнечного блика (больше число - меньше размер)
            SpecularBright 10     // яркость солнечного блика

            CurSystemID "-1.-1.-1.-1.-1.-1.-1.-1.72946.-1"    // ID системы, в которой находится корабль
            UnivPos     (-00000000000000006B30D582D581FBDE, -00000000000000012B589B31A42A8EE9, -0000000000000000801D739DBD10F1F2)   // абсолютные координаты корабля
            Orientation ( 1.619164836477896e-001, -1.779618234202016e-002, -8.603326175236310e-001, 4.830053161634170e-001 )   // кватернион ориентации корабля
            Velocity    ( 7.834106363267328e+000, -5.223117139752438e-001, 3.324021080510574e+000 )   // вектор скорости корабля
            AngVelocity ( 0.000000000000000e+000, 0.000000000000000e+000, 0.000000000000000e+000 )  // вектор угловой скорости (скорости вращения) корабля

            Orbit   // "парковочная орбита" (пока не используется)
            {
             Period          1.71119e-4
             SemiMajorAxis   4.927139e-5
             Eccentricity    0.0
             Inclination     0.0
             MeanAnomaly     135.27
             AscendingNode   125.08
             ArgOfPericen    318.14
            }

            Mesh    "Shuttle/shuttle4.sm"       // путь к модели корабля (в папке data\models\spacecrafts\)
            MeshEulerAngles (180, 270, 90)   // углы поворота модели

            DiffMap "Shuttle-diff.*"       // путь к диффузной текстуре (в папке data\textures\spacecrafts\)

            BumpMap "Shuttle-bump.*" // путь к карте высот
            BumpHeight 2.0                  // высота "рельефа" (насколько неровности будут выделяться)

            // закомментировано - этот корабль следующие параметры не используюет

            //NormMap "Shuttle-norm.*" // путь к карте нормалей

            //DetailDiffMap "Detail-noise.*"  // путь к детальной диффузной текстуре
            //DetailDiffScale  16.0               // масштаб детальной диффузной текстуры (сколько раз повторить)

            DetailBumpMap "Detail-noise.*"  // путь к детальной карте высот
            DetailBumpScale  32.0               // масштаб детальной карты высот (сколько раз повторить)
            DetailBumpHeight 0.5                // высота "рельефа" (насколько неровности будут выделяться)
}


Class
Допустимые классы кораблей:
"Probe" - зонд
"Shuttle" - шаттл
"Starship" - звездолёт
"Planetship" - межпланетный корабль
"Station" - станция

Length, Unit
Если указана длина юнита, длина корабля вычисляется и автоматически сохраняется в скрипт в параметр Length. Если длина юнита неизвестна, нужно указать приблизительную длину корабля в параметре Length. Всё в метрах.

MeshEulerAngles
Если корабль отображается двигателями кверху или задом наперёд, надо подобрать углы поворота. Можно делать это в движке - выбрать корабль, войти в режим Edit (два раза нажать *), и поворачивать корабль кнопками со стрелками и кнопками <, >. Шаг поворота - 90°, с shift - 1°. В инфо корабля пишутся значения углов, их надо прописать в скрипт.
Прикрепления: 7028776.png(18Kb)
ZergДата: Вторник, 10.07.2012, 16:00 | Сообщение # 2
Нет аватара
Наблюдатель
Группа: Новички
Российская Федерация
Сообщений: 1
Награды: 0
Статус: Offline
Поясните, пожалуйста, как модели кораблей ставить в заданное место. А еще лучше - как выводить на орбиту у конкретной планеты?
GV_FiQstДата: Вторник, 10.07.2012, 17:06 | Сообщение # 3
Строитель Миров
Группа: Команда SE
Украина
Сообщений: 1062
Награды: 3
Статус: Offline
Zerg, нажать ctrl+F3 потом нажать телепортировать корабль сюда

AMD Phenom II X2 555 3200 MHz;
RAM 4GB 1333 Hz;
ATI Radeon HD 5670 1024 Mb;
ОС Win 7 tabulorasa edition 32 bit
SnezhkaДата: Четверг, 12.07.2012, 19:36 | Сообщение # 4
Космонавт
Группа: Пользователи
Российская Федерация
Сообщений: 63
Награды: 2
Статус: Offline
Quote (SpaceEngineer)
Class
Допустимые классы кораблей:
"Probe" - зонд
"Shuttle" - шаттл
"Starship" - звездолёт
"Planetship" - межпланетный корабль
"Station" - станция


Сейчас не важно какой класс выбрать. Различий нету ( кроме название) ... или я что то упустила? rolleyes


QuadCore Intel Core i7 870, 2933 MHz (22 x 133)
8Gb PC3-15000 1866MHz DDR3
HD 7950 3GB
MefistofelДата: Пятница, 13.07.2012, 09:17 | Сообщение # 5
Исследователь
Группа: Команда SE
Пират
Сообщений: 173
Награды: 0
Статус: Offline
Не важно, они только в этой версии сделаны.
ПольДата: Пятница, 24.08.2012, 09:17 | Сообщение # 6
Космонавт
Группа: Пользователи
Российская Федерация
Сообщений: 53
Награды: 0
Статус: Offline
Доброго времени суток всем! У меня вопрос: По размещению модели объекта все понятно, особых проблем нет, но есть ли возможность "прикрутить" к своему плазмаходу какие-нибудь суперкрасивые сопельные выхлопы, чтобы сверхразогретые потоки ионизированного вещества призрачным светом озаряли корму твоего "детища" и яркость (длина) струи изменялась пропорциональна тяге? wacko

MS Windows 7x64; Thermaltake 750W;
AMD FX 4100 Buldozer 3.6 Hz; 8Gb RAM;
NVIDIA GeForce GTX 460 2048mb;
HD 750Gb; Samsung 24" 1920x1080
equeimДата: Пятница, 24.08.2012, 09:41 | Сообщение # 7
Космический пилот
Группа: Пользователи
Российская Федерация
Сообщений: 94
Награды: 1
Статус: Offline
Корабли доделывались в последние минуты перед выходом 0.96, так что все будет в следующий версиях smile
ПольДата: Пятница, 24.08.2012, 09:54 | Сообщение # 8
Космонавт
Группа: Пользователи
Российская Федерация
Сообщений: 53
Награды: 0
Статус: Offline
Ясно...но реализовать не представляет большой сложности, я так понимаю? И кто конкретно над этим процессом трудится? Если нужна посильная помощь, готов помочь (есть большое желание и небольшой опыт работы в 3D но полностью отсутствует знания движка программы, т.к. знаком с ней всего 2 дня smile )

MS Windows 7x64; Thermaltake 750W;
AMD FX 4100 Buldozer 3.6 Hz; 8Gb RAM;
NVIDIA GeForce GTX 460 2048mb;
HD 750Gb; Samsung 24" 1920x1080
FrancДата: Пятница, 24.08.2012, 12:22 | Сообщение # 9
Исследователь
Группа: Пользователи
Российская Федерация
Сообщений: 239
Награды: 1
Статус: Offline
Quote (Поль)
Если нужна посильная помощь, готов помочь

Нам такие люди позарез нужны!!! Добро пожаловать в SE!!!
ПольДата: Пятница, 24.08.2012, 15:13 | Сообщение # 10
Космонавт
Группа: Пользователи
Российская Федерация
Сообщений: 53
Награды: 0
Статус: Offline
Спасибо, остальное, я так понимаю, в привате?

MS Windows 7x64; Thermaltake 750W;
AMD FX 4100 Buldozer 3.6 Hz; 8Gb RAM;
NVIDIA GeForce GTX 460 2048mb;
HD 750Gb; Samsung 24" 1920x1080
SpaceEngineerДата: Пятница, 24.08.2012, 21:58 | Сообщение # 11
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 54
Статус: Offline
Quote (Поль)
Ясно...но реализовать не представляет большой сложности, я так понимаю? И кто конкретно над этим процессом трудится?

Я. Программирую один, поэтому помощь такого рода не требуетя. Модели - да, нужны.


ПольДата: Пятница, 24.08.2012, 22:25 | Сообщение # 12
Космонавт
Группа: Пользователи
Российская Федерация
Сообщений: 53
Награды: 0
Статус: Offline
Ок, значит буду делиться наработками

MS Windows 7x64; Thermaltake 750W;
AMD FX 4100 Buldozer 3.6 Hz; 8Gb RAM;
NVIDIA GeForce GTX 460 2048mb;
HD 750Gb; Samsung 24" 1920x1080
FrancДата: Воскресенье, 26.08.2012, 01:55 | Сообщение # 13
Исследователь
Группа: Пользователи
Российская Федерация
Сообщений: 239
Награды: 1
Статус: Offline
НЕЗАБЫВАЕМ ПОСЕЩАТЬ http://vk.com/spaceenginesim
SpaceEngineerДата: Воскресенье, 26.08.2012, 04:40 | Сообщение # 14
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 54
Статус: Offline
Franc, оставлять одно и то же сообщение в нескольких темах запрещено правилами форума.

SpaceEngineerДата: Воскресенье, 02.12.2012, 22:59 | Сообщение # 15
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 54
Статус: Offline
Делаю поддержку множественных текстур на модель, у авторов кораблей сохранились версии с отдельными текстурами (не атласами) на каждом модуле?

Форум » SpaceEngine » Архив » ИНСТРУКЦИЯ: Добавление кораблей 0.96 (Как добавить свою модель корабля)
Страница 1 из 3123»
Поиск:

>