Some minor fixing
This commit is contained in:
parent
001077a1d6
commit
efb85f7328
@ -72,11 +72,19 @@
|
|||||||
"rotationX": 0.0,
|
"rotationX": 0.0,
|
||||||
"rotationY": 0.0,
|
"rotationY": 0.0,
|
||||||
"rotationZ": 0.0,
|
"rotationZ": 0.0,
|
||||||
"positionX": 0.0,
|
"positionX": 1.9653,
|
||||||
"positionY": -5.0,
|
"positionY": 1.0911,
|
||||||
"positionZ": 0.0,
|
"positionZ": 0.91977,
|
||||||
"scale": 1.0,
|
"scale": 1.0,
|
||||||
"interactive": false
|
"interactive": true,
|
||||||
|
"item": {
|
||||||
|
"id": "phone",
|
||||||
|
"name": "Телефон",
|
||||||
|
"description": "Я не могу себе представить жизнь без своего телефона",
|
||||||
|
"icon": "resources/fire2.png",
|
||||||
|
"radius": 0.3
|
||||||
|
},
|
||||||
|
"activateFunction" : "on_bookshelf_clicked"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Computer001",
|
"name": "Computer001",
|
||||||
@ -85,11 +93,12 @@
|
|||||||
"rotationX": 0.0,
|
"rotationX": 0.0,
|
||||||
"rotationY": 0.0,
|
"rotationY": 0.0,
|
||||||
"rotationZ": 0.0,
|
"rotationZ": 0.0,
|
||||||
"positionX": 0.0,
|
"positionX": 5.0916,
|
||||||
"positionY": -5.0,
|
"positionY": 1.1534,
|
||||||
"positionZ": 0.0,
|
"positionZ": 1.0568,
|
||||||
"scale": 1.0,
|
"scale": 1.0,
|
||||||
"interactive": false
|
"interactive": true,
|
||||||
|
"activateFunction" : "on_computer_clicked"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "DiningTable001",
|
"name": "DiningTable001",
|
||||||
@ -115,7 +124,15 @@
|
|||||||
"positionY": 0.91414,
|
"positionY": 0.91414,
|
||||||
"positionZ": 1.56758,
|
"positionZ": 1.56758,
|
||||||
"scale": 1.0,
|
"scale": 1.0,
|
||||||
"interactive": false
|
"interactive": true,
|
||||||
|
"item": {
|
||||||
|
"id": "knife",
|
||||||
|
"name": "Серебряный нож",
|
||||||
|
"description": "Этот серебряный нож я одолжил у Айпери, и я должен его вернуть.",
|
||||||
|
"icon": "resources/fire2.png",
|
||||||
|
"radius": 0.3
|
||||||
|
},
|
||||||
|
"activateFunction" : "on_knife_pickup"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Book001",
|
"name": "Book001",
|
||||||
@ -128,7 +145,15 @@
|
|||||||
"positionY": 0.95746,
|
"positionY": 0.95746,
|
||||||
"positionZ": 0.786023,
|
"positionZ": 0.786023,
|
||||||
"scale": 1.0,
|
"scale": 1.0,
|
||||||
"interactive": false
|
"interactive": true,
|
||||||
|
"item": {
|
||||||
|
"id": "phone",
|
||||||
|
"name": "Книга",
|
||||||
|
"description": "Это книга о манасчи Жусупе Мамае.",
|
||||||
|
"icon": "resources/fire2.png",
|
||||||
|
"radius": 0.3
|
||||||
|
},
|
||||||
|
"activateFunction" : "on_book_pickup"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "stairs",
|
"name": "stairs",
|
||||||
|
|||||||
@ -3,8 +3,8 @@
|
|||||||
{
|
{
|
||||||
"id": "npc_02_woman",
|
"id": "npc_02_woman",
|
||||||
"name": "Студентка",
|
"name": "Студентка",
|
||||||
"animationIdlePath": "resources/w/girl/girl_walk006.txt",
|
"animationIdlePath": "resources/w/girl/girl_walk010.txt",
|
||||||
"animationWalkPath": "resources/w/girl/girl_walk006.txt",
|
"animationWalkPath": "resources/w/girl/girl_walk010.txt",
|
||||||
"meshTextures": {
|
"meshTextures": {
|
||||||
"polySurface1": "resources/w/girl/Chat_02_diff_1.png"
|
"polySurface1": "resources/w/girl/Chat_02_diff_1.png"
|
||||||
},
|
},
|
||||||
@ -12,7 +12,7 @@
|
|||||||
"positionY": 0.0,
|
"positionY": 0.0,
|
||||||
"positionZ": -4.61801,
|
"positionZ": -4.61801,
|
||||||
"facingAngle" : 3.141592,
|
"facingAngle" : 3.141592,
|
||||||
"walkSpeed": 1.66,
|
"walkSpeed": 1.8,
|
||||||
"rotationSpeed": 8.0,
|
"rotationSpeed": 8.0,
|
||||||
"modelScale": 0.016,
|
"modelScale": 0.016,
|
||||||
"modelCorrectionRotX": 0.0,
|
"modelCorrectionRotX": 0.0,
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "npc_02_woman",
|
"id": "npc_02_woman",
|
||||||
"name": "Бегимай",
|
"name": "Айпери",
|
||||||
"animationIdlePath": "resources/w/girl/girl_walk002.txt",
|
"animationIdlePath": "resources/w/girl/girl_walk002.txt",
|
||||||
"animationWalkPath": "resources/w/girl/girl_walk002.txt",
|
"animationWalkPath": "resources/w/girl/girl_walk002.txt",
|
||||||
"meshTextures": {
|
"meshTextures": {
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
{
|
{
|
||||||
"id": "line_1",
|
"id": "line_1",
|
||||||
"type": "Line",
|
"type": "Line",
|
||||||
"speaker": "Бегимай",
|
"speaker": "Айпери",
|
||||||
"portrait": "resources/w/avatar_girlfriend.png",
|
"portrait": "resources/w/avatar_girlfriend.png",
|
||||||
"text": "Ты куда собрался, Бекзат?",
|
"text": "Ты куда собрался, Бекзат?",
|
||||||
"next": "line_2"
|
"next": "line_2"
|
||||||
@ -15,7 +15,7 @@
|
|||||||
{
|
{
|
||||||
"id": "line_2",
|
"id": "line_2",
|
||||||
"type": "Line",
|
"type": "Line",
|
||||||
"speaker": "Бегимай",
|
"speaker": "Айпери",
|
||||||
"portrait": "resources/w/avatar_girlfriend.png",
|
"portrait": "resources/w/avatar_girlfriend.png",
|
||||||
"text": "Пока ты не заберешь нож из учительской, никуда я тебя не выпущу.",
|
"text": "Пока ты не заберешь нож из учительской, никуда я тебя не выпущу.",
|
||||||
"next": "end_1"
|
"next": "end_1"
|
||||||
@ -25,12 +25,104 @@
|
|||||||
"type": "End"
|
"type": "End"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "teacher_dialog001",
|
||||||
|
"start": "line_1",
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"id": "line_1",
|
||||||
|
"type": "Line",
|
||||||
|
"speaker": "Аида Дженибековна",
|
||||||
|
"portrait": "resources/w/avatar_teacher.png",
|
||||||
|
"text": "Бекзат, тебе отдельное задание на модуль.",
|
||||||
|
"next": "line_2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "line_2",
|
||||||
|
"type": "Line",
|
||||||
|
"speaker": "Аида Дженибековна",
|
||||||
|
"portrait": "resources/w/avatar_teacher.png",
|
||||||
|
"text": "Подготовь презентацию по теме \"Манас в изложении Жусупа Мамая\".",
|
||||||
|
"next": "line_3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "line_3",
|
||||||
|
"type": "Line",
|
||||||
|
"speaker": "Аида Дженибековна",
|
||||||
|
"portrait": "resources/w/avatar_teacher.png",
|
||||||
|
"text": "Книга лежит в библиотеке, но забирать ее из библиотеки нельзя.",
|
||||||
|
"next": "line_4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "line_4",
|
||||||
|
"type": "Line",
|
||||||
|
"speaker": "Бекзат",
|
||||||
|
"portrait": "resources/w/gg/gg2_s_podsvetkoy5.png",
|
||||||
|
"text": "Как же я буду готовиться к презентации, если книгу забирать нельзя?",
|
||||||
|
"next": "line_5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "line_5",
|
||||||
|
"type": "Line",
|
||||||
|
"speaker": "Аида Дженибековна",
|
||||||
|
"portrait": "resources/w/avatar_teacher.png",
|
||||||
|
"text": "Там в библиотеке есть компьютер, напиши презентацию прямо на нем.",
|
||||||
|
"next": "line_6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "line_6",
|
||||||
|
"type": "Line",
|
||||||
|
"speaker": "Аида Дженибековна",
|
||||||
|
"portrait": "resources/w/avatar_teacher.png",
|
||||||
|
"text": "Там в библиотеке есть компьютер, напиши презентацию прямо на нем.",
|
||||||
|
"next": "line_7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "line_7",
|
||||||
|
"type": "Line",
|
||||||
|
"speaker": "Бекзат",
|
||||||
|
"portrait": "resources/w/gg/gg2_s_podsvetkoy5.png",
|
||||||
|
"text": "Ладно...",
|
||||||
|
"next": "end_1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "end_1",
|
||||||
|
"type": "End"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "book_dialog001",
|
||||||
|
"start": "line_1",
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"id": "line_1",
|
||||||
|
"type": "Line",
|
||||||
|
"speaker": "Бекзат",
|
||||||
|
"portrait": "resources/w/gg/gg2_s_podsvetkoy5.png",
|
||||||
|
"text": "Мне стоит вернуь книгу на место, прежде чем уходить из библиотеки.",
|
||||||
|
"next": "line_2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "line_2",
|
||||||
|
"type": "Line",
|
||||||
|
"speaker": "Бекзат",
|
||||||
|
"portrait": "resources/w/gg/gg2_s_podsvetkoy5.png",
|
||||||
|
"text": "Иначе Аида Дженибековна меня убъет.",
|
||||||
|
"next": "end_1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "end_1",
|
||||||
|
"type": "End"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"cutscenes": [
|
"cutscenes": [
|
||||||
{
|
{
|
||||||
"id": "test_cutscene_01",
|
"id": "test_cutscene_01",
|
||||||
"background": "resources/test_cutscene1_fix.png",
|
"background": "resources/test_cutscene001.png",
|
||||||
"durationMs": 25000,
|
"durationMs": 25000,
|
||||||
"fadeOutMs": 500,
|
"fadeOutMs": 500,
|
||||||
"fadeInMs": 500,
|
"fadeInMs": 500,
|
||||||
@ -57,6 +149,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"lines": [
|
"lines": [
|
||||||
|
{
|
||||||
|
"speaker": "Аида Дженибековна",
|
||||||
|
"portrait": "resources/hero.png",
|
||||||
|
"text": "Здравствуйте, студенты. Кого я вижу, где вы были весь семестр?",
|
||||||
|
"durationMs": 3000
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"speaker": "Аида Дженибековна",
|
"speaker": "Аида Дженибековна",
|
||||||
"portrait": "resources/hero.png",
|
"portrait": "resources/hero.png",
|
||||||
@ -74,7 +172,7 @@
|
|||||||
"portrait": "resources/hero.png",
|
"portrait": "resources/hero.png",
|
||||||
"text": "Этот мир описан в эпосе Манас как Кайып или Аль-Гайб, но некоторые ученые называют его миром теней.",
|
"text": "Этот мир описан в эпосе Манас как Кайып или Аль-Гайб, но некоторые ученые называют его миром теней.",
|
||||||
"durationMs": 3000,
|
"durationMs": 3000,
|
||||||
"background": "resources/test_cutscene2_fix.png"
|
"background": "resources/test_cutscene001.png"
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -82,49 +180,49 @@
|
|||||||
"portrait": "resources/hero.png",
|
"portrait": "resources/hero.png",
|
||||||
"text": "В этом мире обитают феи, духи и джинны. Простым смертным в этот мир дорога закрыта.",
|
"text": "В этом мире обитают феи, духи и джинны. Простым смертным в этот мир дорога закрыта.",
|
||||||
"durationMs": 3000,
|
"durationMs": 3000,
|
||||||
"background": "resources/test_cutscene2_fix.png"
|
"background": "resources/test_cutscene001.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"speaker": "Аида Дженибековна",
|
"speaker": "Аида Дженибековна",
|
||||||
"portrait": "resources/hero.png",
|
"portrait": "resources/hero.png",
|
||||||
"text": "Время там течет по другому - за один день в теневом мире могут пройти годы жизни обычного мира.",
|
"text": "Время там течет по другому - за один день в теневом мире могут пройти годы жизни обычного мира.",
|
||||||
"durationMs": 3000,
|
"durationMs": 3000,
|
||||||
"background": "resources/test_cutscene3_fix.png"
|
"background": "resources/test_cutscene001.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"speaker": "Аида Дженибековна",
|
"speaker": "Аида Дженибековна",
|
||||||
"portrait": "resources/hero.png",
|
"portrait": "resources/hero.png",
|
||||||
"text": "Обычно, мир теней никак не пересекается с нашим миром живых людей.",
|
"text": "Обычно, мир теней никак не пересекается с нашим миром живых людей.",
|
||||||
"durationMs": 2000,
|
"durationMs": 2000,
|
||||||
"background": "resources/test_cutscene3_fix.png"
|
"background": "resources/test_cutscene001.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"speaker": "Аида Дженибековна",
|
"speaker": "Аида Дженибековна",
|
||||||
"portrait": "resources/hero.png",
|
"portrait": "resources/hero.png",
|
||||||
"text": "Но в критические моменты для народа, обитатели теневого мира могут приходить в наш мир.",
|
"text": "Но в критические моменты для народа, обитатели теневого мира могут приходить в наш мир.",
|
||||||
"durationMs": 2000,
|
"durationMs": 2000,
|
||||||
"background": "resources/test_cutscene3_fix.png"
|
"background": "resources/test_cutscene001.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"speaker": "Аида Дженибековна",
|
"speaker": "Аида Дженибековна",
|
||||||
"portrait": "resources/hero.png",
|
"portrait": "resources/hero.png",
|
||||||
"text": "Совсем недавно закончилась пандемия, а сегодня мир захлестнули кровавые войны.",
|
"text": "Совсем недавно закончилась пандемия, а сегодня мир захлестнули кровавые войны.",
|
||||||
"durationMs": 2000,
|
"durationMs": 2000,
|
||||||
"background": "resources/test_cutscene1_fix.png"
|
"background": "resources/test_cutscene001.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"speaker": "Аида Дженибековна",
|
"speaker": "Аида Дженибековна",
|
||||||
"portrait": "resources/hero.png",
|
"portrait": "resources/hero.png",
|
||||||
"text": "В такие кризисные моменты истории, грань между мирами становится особенно тонкой.",
|
"text": "В такие кризисные моменты истории, грань между мирами становится особенно тонкой.",
|
||||||
"durationMs": 2000,
|
"durationMs": 2000,
|
||||||
"background": "resources/test_cutscene1_fix.png"
|
"background": "resources/test_cutscene001.png"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"speaker": "Аида Дженибековна",
|
"speaker": "Аида Дженибековна",
|
||||||
"portrait": "resources/hero.png",
|
"portrait": "resources/hero.png",
|
||||||
"text": "На сегодня лекция завершена. Домашнее задание - к практическому занятию вы должны подготовить презентации, каждый по своей теме.",
|
"text": "На сегодня лекция завершена. Домашнее задание - к практическому занятию вы должны подготовить презентации, каждый по своей теме.",
|
||||||
"durationMs": 2000,
|
"durationMs": 2000,
|
||||||
"background": "resources/test_cutscene3_fix.png"
|
"background": "resources/test_cutscene001.png"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@ -35,6 +35,15 @@ game_api.set_trigger_zone_callbacks("knife_dialog_zone001",
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
function on_knife_pickup()
|
||||||
|
game_api.pickup_item("knife")
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function on_book_pickup()
|
||||||
|
game_api.pickup_item("book")
|
||||||
|
end
|
||||||
|
|
||||||
function on_npc_interact(npc_index)
|
function on_npc_interact(npc_index)
|
||||||
print("[Lua] NPC interaction! Index: " .. tostring(npc_index))
|
print("[Lua] NPC interaction! Index: " .. tostring(npc_index))
|
||||||
if npc_index == 1 then
|
if npc_index == 1 then
|
||||||
|
|||||||
BIN
resources/test_cutscene001.png
(Stored with Git LFS)
Normal file
BIN
resources/test_cutscene001.png
(Stored with Git LFS)
Normal file
Binary file not shown.
100979
resources/w/girl/girl_walk010.txt
Normal file
100979
resources/w/girl/girl_walk010.txt
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,123 +1,123 @@
|
|||||||
===Vertices (Split by UV/Normal): 119
|
===Vertices (Split by UV/Normal): 119
|
||||||
V 0: Pos(0.735579, 4.710862, 6.186687) Norm(-0.577341, -0.577355, 0.577355) UV(0.622728, 0.985786)
|
V 0: Pos(-0.321174, -0.380694, 0.03328) Norm(-0.577341, -0.577355, 0.577355) UV(0.622728, 0.985786)
|
||||||
V 1: Pos(0.735579, 5.010581, 6.026967) Norm(-0.577341, 0.577355, -0.577355) UV(0.701365, 0.838077)
|
V 1: Pos(-0.321174, -0.080976, -0.12644) Norm(-0.577341, 0.577355, -0.577355) UV(0.701365, 0.838077)
|
||||||
V 2: Pos(0.735579, 4.710862, 6.026967) Norm(-0.57735, -0.577325, -0.577377) UV(0.701365, 0.985786)
|
V 2: Pos(-0.321174, -0.380694, -0.12644) Norm(-0.57735, -0.577325, -0.577377) UV(0.701365, 0.985786)
|
||||||
V 3: Pos(0.735579, 5.010581, 6.186687) Norm(-0.57735, 0.577325, 0.577377) UV(0.84347, 0.785241)
|
V 3: Pos(-0.321174, -0.080976, 0.03328) Norm(-0.57735, 0.577325, 0.577377) UV(0.84347, 0.785241)
|
||||||
V 4: Pos(1.095298, 5.010581, 6.026967) Norm(0.57735, 0.577325, -0.577377) UV(0.764763, 0.962461)
|
V 4: Pos(0.038545, -0.080976, -0.12644) Norm(0.57735, 0.577325, -0.577377) UV(0.764763, 0.962461)
|
||||||
V 5: Pos(0.735579, 5.010581, 6.026967) Norm(-0.577341, 0.577355, -0.577355) UV(0.764763, 0.785276)
|
V 5: Pos(-0.321174, -0.080976, -0.12644) Norm(-0.577341, 0.577355, -0.577355) UV(0.764763, 0.785276)
|
||||||
V 6: Pos(1.095298, 5.010581, 6.186687) Norm(0.577341, 0.577355, 0.577355) UV(-0.0, 0.985999)
|
V 6: Pos(0.038545, -0.080976, 0.03328) Norm(0.577341, 0.577355, 0.577355) UV(-0.0, 0.985999)
|
||||||
V 7: Pos(1.095298, 4.710862, 6.026967) Norm(0.577341, -0.577355, -0.577355) UV(0.078326, 0.83829)
|
V 7: Pos(0.038545, -0.380694, -0.12644) Norm(0.577341, -0.577355, -0.577355) UV(0.078326, 0.83829)
|
||||||
V 8: Pos(1.095298, 5.010581, 6.026967) Norm(0.57735, 0.577325, -0.577377) UV(0.078326, 0.985999)
|
V 8: Pos(0.038545, -0.080976, -0.12644) Norm(0.57735, 0.577325, -0.577377) UV(0.078326, 0.985999)
|
||||||
V 9: Pos(1.095298, 4.710862, 6.186687) Norm(0.57735, -0.577325, 0.577377) UV(0.843469, 0.962426)
|
V 9: Pos(0.038545, -0.380694, 0.03328) Norm(0.57735, -0.577325, 0.577377) UV(0.843469, 0.962426)
|
||||||
V 10: Pos(0.735579, 4.710862, 6.026967) Norm(-0.57735, -0.577325, -0.577377) UV(0.922175, 0.785276)
|
V 10: Pos(-0.321174, -0.380694, -0.12644) Norm(-0.57735, -0.577325, -0.577377) UV(0.922175, 0.785276)
|
||||||
V 11: Pos(1.095298, 4.710862, 6.026967) Norm(0.577341, -0.577355, -0.577355) UV(0.922175, 0.962461)
|
V 11: Pos(0.038545, -0.380694, -0.12644) Norm(0.577341, -0.577355, -0.577355) UV(0.922175, 0.962461)
|
||||||
V 12: Pos(1.095298, 5.010581, 6.026967) Norm(0.57735, 0.577325, -0.577377) UV(0.717688, 0.0)
|
V 12: Pos(0.038545, -0.080976, -0.12644) Norm(0.57735, 0.577325, -0.577377) UV(0.717688, 0.0)
|
||||||
V 13: Pos(0.735579, 4.710862, 6.026967) Norm(-0.57735, -0.577325, -0.577377) UV(0.865397, 0.17727)
|
V 13: Pos(-0.321174, -0.380694, -0.12644) Norm(-0.57735, -0.577325, -0.577377) UV(0.865397, 0.17727)
|
||||||
V 14: Pos(0.735579, 5.010581, 6.026967) Norm(-0.577341, 0.577355, -0.577355) UV(0.717688, 0.17727)
|
V 14: Pos(-0.321174, -0.080976, -0.12644) Norm(-0.577341, 0.577355, -0.577355) UV(0.717688, 0.17727)
|
||||||
V 15: Pos(0.735579, 5.010581, 6.186687) Norm(-0.57735, 0.577325, 0.577377) UV(0.764763, 0.60813)
|
V 15: Pos(-0.321174, -0.080976, 0.03328) Norm(-0.57735, 0.577325, 0.577377) UV(0.764763, 0.60813)
|
||||||
V 16: Pos(1.095298, 4.710862, 6.186687) Norm(0.57735, -0.577325, 0.577377) UV(0.912472, 0.785241)
|
V 16: Pos(0.038545, -0.380694, 0.03328) Norm(0.57735, -0.577325, 0.577377) UV(0.912472, 0.785241)
|
||||||
V 17: Pos(1.095298, 5.010581, 6.186687) Norm(0.577341, 0.577355, 0.577355) UV(0.764763, 0.785241)
|
V 17: Pos(0.038545, -0.080976, 0.03328) Norm(0.577341, 0.577355, 0.577355) UV(0.764763, 0.785241)
|
||||||
V 18: Pos(0.441861, 5.434348, 6.437831) Norm(-0.57734, -0.577355, 0.577355) UV(0.865397, 0.0)
|
V 18: Pos(-0.614892, 0.342792, 0.284424) Norm(-0.57734, -0.577355, 0.577355) UV(0.865397, 0.0)
|
||||||
V 19: Pos(0.441861, 5.653039, 6.019138) Norm(-0.57734, 0.577355, -0.577355) UV(0.973174, 0.206141)
|
V 19: Pos(-0.614892, 0.561483, -0.134268) Norm(-0.57734, 0.577355, -0.577355) UV(0.973174, 0.206141)
|
||||||
V 20: Pos(0.441861, 5.434348, 6.019138) Norm(-0.577355, -0.577371, -0.577325) UV(0.865397, 0.206141)
|
V 20: Pos(-0.614892, 0.342792, -0.134268) Norm(-0.577355, -0.577371, -0.577325) UV(0.865397, 0.206141)
|
||||||
V 21: Pos(0.441861, 5.653039, 6.437831) Norm(-0.577355, 0.577371, 0.577325) UV(0.206323, 0.553153)
|
V 21: Pos(-0.614892, 0.561483, 0.284424) Norm(-0.577355, 0.577371, 0.577325) UV(0.206323, 0.553153)
|
||||||
V 22: Pos(1.020553, 5.653039, 6.019138) Norm(0.577355, 0.577371, -0.577325) UV(0.0, 0.83829)
|
V 22: Pos(-0.0362, 0.561483, -0.134268) Norm(0.577355, 0.577371, -0.577325) UV(0.0, 0.83829)
|
||||||
V 23: Pos(0.441861, 5.653039, 6.019138) Norm(-0.57734, 0.577355, -0.577355) UV(0.0, 0.553246)
|
V 23: Pos(-0.614892, 0.561483, -0.134268) Norm(-0.57734, 0.577355, -0.577355) UV(0.0, 0.553246)
|
||||||
V 24: Pos(1.020553, 5.653039, 6.437831) Norm(0.57734, 0.577355, 0.577355) UV(0.867943, 0.277359)
|
V 24: Pos(-0.0362, 0.561483, 0.284424) Norm(0.57734, 0.577355, 0.577355) UV(0.867943, 0.277359)
|
||||||
V 25: Pos(1.020553, 5.434348, 6.019138) Norm(0.57734, -0.577355, -0.577355) UV(0.97572, 0.482684)
|
V 25: Pos(-0.0362, 0.342792, -0.134268) Norm(0.57734, -0.577355, -0.577355) UV(0.97572, 0.482684)
|
||||||
V 26: Pos(1.020553, 5.653039, 6.019138) Norm(0.577355, 0.577371, -0.577325) UV(0.867943, 0.482684)
|
V 26: Pos(-0.0362, 0.561483, -0.134268) Norm(0.577355, 0.577371, -0.577325) UV(0.867943, 0.482684)
|
||||||
V 27: Pos(1.020553, 5.434348, 6.437831) Norm(0.577355, -0.577371, 0.577325) UV(0.206322, 0.838197)
|
V 27: Pos(-0.0362, 0.342792, 0.284424) Norm(0.577355, -0.577371, 0.577325) UV(0.206322, 0.838197)
|
||||||
V 28: Pos(0.441861, 5.434348, 6.019138) Norm(-0.577355, -0.577371, -0.577325) UV(0.412645, 0.553246)
|
V 28: Pos(-0.614892, 0.342792, -0.134268) Norm(-0.577355, -0.577371, -0.577325) UV(0.412645, 0.553246)
|
||||||
V 29: Pos(1.020553, 5.434348, 6.019138) Norm(0.57734, -0.577355, -0.577355) UV(0.412645, 0.83829)
|
V 29: Pos(-0.0362, 0.342792, -0.134268) Norm(0.57734, -0.577355, -0.577355) UV(0.412645, 0.83829)
|
||||||
V 30: Pos(1.020553, 5.653039, 6.019138) Norm(0.577355, 0.577371, -0.577325) UV(0.514952, 0.553153)
|
V 30: Pos(-0.0362, 0.561483, -0.134268) Norm(0.577355, 0.577371, -0.577325) UV(0.514952, 0.553153)
|
||||||
V 31: Pos(0.441861, 5.434348, 6.019138) Norm(-0.577355, -0.577371, -0.577325) UV(0.622728, 0.838334)
|
V 31: Pos(-0.614892, 0.342792, -0.134268) Norm(-0.577355, -0.577371, -0.577325) UV(0.622728, 0.838334)
|
||||||
V 32: Pos(0.441861, 5.653039, 6.019138) Norm(-0.57734, 0.577355, -0.577355) UV(0.514952, 0.838334)
|
V 32: Pos(-0.614892, 0.561483, -0.134268) Norm(-0.57734, 0.577355, -0.577355) UV(0.514952, 0.838334)
|
||||||
V 33: Pos(0.441861, 5.653039, 6.437831) Norm(-0.577355, 0.577371, 0.577325) UV(0.622728, 0.553153)
|
V 33: Pos(-0.614892, 0.561483, 0.284424) Norm(-0.577355, 0.577371, 0.577325) UV(0.622728, 0.553153)
|
||||||
V 34: Pos(1.020553, 5.434348, 6.437831) Norm(0.577355, -0.577371, 0.577325) UV(0.730505, 0.838077)
|
V 34: Pos(-0.0362, 0.342792, 0.284424) Norm(0.577355, -0.577371, 0.577325) UV(0.730505, 0.838077)
|
||||||
V 35: Pos(1.020553, 5.653039, 6.437831) Norm(0.57734, 0.577355, 0.577355) UV(0.622728, 0.838077)
|
V 35: Pos(-0.0362, 0.561483, 0.284424) Norm(0.57734, 0.577355, 0.577355) UV(0.622728, 0.838077)
|
||||||
V 36: Pos(0.53154, 4.669188, 6.377977) Norm(-0.820942, -0.525784, 0.222722) UV(0.551589, 0.17729)
|
V 36: Pos(-0.525213, -0.422368, 0.22457) Norm(-0.820942, -0.525784, 0.222722) UV(0.551589, 0.17729)
|
||||||
V 37: Pos(0.672102, 5.02893, 6.046834) Norm(-0.410063, 0.525784, -0.745251) UV(0.717688, 0.0)
|
V 37: Pos(-0.384651, -0.062626, -0.106573) Norm(-0.410063, 0.525784, -0.745251) UV(0.717688, 0.0)
|
||||||
V 38: Pos(0.672102, 4.669188, 6.046834) Norm(-0.41003, -0.525802, -0.745257) UV(0.717688, 0.17729)
|
V 38: Pos(-0.384651, -0.422368, -0.106573) Norm(-0.41003, -0.525802, -0.745257) UV(0.717688, 0.17729)
|
||||||
V 39: Pos(0.53154, 5.02893, 6.377977) Norm(-0.820924, 0.525802, 0.222749) UV(0.049252, 0.277359)
|
V 39: Pos(-0.525213, -0.062626, 0.22457) Norm(-0.820924, 0.525802, 0.222749) UV(0.049252, 0.277359)
|
||||||
V 40: Pos(1.226283, 5.128869, 6.1735) Norm(0.688382, 0.618212, -0.379399) UV(0.275794, -0.0)
|
V 40: Pos(0.16953, 0.037313, 0.020093) Norm(0.688382, 0.618212, -0.379399) UV(0.275794, -0.0)
|
||||||
V 41: Pos(0.672102, 5.02893, 6.046834) Norm(-0.410063, 0.525784, -0.745251) UV(0.226542, 0.277359)
|
V 41: Pos(-0.384651, -0.062626, -0.106573) Norm(-0.410063, 0.525784, -0.745251) UV(0.226542, 0.277359)
|
||||||
V 42: Pos(1.007622, 5.128869, 6.688632) Norm(0.20531, 0.618198, 0.758735) UV(0.27372, 0.553153)
|
V 42: Pos(-0.049131, 0.037313, 0.535225) Norm(0.20531, 0.618198, 0.758735) UV(0.27372, 0.553153)
|
||||||
V 43: Pos(1.226283, 4.56925, 6.1735) Norm(0.688409, -0.618198, -0.379374) UV(0.537026, 0.277359)
|
V 43: Pos(0.16953, -0.522306, 0.020093) Norm(0.688409, -0.618198, -0.379374) UV(0.537026, 0.277359)
|
||||||
V 44: Pos(1.226283, 5.128869, 6.1735) Norm(0.688382, 0.618212, -0.379399) UV(0.537026, 0.553153)
|
V 44: Pos(0.16953, 0.037313, 0.020093) Norm(0.688382, 0.618212, -0.379399) UV(0.537026, 0.553153)
|
||||||
V 45: Pos(1.007622, 4.56925, 6.688632) Norm(0.205273, -0.618211, 0.758734) UV(0.551589, -0.0)
|
V 45: Pos(-0.049131, -0.522306, 0.535225) Norm(0.205273, -0.618211, 0.758734) UV(0.551589, -0.0)
|
||||||
V 46: Pos(0.672102, 4.669188, 6.046834) Norm(-0.41003, -0.525802, -0.745257) UV(0.325047, 0.277359)
|
V 46: Pos(-0.384651, -0.422368, -0.106573) Norm(-0.41003, -0.525802, -0.745257) UV(0.325047, 0.277359)
|
||||||
V 47: Pos(1.226283, 4.56925, 6.1735) Norm(0.688409, -0.618198, -0.379374) UV(0.275794, -0.0)
|
V 47: Pos(0.16953, -0.522306, 0.020093) Norm(0.688409, -0.618198, -0.379374) UV(0.275794, -0.0)
|
||||||
V 48: Pos(1.226283, 5.128869, 6.1735) Norm(0.688382, 0.618212, -0.379399) UV(-0.0, 0.553153)
|
V 48: Pos(0.16953, 0.037313, 0.020093) Norm(0.688382, 0.618212, -0.379399) UV(-0.0, 0.553153)
|
||||||
V 49: Pos(0.672102, 4.669188, 6.046834) Norm(-0.41003, -0.525802, -0.745257) UV(0.27372, 0.326611)
|
V 49: Pos(-0.384651, -0.422368, -0.106573) Norm(-0.41003, -0.525802, -0.745257) UV(0.27372, 0.326611)
|
||||||
V 50: Pos(0.672102, 5.02893, 6.046834) Norm(-0.410063, 0.525784, -0.745251) UV(0.27372, 0.503901)
|
V 50: Pos(-0.384651, -0.062626, -0.106573) Norm(-0.410063, 0.525784, -0.745251) UV(0.27372, 0.503901)
|
||||||
V 51: Pos(0.53154, 5.02893, 6.377977) Norm(-0.820924, 0.525802, 0.222749) UV(0.537025, 0.503901)
|
V 51: Pos(-0.525213, -0.062626, 0.22457) Norm(-0.820924, 0.525802, 0.222749) UV(0.537025, 0.503901)
|
||||||
V 52: Pos(1.007622, 4.56925, 6.688632) Norm(0.205273, -0.618211, 0.758734) UV(0.764763, 0.277359)
|
V 52: Pos(-0.049131, -0.522306, 0.535225) Norm(0.205273, -0.618211, 0.758734) UV(0.764763, 0.277359)
|
||||||
V 53: Pos(1.007622, 5.128869, 6.688632) Norm(0.20531, 0.618198, 0.758735) UV(0.764763, 0.553154)
|
V 53: Pos(-0.049131, 0.037313, 0.535225) Norm(0.20531, 0.618198, 0.758735) UV(0.764763, 0.553154)
|
||||||
V 54: Pos(1.326249, 4.523787, 6.105271) Norm(-0.468337, -0.577333, 0.66884) UV(0.730505, 0.883925)
|
V 54: Pos(0.269496, -0.567769, -0.048135) Norm(-0.468337, -0.577333, 0.66884) UV(0.730505, 0.883925)
|
||||||
V 55: Pos(1.317363, 5.19496, 6.054874) Norm(-0.668842, 0.577346, -0.468318) UV(0.755124, 0.553154)
|
V 55: Pos(0.26061, 0.103404, -0.098532) Norm(-0.668842, 0.577346, -0.468318) UV(0.755124, 0.553154)
|
||||||
V 56: Pos(1.317363, 4.523787, 6.054874) Norm(-0.66884, -0.577359, -0.468305) UV(0.755124, 0.883925)
|
V 56: Pos(0.26061, -0.567769, -0.098532) Norm(-0.66884, -0.577359, -0.468305) UV(0.755124, 0.883925)
|
||||||
V 57: Pos(1.326249, 5.19496, 6.105271) Norm(-0.468341, 0.577346, 0.668826) UV(0.893159, 0.482684)
|
V 57: Pos(0.269496, 0.103404, -0.048135) Norm(-0.468341, 0.577346, 0.668826) UV(0.893159, 0.482684)
|
||||||
V 58: Pos(1.525328, 5.19496, 6.018205) Norm(0.468341, 0.577347, -0.668826) UV(0.867943, 0.586724)
|
V 58: Pos(0.468575, 0.103404, -0.135202) Norm(0.468341, 0.577347, -0.668826) UV(0.867943, 0.586724)
|
||||||
V 59: Pos(1.317363, 5.19496, 6.054874) Norm(-0.668842, 0.577346, -0.468318) UV(0.867943, 0.482698)
|
V 59: Pos(0.26061, 0.103404, -0.098532) Norm(-0.668842, 0.577346, -0.468318) UV(0.867943, 0.482698)
|
||||||
V 60: Pos(1.534214, 5.19496, 6.068602) Norm(0.668842, 0.577346, 0.468319) UV(0.97572, 0.60813)
|
V 60: Pos(0.477461, 0.103404, -0.084805) Norm(0.668842, 0.577346, 0.468319) UV(0.97572, 0.60813)
|
||||||
V 61: Pos(1.525328, 4.523787, 6.018205) Norm(0.468338, -0.577334, -0.668838) UV(1.0, 0.277359)
|
V 61: Pos(0.468575, -0.567769, -0.135202) Norm(0.468338, -0.577334, -0.668838) UV(1.0, 0.277359)
|
||||||
V 62: Pos(1.525328, 5.19496, 6.018205) Norm(0.468341, 0.577347, -0.668826) UV(1.0, 0.60813)
|
V 62: Pos(0.468575, 0.103404, -0.135202) Norm(0.468341, 0.577347, -0.668826) UV(1.0, 0.60813)
|
||||||
V 63: Pos(1.525328, 4.523787, 6.018205) Norm(0.468338, -0.577334, -0.668838) UV(0.918374, 0.586724)
|
V 63: Pos(0.468575, -0.567769, -0.135202) Norm(0.468338, -0.577334, -0.668838) UV(0.918374, 0.586724)
|
||||||
V 64: Pos(1.326249, 4.523787, 6.105271) Norm(-0.468337, -0.577333, 0.66884) UV(0.893159, 0.482684)
|
V 64: Pos(0.269496, -0.567769, -0.048135) Norm(-0.468337, -0.577333, 0.66884) UV(0.893159, 0.482684)
|
||||||
V 65: Pos(1.317363, 4.523787, 6.054874) Norm(-0.66884, -0.577359, -0.468305) UV(0.918374, 0.482698)
|
V 65: Pos(0.26061, -0.567769, -0.098532) Norm(-0.66884, -0.577359, -0.468305) UV(0.918374, 0.482698)
|
||||||
V 66: Pos(1.525328, 5.19496, 6.018205) Norm(0.468341, 0.577347, -0.668826) UV(0.412645, 0.883924)
|
V 66: Pos(0.468575, 0.103404, -0.135202) Norm(0.468341, 0.577347, -0.668826) UV(0.412645, 0.883924)
|
||||||
V 67: Pos(1.317363, 4.523787, 6.054874) Norm(-0.66884, -0.577359, -0.468305) UV(0.514952, 0.553153)
|
V 67: Pos(0.26061, -0.567769, -0.098532) Norm(-0.66884, -0.577359, -0.468305) UV(0.514952, 0.553153)
|
||||||
V 68: Pos(1.317363, 5.19496, 6.054874) Norm(-0.668842, 0.577346, -0.468318) UV(0.514952, 0.883924)
|
V 68: Pos(0.26061, 0.103404, -0.098532) Norm(-0.668842, 0.577346, -0.468318) UV(0.514952, 0.883924)
|
||||||
V 69: Pos(1.326249, 5.19496, 6.105271) Norm(-0.468341, 0.577346, 0.668826) UV(0.764763, 0.60813)
|
V 69: Pos(0.269496, 0.103404, -0.048135) Norm(-0.468341, 0.577346, 0.668826) UV(0.764763, 0.60813)
|
||||||
V 70: Pos(1.534214, 4.523787, 6.068602) Norm(0.668839, -0.577358, 0.468307) UV(0.867943, 0.277359)
|
V 70: Pos(0.477461, -0.567769, -0.084805) Norm(0.668839, -0.577358, 0.468307) UV(0.867943, 0.277359)
|
||||||
V 71: Pos(1.534214, 5.19496, 6.068602) Norm(0.668842, 0.577346, 0.468319) UV(0.867943, 0.60813)
|
V 71: Pos(0.477461, 0.103404, -0.084805) Norm(0.668842, 0.577346, 0.468319) UV(0.867943, 0.60813)
|
||||||
V 72: Pos(1.299895, 5.312884, 6.070292) Norm(-0.577358, -0.577347, 0.577347) UV(0.551589, 0.260175)
|
V 72: Pos(0.243142, 0.221328, -0.083115) Norm(-0.577358, -0.577347, 0.577347) UV(0.551589, 0.260175)
|
||||||
V 73: Pos(1.299895, 5.376978, 6.026197) Norm(-0.577358, 0.577347, -0.577347) UV(0.573298, 0.228587)
|
V 73: Pos(0.243142, 0.285422, -0.127209) Norm(-0.577358, 0.577347, -0.577347) UV(0.573298, 0.228587)
|
||||||
V 74: Pos(1.299895, 5.312884, 6.026197) Norm(-0.577359, -0.577332, -0.577359) UV(0.573298, 0.260175)
|
V 74: Pos(0.243142, 0.221328, -0.127209) Norm(-0.577359, -0.577332, -0.577359) UV(0.573298, 0.260175)
|
||||||
V 75: Pos(1.299895, 5.376978, 6.070292) Norm(-0.577359, 0.577332, 0.577359) UV(0.658221, 0.17729)
|
V 75: Pos(0.243142, 0.285422, -0.083115) Norm(-0.577359, 0.577332, 0.577359) UV(0.658221, 0.17729)
|
||||||
V 76: Pos(1.40399, 5.376978, 6.026197) Norm(0.577359, 0.577332, -0.577359) UV(0.636492, 0.228573)
|
V 76: Pos(0.347237, 0.285422, -0.127209) Norm(0.577359, 0.577332, -0.577359) UV(0.636492, 0.228573)
|
||||||
V 77: Pos(1.299895, 5.376978, 6.026197) Norm(-0.577358, 0.577347, -0.577347) UV(0.636492, 0.177299)
|
V 77: Pos(0.243142, 0.285422, -0.127209) Norm(-0.577358, 0.577347, -0.577347) UV(0.636492, 0.177299)
|
||||||
V 78: Pos(1.40399, 5.376978, 6.070292) Norm(0.577358, 0.577347, 0.577347) UV(0.573298, 0.260175)
|
V 78: Pos(0.347237, 0.285422, -0.083115) Norm(0.577358, 0.577347, 0.577347) UV(0.573298, 0.260175)
|
||||||
V 79: Pos(1.40399, 5.312884, 6.026197) Norm(0.577358, -0.577347, -0.577347) UV(0.594921, 0.228588)
|
V 79: Pos(0.347237, 0.221328, -0.127209) Norm(0.577358, -0.577347, -0.577347) UV(0.594921, 0.228588)
|
||||||
V 80: Pos(1.40399, 5.376978, 6.026197) Norm(0.577359, 0.577332, -0.577359) UV(0.594921, 0.260175)
|
V 80: Pos(0.347237, 0.285422, -0.127209) Norm(0.577359, 0.577332, -0.577359) UV(0.594921, 0.260175)
|
||||||
V 81: Pos(1.40399, 5.312884, 6.070292) Norm(0.577359, -0.577332, 0.577359) UV(0.614763, 0.228563)
|
V 81: Pos(0.347237, 0.221328, -0.083115) Norm(0.577359, -0.577332, 0.577359) UV(0.614763, 0.228563)
|
||||||
V 82: Pos(1.299895, 5.312884, 6.026197) Norm(-0.577359, -0.577332, -0.577359) UV(0.636492, 0.177299)
|
V 82: Pos(0.243142, 0.221328, -0.127209) Norm(-0.577359, -0.577332, -0.577359) UV(0.636492, 0.177299)
|
||||||
V 83: Pos(1.40399, 5.312884, 6.026197) Norm(0.577358, -0.577347, -0.577347) UV(0.636492, 0.228573)
|
V 83: Pos(0.347237, 0.221328, -0.127209) Norm(0.577358, -0.577347, -0.577347) UV(0.636492, 0.228573)
|
||||||
V 84: Pos(1.40399, 5.376978, 6.026197) Norm(0.577359, 0.577332, -0.577359) UV(0.551589, 0.17729)
|
V 84: Pos(0.347237, 0.285422, -0.127209) Norm(0.577359, 0.577332, -0.577359) UV(0.551589, 0.17729)
|
||||||
V 85: Pos(1.299895, 5.312884, 6.026197) Norm(-0.577359, -0.577332, -0.577359) UV(0.583176, 0.228588)
|
V 85: Pos(0.243142, 0.221328, -0.127209) Norm(-0.577359, -0.577332, -0.577359) UV(0.583176, 0.228588)
|
||||||
V 86: Pos(1.299895, 5.376978, 6.026197) Norm(-0.577358, 0.577347, -0.577347) UV(0.551589, 0.228588)
|
V 86: Pos(0.243142, 0.285422, -0.127209) Norm(-0.577358, 0.577347, -0.577347) UV(0.551589, 0.228588)
|
||||||
V 87: Pos(1.299895, 5.376978, 6.070292) Norm(-0.577359, 0.577332, 0.577359) UV(0.583176, 0.17729)
|
V 87: Pos(0.243142, 0.285422, -0.083115) Norm(-0.577359, 0.577332, 0.577359) UV(0.583176, 0.17729)
|
||||||
V 88: Pos(1.40399, 5.312884, 6.070292) Norm(0.577359, -0.577332, 0.577359) UV(0.614763, 0.228541)
|
V 88: Pos(0.347237, 0.221328, -0.083115) Norm(0.577359, -0.577332, 0.577359) UV(0.614763, 0.228541)
|
||||||
V 89: Pos(1.40399, 5.376978, 6.070292) Norm(0.577358, 0.577347, 0.577347) UV(0.583176, 0.228541)
|
V 89: Pos(0.347237, 0.285422, -0.083115) Norm(0.577358, 0.577347, 0.577347) UV(0.583176, 0.228541)
|
||||||
V 90: Pos(0.735579, 5.010581, 6.186687) Norm(-0.57735, 0.577325, 0.577377) UV(0.622728, 0.838077)
|
V 90: Pos(-0.321174, -0.080976, 0.03328) Norm(-0.57735, 0.577325, 0.577377) UV(0.622728, 0.838077)
|
||||||
V 91: Pos(1.095298, 5.010581, 6.186687) Norm(0.577341, 0.577355, 0.577355) UV(0.84347, 0.962426)
|
V 91: Pos(0.038545, -0.080976, 0.03328) Norm(0.577341, 0.577355, 0.577355) UV(0.84347, 0.962426)
|
||||||
V 92: Pos(1.095298, 4.710862, 6.186687) Norm(0.57735, -0.577325, 0.577377) UV(-0.0, 0.83829)
|
V 92: Pos(0.038545, -0.380694, 0.03328) Norm(0.57735, -0.577325, 0.577377) UV(-0.0, 0.83829)
|
||||||
V 93: Pos(0.735579, 4.710862, 6.186687) Norm(-0.577341, -0.577355, 0.577355) UV(0.843469, 0.785241)
|
V 93: Pos(-0.321174, -0.380694, 0.03328) Norm(-0.577341, -0.577355, 0.577355) UV(0.843469, 0.785241)
|
||||||
V 94: Pos(1.095298, 4.710862, 6.026967) Norm(0.577341, -0.577355, -0.577355) UV(0.865397, 0.0)
|
V 94: Pos(0.038545, -0.380694, -0.12644) Norm(0.577341, -0.577355, -0.577355) UV(0.865397, 0.0)
|
||||||
V 95: Pos(0.735579, 4.710862, 6.186687) Norm(-0.577341, -0.577355, 0.577355) UV(0.912472, 0.60813)
|
V 95: Pos(-0.321174, -0.380694, 0.03328) Norm(-0.577341, -0.577355, 0.577355) UV(0.912472, 0.60813)
|
||||||
V 96: Pos(0.441861, 5.653039, 6.437831) Norm(-0.577355, 0.577371, 0.577325) UV(0.973174, 0.0)
|
V 96: Pos(-0.614892, 0.561483, 0.284424) Norm(-0.577355, 0.577371, 0.577325) UV(0.973174, 0.0)
|
||||||
V 97: Pos(1.020553, 5.653039, 6.437831) Norm(0.57734, 0.577355, 0.577355) UV(0.206323, 0.838198)
|
V 97: Pos(-0.0362, 0.561483, 0.284424) Norm(0.57734, 0.577355, 0.577355) UV(0.206323, 0.838198)
|
||||||
V 98: Pos(1.020553, 5.434348, 6.437831) Norm(0.577355, -0.577371, 0.577325) UV(0.97572, 0.277359)
|
V 98: Pos(-0.0362, 0.342792, 0.284424) Norm(0.577355, -0.577371, 0.577325) UV(0.97572, 0.277359)
|
||||||
V 99: Pos(0.441861, 5.434348, 6.437831) Norm(-0.57734, -0.577355, 0.577355) UV(0.206322, 0.553153)
|
V 99: Pos(-0.614892, 0.342792, 0.284424) Norm(-0.57734, -0.577355, 0.577355) UV(0.206322, 0.553153)
|
||||||
V 100: Pos(1.020553, 5.434348, 6.019138) Norm(0.57734, -0.577355, -0.577355) UV(0.622728, 0.553153)
|
V 100: Pos(-0.0362, 0.342792, -0.134268) Norm(0.57734, -0.577355, -0.577355) UV(0.622728, 0.553153)
|
||||||
V 101: Pos(0.441861, 5.434348, 6.437831) Norm(-0.57734, -0.577355, 0.577355) UV(0.730505, 0.553153)
|
V 101: Pos(-0.614892, 0.342792, 0.284424) Norm(-0.57734, -0.577355, 0.577355) UV(0.730505, 0.553153)
|
||||||
V 102: Pos(0.53154, 5.02893, 6.377977) Norm(-0.820924, 0.525802, 0.222749) UV(0.551589, 0.0)
|
V 102: Pos(-0.525213, -0.062626, 0.22457) Norm(-0.820924, 0.525802, 0.222749) UV(0.551589, 0.0)
|
||||||
V 103: Pos(1.007622, 5.128869, 6.688632) Norm(0.20531, 0.618198, 0.758735) UV(-0.0, -0.0)
|
V 103: Pos(-0.049131, 0.037313, 0.535225) Norm(0.20531, 0.618198, 0.758735) UV(-0.0, -0.0)
|
||||||
V 104: Pos(1.007622, 4.56925, 6.688632) Norm(0.205273, -0.618211, 0.758734) UV(0.27372, 0.277359)
|
V 104: Pos(-0.049131, -0.522306, 0.535225) Norm(0.205273, -0.618211, 0.758734) UV(0.27372, 0.277359)
|
||||||
V 105: Pos(0.53154, 4.669188, 6.377977) Norm(-0.820942, -0.525784, 0.222722) UV(0.502336, 0.277359)
|
V 105: Pos(-0.525213, -0.422368, 0.22457) Norm(-0.820942, -0.525784, 0.222722) UV(0.502336, 0.277359)
|
||||||
V 106: Pos(1.226283, 4.56925, 6.1735) Norm(0.688409, -0.618198, -0.379374) UV(-0.0, 0.277359)
|
V 106: Pos(0.16953, -0.522306, 0.020093) Norm(0.688409, -0.618198, -0.379374) UV(-0.0, 0.277359)
|
||||||
V 107: Pos(0.53154, 4.669188, 6.377977) Norm(-0.820942, -0.525784, 0.222722) UV(0.537025, 0.326611)
|
V 107: Pos(-0.525213, -0.422368, 0.22457) Norm(-0.820942, -0.525784, 0.222722) UV(0.537025, 0.326611)
|
||||||
V 108: Pos(1.326249, 5.19496, 6.105271) Norm(-0.468341, 0.577346, 0.668826) UV(0.730505, 0.553154)
|
V 108: Pos(0.269496, 0.103404, -0.048135) Norm(-0.468341, 0.577346, 0.668826) UV(0.730505, 0.553154)
|
||||||
V 109: Pos(1.534214, 5.19496, 6.068602) Norm(0.668842, 0.577346, 0.468319) UV(0.893159, 0.58671)
|
V 109: Pos(0.477461, 0.103404, -0.084805) Norm(0.668842, 0.577346, 0.468319) UV(0.893159, 0.58671)
|
||||||
V 110: Pos(1.534214, 4.523787, 6.068602) Norm(0.668839, -0.577358, 0.468307) UV(0.97572, 0.277359)
|
V 110: Pos(0.477461, -0.567769, -0.084805) Norm(0.668839, -0.577358, 0.468307) UV(0.97572, 0.277359)
|
||||||
V 111: Pos(1.534214, 4.523787, 6.068602) Norm(0.668839, -0.577358, 0.468307) UV(0.893159, 0.58671)
|
V 111: Pos(0.477461, -0.567769, -0.084805) Norm(0.668839, -0.577358, 0.468307) UV(0.893159, 0.58671)
|
||||||
V 112: Pos(1.525328, 4.523787, 6.018205) Norm(0.468338, -0.577334, -0.668838) UV(0.412645, 0.553153)
|
V 112: Pos(0.468575, -0.567769, -0.135202) Norm(0.468338, -0.577334, -0.668838) UV(0.412645, 0.553153)
|
||||||
V 113: Pos(1.326249, 4.523787, 6.105271) Norm(-0.468337, -0.577333, 0.66884) UV(0.764763, 0.277359)
|
V 113: Pos(0.269496, -0.567769, -0.048135) Norm(-0.468337, -0.577333, 0.66884) UV(0.764763, 0.277359)
|
||||||
V 114: Pos(1.299895, 5.376978, 6.070292) Norm(-0.577359, 0.577332, 0.577359) UV(0.551589, 0.228587)
|
V 114: Pos(0.243142, 0.285422, -0.083115) Norm(-0.577359, 0.577332, 0.577359) UV(0.551589, 0.228587)
|
||||||
V 115: Pos(1.40399, 5.376978, 6.070292) Norm(0.577358, 0.577347, 0.577347) UV(0.658221, 0.228563)
|
V 115: Pos(0.347237, 0.285422, -0.083115) Norm(0.577358, 0.577347, 0.577347) UV(0.658221, 0.228563)
|
||||||
V 116: Pos(1.40399, 5.312884, 6.070292) Norm(0.577359, -0.577332, 0.577359) UV(0.573298, 0.228588)
|
V 116: Pos(0.347237, 0.221328, -0.083115) Norm(0.577359, -0.577332, 0.577359) UV(0.573298, 0.228588)
|
||||||
V 117: Pos(1.299895, 5.312884, 6.070292) Norm(-0.577358, -0.577347, 0.577347) UV(0.614763, 0.17729)
|
V 117: Pos(0.243142, 0.221328, -0.083115) Norm(-0.577358, -0.577347, 0.577347) UV(0.614763, 0.17729)
|
||||||
V 118: Pos(1.40399, 5.312884, 6.026197) Norm(0.577358, -0.577347, -0.577347) UV(0.583176, 0.17729)
|
V 118: Pos(0.347237, 0.221328, -0.127209) Norm(0.577358, -0.577347, -0.577347) UV(0.583176, 0.17729)
|
||||||
|
|
||||||
===Triangles (Indices): 60
|
===Triangles (Indices): 60
|
||||||
Tri: 0 1 2
|
Tri: 0 1 2
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -149,6 +149,8 @@ CutsceneLine DialogueDatabase::parseCutsceneLine(const json& j) {
|
|||||||
line.portrait = j.value("portrait", "");
|
line.portrait = j.value("portrait", "");
|
||||||
line.sfx = j.value("sfx", "");
|
line.sfx = j.value("sfx", "");
|
||||||
line.background = j.value("background", "");
|
line.background = j.value("background", "");
|
||||||
|
line.backgroundWidth = j.value("backgroundWidth", 0);
|
||||||
|
line.backgroundHeight = j.value("backgroundHeight", 0);
|
||||||
line.durationMs = j.value("durationMs", 0);
|
line.durationMs = j.value("durationMs", 0);
|
||||||
line.waitForConfirm = j.value("waitForConfirm", false);
|
line.waitForConfirm = j.value("waitForConfirm", false);
|
||||||
return line;
|
return line;
|
||||||
@ -194,6 +196,8 @@ StaticCutsceneDefinition DialogueDatabase::parseCutscene(const json& j) {
|
|||||||
StaticCutsceneDefinition cutscene;
|
StaticCutsceneDefinition cutscene;
|
||||||
cutscene.id = j.value("id", "");
|
cutscene.id = j.value("id", "");
|
||||||
cutscene.background = j.value("background", "");
|
cutscene.background = j.value("background", "");
|
||||||
|
cutscene.backgroundWidth = j.value("backgroundWidth", 1280);
|
||||||
|
cutscene.backgroundHeight = j.value("backgroundHeight", 720);
|
||||||
cutscene.music = j.value("music", "");
|
cutscene.music = j.value("music", "");
|
||||||
cutscene.skippable = j.value("skippable", true);
|
cutscene.skippable = j.value("skippable", true);
|
||||||
cutscene.durationMs = j.value("durationMs", 0);
|
cutscene.durationMs = j.value("durationMs", 0);
|
||||||
|
|||||||
@ -408,14 +408,17 @@ void DialogueOverlay::drawCutscene(Renderer& renderer, const PresentationModel&
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const float texW = static_cast<float>(texture->getWidth());
|
// Logical content dimensions for camera and UV math.
|
||||||
const float texH = static_cast<float>(texture->getHeight());
|
// backgroundWidth/backgroundHeight define the coordinate space the camera track was authored in;
|
||||||
|
// the texture is assumed to fill this space entirely regardless of its actual pixel dimensions.
|
||||||
|
const float imgW = (model.backgroundWidth > 0) ? static_cast<float>(model.backgroundWidth) : static_cast<float>(texture->getWidth());
|
||||||
|
const float imgH = (model.backgroundHeight > 0) ? static_cast<float>(model.backgroundHeight) : static_cast<float>(texture->getHeight());
|
||||||
|
|
||||||
ResolvedViewport layerViewport{};
|
ResolvedViewport layerViewport{};
|
||||||
|
|
||||||
if (model.cutsceneCamera.active) {
|
if (model.cutsceneCamera.active) {
|
||||||
const ResolvedViewport fromViewport = resolveViewportPose(model.cutsceneCamera.from, texW, texH, W, H);
|
const ResolvedViewport fromViewport = resolveViewportPose(model.cutsceneCamera.from, imgW, imgH, W, H);
|
||||||
const ResolvedViewport toViewport = resolveViewportPose(model.cutsceneCamera.to, texW, texH, W, H);
|
const ResolvedViewport toViewport = resolveViewportPose(model.cutsceneCamera.to, imgW, imgH, W, H);
|
||||||
layerViewport = blendViewport(
|
layerViewport = blendViewport(
|
||||||
fromViewport,
|
fromViewport,
|
||||||
toViewport,
|
toViewport,
|
||||||
@ -423,7 +426,7 @@ void DialogueOverlay::drawCutscene(Renderer& renderer, const PresentationModel&
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
layerViewport = resolveViewportPose(CutsceneCameraPose{}, texW, texH, W, H);
|
layerViewport = resolveViewportPose(CutsceneCameraPose{}, imgW, imgH, W, H);
|
||||||
}
|
}
|
||||||
|
|
||||||
const float halfW = layerViewport.widthPx * 0.5f;
|
const float halfW = layerViewport.widthPx * 0.5f;
|
||||||
@ -440,7 +443,7 @@ void DialogueOverlay::drawCutscene(Renderer& renderer, const PresentationModel&
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
// Source viewport corners in image pixel space (origin = bottom-left)
|
// Source viewport corners in logical image space, then converted to UV via actual texture size.
|
||||||
const Eigen::Vector2f srcBL = rotatePoint(-halfW, -halfH);
|
const Eigen::Vector2f srcBL = rotatePoint(-halfW, -halfH);
|
||||||
const Eigen::Vector2f srcTL = rotatePoint(-halfW, +halfH);
|
const Eigen::Vector2f srcTL = rotatePoint(-halfW, +halfH);
|
||||||
const Eigen::Vector2f srcTR = rotatePoint(+halfW, +halfH);
|
const Eigen::Vector2f srcTR = rotatePoint(+halfW, +halfH);
|
||||||
@ -448,8 +451,8 @@ void DialogueOverlay::drawCutscene(Renderer& renderer, const PresentationModel&
|
|||||||
|
|
||||||
auto toUV = [&](const Eigen::Vector2f& p) -> Eigen::Vector2f {
|
auto toUV = [&](const Eigen::Vector2f& p) -> Eigen::Vector2f {
|
||||||
return {
|
return {
|
||||||
std::clamp(p.x() / max(texW, 1.0f), 0.0f, 1.0f),
|
std::clamp(p.x() / max(imgW, 1.0f), 0.0f, 1.0f),
|
||||||
std::clamp(p.y() / max(texH, 1.0f), 0.0f, 1.0f)
|
std::clamp(p.y() / max(imgH, 1.0f), 0.0f, 1.0f)
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -689,6 +689,8 @@ void DialogueRuntime::refreshCutscenePresentation() {
|
|||||||
|
|
||||||
presentation.mode = PresentationMode::Cutscene;
|
presentation.mode = PresentationMode::Cutscene;
|
||||||
presentation.backgroundPath = activeCutscene->background;
|
presentation.backgroundPath = activeCutscene->background;
|
||||||
|
presentation.backgroundWidth = activeCutscene->backgroundWidth;
|
||||||
|
presentation.backgroundHeight = activeCutscene->backgroundHeight;
|
||||||
presentation.cutsceneCamera = evaluateCutsceneCameraBlend();
|
presentation.cutsceneCamera = evaluateCutsceneCameraBlend();
|
||||||
presentation.cutsceneImages = evaluateCutsceneImages();
|
presentation.cutsceneImages = evaluateCutsceneImages();
|
||||||
presentation.cutsceneSkippable = activeCutscene->skippable;
|
presentation.cutsceneSkippable = activeCutscene->skippable;
|
||||||
@ -748,9 +750,11 @@ void DialogueRuntime::refreshCutscenePresentation() {
|
|||||||
const CutsceneLine& line = activeCutscene->lines[currentCutsceneLine];
|
const CutsceneLine& line = activeCutscene->lines[currentCutsceneLine];
|
||||||
|
|
||||||
|
|
||||||
if (!line.background.empty()) {
|
if (!line.background.empty()) {
|
||||||
currentCutsceneBackground = line.background;
|
currentCutsceneBackground = line.background;
|
||||||
}
|
if (line.backgroundWidth > 0) presentation.backgroundWidth = line.backgroundWidth;
|
||||||
|
if (line.backgroundHeight > 0) presentation.backgroundHeight = line.backgroundHeight;
|
||||||
|
}
|
||||||
|
|
||||||
presentation.mode = PresentationMode::Cutscene;
|
presentation.mode = PresentationMode::Cutscene;
|
||||||
presentation.speaker = line.speaker;
|
presentation.speaker = line.speaker;
|
||||||
|
|||||||
@ -110,6 +110,8 @@ struct CutsceneLine {
|
|||||||
std::string portrait;
|
std::string portrait;
|
||||||
std::string sfx;
|
std::string sfx;
|
||||||
std::string background;
|
std::string background;
|
||||||
|
int backgroundWidth = 0; // 0 = inherit from cutscene
|
||||||
|
int backgroundHeight = 0; // 0 = inherit from cutscene
|
||||||
int durationMs = 0;
|
int durationMs = 0;
|
||||||
bool waitForConfirm = false;
|
bool waitForConfirm = false;
|
||||||
};
|
};
|
||||||
@ -146,6 +148,8 @@ struct CutsceneImageCue {
|
|||||||
struct StaticCutsceneDefinition {
|
struct StaticCutsceneDefinition {
|
||||||
std::string id;
|
std::string id;
|
||||||
std::string background;
|
std::string background;
|
||||||
|
int backgroundWidth = 1280;
|
||||||
|
int backgroundHeight = 720;
|
||||||
std::string music;
|
std::string music;
|
||||||
bool skippable = true;
|
bool skippable = true;
|
||||||
int durationMs = 0;
|
int durationMs = 0;
|
||||||
@ -201,6 +205,8 @@ struct PresentationModel {
|
|||||||
std::vector<PresentedCutsceneImage> cutsceneImages;
|
std::vector<PresentedCutsceneImage> cutsceneImages;
|
||||||
float cutsceneGlobalFadeAlpha = 1.0f;
|
float cutsceneGlobalFadeAlpha = 1.0f;
|
||||||
float cutsceneBlackAlpha = 0.0f;
|
float cutsceneBlackAlpha = 0.0f;
|
||||||
|
int backgroundWidth = 1280;
|
||||||
|
int backgroundHeight = 720;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SaveState {
|
struct SaveState {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user