Ели парус крепится к рее, имя которой формируется как <ship_name1>_rey_
aX (те если в имени реи есть литера "a")
или парус крепится к мачте под номером 1 (обычно это бушприт и парус блиндовый) то этот парус сворачивается по первой команде (те при переходе из "полного" в "боевое положение") - те принадлежит к группе ROLLTYPE_FAST (это внутренняя константа в движке).
Все другие паруса не попадающие под вышеприведенное правило попадают в группу ROLLTYPE_NORMAL - те они будут свернуты при переходе из "боевого положение" в положение "без парусов" .
Паруса по группам локаторов :
"sailt" - треугольный парус (кливера и стаксели), с продольной волной колебания (обычно стоит вдоль центральной оси судна);
"sails" - квадратный парус (какой-то артефакт К2, работает аналогично saild);
"sailg" - квадратный парус с гербом (какой-то артефакт К2, работает аналогично saild);
"sailf" - трапецевидный парус (стаксели и стеньстаксели),с продольной волной колебания (обычно стоит вдоль центральной оси судна, на бизани, рю или грота-трисели);
"saild" - сворачивающийся квадратный парус с поперечной волной колебания (обычно стоит на основных реях главных мачт).
В ККС добавлены два новых типа парусов, которые будут подниматься с командой при переходе из "боевого" в "полное" положение, и будут иметь тип ROLLTYPE_FAST не зависимо от их размещения на судне:
"sailv" - треугольный парус (кливера и стаксели) - аналог группы "sailt";
"sailn" - трапецевидный парус (стаксели и стеньстаксели) - аналог группы "sailf".
= = = = =
Любой парус в игре образуется группой из трёх/четырёх локаторов.
Два "главных" sail1 и sail2 образуют верхнюю шкаторину (линию крепления) паруса и размещаются в бензельных углах.
Между ними располагаются два разных типа моделей - "намотанный"/"собранный" парус или развёрнутое полотно. Развёрнутое полотно всегда жёстко закреплено в этих точках. Колебание модели паруса возможно только в поперечной плоскости судна и только на косых парусах.
Зависимые локаторы sail3 и sail4 отмечают нижние (шкотовые) углы паруса.
При "свёрнутом" положении занимают места у соответствующей бензельной вершины (sail1 для sail4, sail2 для sail3).
Плавно смещаются по прямой м/д обозначенными локаторами положениями, если парус разворачивается.
Могут "тащить" за собой элементы такелажа - лини (ropeX) или фалы (falX), если последние имеют разнесённые на пол-фута (в игровом масштабе) концы. В противном случае элементы такелажа не отображаются.
Однако есть отвратительная проблема: смещение шкотовых локаторов производится двигом не в указанную моделлером точку, а хз куда
Наблюдения:
- если между бензельными концами имеется элемент такелажа, то он при визуализации рвётся по оси, расположенной в точке крепления бензельного локатора, как правило с номером 2);
- если шкотовые локаторы не несут такелажа, то они смещаются ровно в базовую позицию;
- если к шкотовому локатору крепится конец такелажного элемента, то локатор смещается в некоторую точку, которую двиг расчитывает исходя из длины соответствующей боковой шкаторины паруса и длины такелажного элемента между его концами.
При этом, чем длиннее такелажный элемент, тем сильнее погиб паруса поперечного/прямого - в горизонтальной/рабочей плоскости, а продольного/косого - в вертикальной. Можно получить такой пузырь, что мама, не горюй! Причём от раза к разу загрузки локации с кораблём пузырь может появляться, а может и не появляться.
Я применяю собственное решение - размещаю блоки в потенциальных позициях шкотовых углов, тем самым сокращая расстояние между концами элемента такелажа, закреплённого на парусе в шкотовой вершине.
= = = = =
Только для ККС:
По поводу максимального погиба парусов
В игре локаторы парусов имеют именование sailN (где N = 1,2,3 (для треугольных парусов), N=1,2,3,4 - для квадратных парусов), а группы локаторов для этих парусов соответственно имеют вид - sailX (где X = t,v,f,n,d).
В группе локаторов sailX - х должно быть написано маленькими буквами, т.к. код двига чувствителен к регистру!
Точка максимального погиба должна иметь такое же наименование группы локаторов и N = 0 для имени локатора.
Например:
Имеем прямоугольный грот - парус относящийся к группе saild и имеющий локаторы sail1, sail2, sail3, sail4 для вершин паруса. По идее через все 4 вершины данного паруса (или 3 вершины для треугольного паруса) можно провести плоскость.
Соответственно точка максимального погиба будет принадлежать также к группе локаторов saild, иметь наименование
sail0 и отстоять от плоскости как раз на величину максимального погиба.
У треугольных парусов, в силу особенностей движка, точку максимального погиба необходимо смещать и относительно центра паруса с тем, чтобы получить наиболее эффектное отображение в игре.
При повороте у треугольных парусов погиб подчиняется направлению ветра, у трапециевидных - увы, нет