Конвертирование и пропись дверей в OMSI
И вновь приветствую Вас мои дорогие фанаты омси. Сегодня я расскажу как прописать ширмовые (677, 260) двери в симулятор омси. По сути прописка ничем не отличается от прописки кузова, но есть парочка щепетильных моментов, о которых я расскажу.
Для начала нам нужно понять какой скрипт отвечает за анимацию дверей, для этого я открыл любой из стоковых манов и нашел вот такой скрипт:
[mesh]
имя_файла.o3d –
сама поворотная труба (как например в д77)[viewpoint] - видпоинт, указывается если трафиковый не трафиковый автобус (хотя там еще много параметров просто не помню))
3
[matl] - материал
D86-87_03.bmp
0
[matl_lightmap] - лайтмап )0о
D86_03_L1.bmp
lights_beleuchtung_unterdeck
[newanim]
origin_from_mesh
anim_rot
door_0
-83
---------------------------------
[mesh]
имя_файла.o3d - сама створка двери
[viewpoint]
3
[matl] - материал
D86-87_03.bmp
0
[matl_lightmap]
D86_03_L1.bmp
lights_beleuchtung_unterdeck
-----------------------------
[matl] - материал
D86_01.tga
0
[matl_envmap] - отражение
envmap_unscharf.bmp
10
[matl_bumpmap] - бамп мап
SD80_bump.bmp
0.05
[matl_transmap]
-----------------------------
[matl] - текстура дождя
regen.tga
0
[matl_alpha] - указываем прозрачность альфы
2
[alphascale] - и говорим что это появится при дожде
Rain_Window_Norm_Wetness
[matl_noZwrite] - очищаем буфер а то через стекло не будет видно салона Оо
-----------------------------
[matl] - тексутра грязи
D_dreck.tga
0
[alphascale]
Dirt_Norm
[matl_alpha]
2
[matl_noZwrite]
-----------------------------
[matl]
D86-87_03.bmp
1
[matl_transmap] - не помню
D86_trans.tga
[matl_alpha]
2
[matl_noZwrite]
-----------------------------
[matl] - текстура окошка изнутри
Fenster_braun_int.tga
0
[matl_noZwrite]
[matl_envmap]
envmap.bmp
0.15
[matl_alpha]
2
-----------------------------
[matl] - еще текстура окошка
Fenster_braun.tga
0
[matl_envmap]
envmap.bmp
1
[matl_alpha]
2
[alphascale]
Envir_Brightness
[matl_noZwrite]
-----------------------------
[matl]
D86_01.tga
1
[matl_transmap]
D86_trans.tga
[matl_alpha]
2
[matl_noZwrite]
-----------------------------
[matl] - текстура дождя
regen.tga
1
[matl_alpha]
2
[alphascale]
Rain_Window_Norm_Wetness
[matl_noZwrite]
-----------------------------
[matl] - грязь
D_dreck.tga
1
[alphascale]
Dirt_Norm
[matl_alpha]
2
-----------------------------
[newanim]
origin_trans - координата 1
1.196
5.102
0
origin_rot_x
0
origin_rot_y
-90
origin_rot_z
0
anim_rot
door_0
172
[newanim]
origin_trans - координата 2
1.121
5.387
0
origin_rot_x
0
origin_rot_y
-90
origin_rot_z
0
anim_rot
door_0
-83
+++++++++++++++++++++++++++++++++
Не все так просто да? Глаза бояться а руки делают! Но пока я рассмотрю только непосредственную работу дверей и его механизма.
Итак, я вырезал все текстурные прописи и оставил только это:
[mesh]
имя_файла.o3d – сама поворотная труба (как например в д77)
[newanim]
origin_from_mesh
anim_rot
door_0
-83
[mesh]
имя_файла.o3d - сама створка двери
[newanim]
origin_trans - координата 1
1.196
5.102
0
origin_rot_x
0
origin_rot_y
-90
origin_rot_z
0
anim_rot
door_0
172
[newanim]
origin_trans - координата 2
1.121
5.387
0
origin_rot_x
0
origin_rot_y
-90
origin_rot_z
0
anim_rot
door_0
-83
Как перевести наши двери из модели в o3d я напоминать не буду, для этого прочитайте мой первый туториал.
Надеюсь вы уже перевели Ваши двери в формат о3д? Тогда едем дальше
Сейчас нам нужно узнать координаты осей кручения от которых будет зависеть корректная работа дверей. Для этой цели нам очень сильно поможет Helper - помощник, который покажет нам координаты нужной точки.
Он называется Point. Чтобы создать его Create -> Helpers -> Point и кликнуть по нужному месту.
Далее передвинуть его в нужное место, в данном случае это центр трубы первой секции двери:
Записать координаты в первый скрипт:
[mesh]
D1R1.o3d
[newanim]
origin_trans
1.272
5.167
0
origin_rot_x
-90
origin_rot_y
0
origin_rot_z
90
anim_rot
door_0
-75
Теперь таким же способом узнаем координату места соединения первой и второй створки:
Так же запишем в скрипт:
[mesh]
D1R2.o3d
[newanim]
origin_trans
1.293
4.757
0
origin_rot_x
0
origin_rot_y
-90
origin_rot_z
0
anim_rot
door_0
152
Стоп... а где же вторая координата? Ведь для работы второй створки требуется вторая анимация с координатами. Именно так!! Вторую координату мы возьмем из первой, то есть центр поворотной трубы.
[mesh]
D1R1.o3d
[matl_alpha]
2
[newanim]
origin_trans
1.272
5.167
0
origin_rot_x
-90
origin_rot_y
0
origin_rot_z
90
anim_rot
door_0
-75
[mesh]
D1R2.o3d
[matl_alpha]
2
[newanim]
origin_trans
1.293
4.757
0
origin_rot_x
0
origin_rot_y
-90
origin_rot_z
0
anim_rot
door_0
152
[newanim]
origin_trans
1.272
5.167
0
origin_rot_x
0
origin_rot_y
-90
origin_rot_z
0
anim_rot
door_0
-73
И теперь по стандарту кладем наши файлы дверей в Model, текстуру в папку с texture. Запускаем:
К окошкам для теста я применил текстуру Fenster с отражением:
[mesh]
D1R1.o3d
[matl]
Fenster.tga
0
[matl_envmap]
envmap_lenkrad2.bmp
0.5
[matl_alpha]
2
[newanim]
origin_trans
1.272
5.167
0
origin_rot_x
-90
origin_rot_y
0
origin_rot_z
90
anim_rot
door_0
-75
[mesh]
D1R2.o3d
[matl]
Fenster.tga
0
[matl_envmap]
envmap_lenkrad2.bmp
0.5
[matl_alpha]
2
[newanim]
origin_trans
1.293
4.757
0
origin_rot_x
0
origin_rot_y
-90
origin_rot_z
0
anim_rot
door_0
152
[newanim]
origin_trans
1.272
5.167
0
origin_rot_x
0
origin_rot_y
-90
origin_rot_z
0
anim_rot
door_0
-73
Углы поворотов -75, 152 и -73 подбираются опытным путем (к каждой двери индивидуально).
С Уважением