Difference between revisions of "CFG File Documentation/ru"
m (→Правила привязки) |
SlayerGames (talk | contribs) m (removed from english categories) |
||
(29 intermediate revisions by one other user not shown) | |||
Line 320: | Line 320: | ||
== Описание узловых точек == | == Описание узловых точек == | ||
− | + | <br /> | |
− | + | Определяет, в каком месте детали прикрепляются к другим деталям. У адаптеров три-к-одному их четыре: три внизу и одна в верхней части, в то время как у обычных деталей их две, а у некоторых - только одна. | |
− | + | <br /> | |
+ | <br /> | ||
<pre> | <pre> | ||
node_stack_bottom = x, y, z, angx, angy, angz, size | node_stack_bottom = x, y, z, angx, angy, angz, size | ||
Line 328: | Line 329: | ||
node_attach = x, y, z, angx, angy, angz, size | node_attach = x, y, z, angx, angy, angz, size | ||
</pre> | </pre> | ||
− | + | <br /> | |
− | + | <br /> | |
− | + | В примере выше - три узловых точки. Две из них применяются в этом руководстве: '''node_stack''' и '''node_attach'''. Узловые стыковочные точки('''node_stack''') определяют, где деталь вертикально соединяется с другими деталями, а узловые точки присоединения ('''node_attach''') определяет, где на поверхности детали могут прикрепляться другие детали - другими словами , горизонтальное соединение. | |
− | + | <br /> | |
− | + | <br /> | |
− | + | Все значения узлов привязки относятся к самому объекту и их значения соответствуют единицам измерения модели и коэффициенту масштабирования. '''Node_stack_bottom''' со значениями х, у, и z соответсвующими (2.5 , 5.0, 3.0) будет иметь узел привязки на 2,5 единицы правее, на 5,0 единиц выше, и на 3,0 единицы по направлению вперед. Следующие три значения относятся к ориентации, которую конкретный узел будет принимать при присоединении к другим деталям, по шкале от -1,0 до +1,0. Они представляют собой вектор, по которому деталь будет ориентироваться на при присоединении к узлу. Например, топливный бак со значением '''node_stack_bottom''' будет иметь '''angx''' , '''angy''' и '''angz''' равными (0.0 , -1.0, 0.0). Это представляет собой вектор вниз по отноению к модели детали, в отрицательном направлении оси у. Значение (0.0 , -1.0, 1.0) будет представлять собой диагональный вектор вниз и вперед, в то время как величина ( 1.0, 1.0 , 1.0) будет представлять собой вектор по направлению вправо, вверх и вперед. | |
− | + | <br /> | |
− | + | <br /> | |
− | + | Как правило, большинство деталей имеют значения '''angx''' , '''angy''' и '''angz''' либо (0.0 , -1.0, 0.0) для '''node_stack_bottom''', либо (0.0, 1.0, 0.0 ) для '''node_stack_top'''. | |
− | + | <br /> | |
+ | <br /> | ||
+ | Последнее значение показывает визуальной размер прикрепленного узла. Значения могут принимать значения либо равными 0 (небольшой полуметровый узел), 1 (нормальный) , или 2 (большой). Этот параметр не является обязательным и по умолчанию будет равен 1, если ничего не указано. Имейте в виду , именования ( '''_stack_bottom''', '''_stack_top''') для узлов применяются только к '''node_attach''', они также полезны и при выявлении позиции узла. | ||
+ | <br /> | ||
+ | <br /> | ||
<pre> | <pre> | ||
− | // Kerbal Space Program - | + | // Kerbal Space Program - CFG файл детали |
− | // Mark V | + | // Ракетный двигатель Mark V |
// --- General Parameters --- | // --- General Parameters --- | ||
Line 358: | Line 363: | ||
node_stack_bottom = 0.0, -3.5, 0.0, 0.0, 1.0, 0.0, 1.0 | node_stack_bottom = 0.0, -3.5, 0.0, 0.0, 1.0, 0.0, 1.0 | ||
</pre> | </pre> | ||
+ | <br /> | ||
+ | <br /> | ||
− | == Описание FX == | + | == Описание эффектов (FX)== |
− | + | <br /> | |
− | + | Еще определения! Но на этот раз, вы позиционируете пламя, выходящее из задней части ракеты. | |
− | + | <br /> | |
+ | <pre> | ||
fx_exhaustFlame_yellow = x, y, z, angx, angy, angz, active | fx_exhaustFlame_yellow = x, y, z, angx, angy, angz, active | ||
fx_exhaustLight_yellow = x, y, z, angx, angy, angz, active | fx_exhaustLight_yellow = x, y, z, angx, angy, angz, active | ||
fx_smokeTrail_medium = x, y, z, angx, angy, angz, active | fx_smokeTrail_medium = x, y, z, angx, angy, angz, active | ||
− | + | </pre> | |
− | + | <br /> | |
− | + | Хорошо, выглядит достаточно просто для '''node_definitions''', правда? | |
− | + | <br /> | |
− | + | <br /> | |
− | + | Вы должны заметить, что только у определения узловых точек существуют отдельные части для каждого эффекта. У Вас есть '''fx_exhaustFlame''', '''fx_exhaustLight''', и '''fx_smokeTrail'''. | |
− | + | <br /> | |
− | + | <br /> | |
− | + | Это именно то, что они озвучивают:: пламя, свет, и дымный след. | |
− | + | <br /> | |
− | + | <br /> | |
− | + | Сушествуют различные варианты цвета пламени - голубой тоже доступен. Для получения голубого пламени, Вы должны использовать '''fx_exhaustFlame_blue'''. Вы можете также сделать и для параметра '''exhaustLight'''. | |
+ | <br /> | ||
+ | <br /> | ||
+ | 'Активный' переключатель в конце используется для определения ''когда'' этот эффект станет видимым. Смотрите объявления [[FX Groups|Группы эффектов]], чтобы знать когда группы эффектов доступны и в каком случае их можно использовать. | ||
+ | Также возможно назначать в качестве эффекта больше, чем одну группа эффектов. Если, например, Вы хотите, чтобы эффект дыма был видимым, и когда деталь включается, и когда она отключается, то Вы можете сделать это: | ||
+ | <br /> | ||
+ | <pre> | ||
fx_gasBurst_white = x, y ,z, angx, angy, angz, activate, deactivate | fx_gasBurst_white = x, y ,z, angx, angy, angz, activate, deactivate | ||
− | + | </pre> | |
− | + | <br /> | |
− | + | Это особенно полезно, если Вы определили множество эффектов, наподобии газовых разрядов на модуле RCS. | |
− | + | <br /> | |
− | + | <br /> | |
+ | Чувствуете, сколько всего Вы сейчас навесили на это? Давайте продолжим писать фиктивный файл детали и добавим в него синее пламя и свет, но уберем дымовой след. | ||
+ | <br /> | ||
<pre> | <pre> | ||
− | // Kerbal Space Program - | + | // Kerbal Space Program - CFG файл детали |
− | // Mark V | + | // Ракетный двигатель Mark V |
// --- General Parameters --- | // --- General Parameters --- | ||
Line 409: | Line 425: | ||
</pre> | </pre> | ||
+ | <br /> | ||
− | == Описание звуковых настроек FX == | + | == Описание звуковых настроек эффектов(FX) == |
− | + | <br /> | |
− | + | Это довольно легко использовать на начальном уровне, который полностью будет отвечать нашим потребностям. | |
− | + | <br /> | |
− | + | <br /> | |
− | + | После этой секции идет: | |
+ | <br /> | ||
+ | <pre> | ||
sound_vent_medium = activate | sound_vent_medium = activate | ||
sound_rocket_hard = active | sound_rocket_hard = active | ||
sound_vent_soft = deactivate | sound_vent_soft = deactivate | ||
− | + | </pre> | |
− | + | <br /> | |
− | + | Звуки добавлены в группы эффектов, в основном таким же образом, как эффекты дыма и пламени. Конечно, звуки не нуждаются в расположении в пространстве и при этом они не вращаются, так что все, что вам нужно - это указать, в каких группах эффектов будет выполняться звук. Как и для эффектов, вы можете назначить несколько групп звуков. | |
− | + | <br /> | |
− | + | <br /> | |
− | + | Начиная с версии 0.20 структура GameData позволяет два пути для добавления звука к детали: | |
− | * KSP | + | <br /> |
− | * | + | * KSP имеет внутреннюю библиотеку звуков, которая содержит несколько звуковых эффектов. При определении звука, как в приведенном выше примере, KSP будет искать этот звук в своей внутренней библиотеке. |
− | + | * Второй способ заключается в добавлении новых звуковых файлов, что возможно ТОЛЬКО при добавлении звукового файла в каталог '''GameData/modName/parts/partName/part/sounds/'''. Обратите внимание, что все звуки, добавленные таким образом - "приватные", доступные только для этой детали. В настоящее время, наследование каталогов папки или расшаривание папки с модом не работает, разработчики, вероятно, будут решать эту проблему в будущем. | |
− | + | <br /> | |
− | + | ПОМНИТЕ: Если Вы добавляете какой-либо звук, название файла должно начинаться с'''sound_''' (например, '''sound_myNewSoundEffect.wav'''). | |
− | + | <br /> | |
− | + | <br /> | |
− | + | При использовании звука из встроенной библиотеки KSP или каталога деталей/звуков, Вы должны не включать расширение названия звука (например, '''sound_vent_medium = activate'''), иначе звук не заработает. | |
− | + | <br /> | |
− | + | <br /> | |
− | + | Поддерживаются файлы ".wav" и ".ogg" с частотой 48000Hz. | |
− | + | <br /> | |
+ | <br /> | ||
+ | Добавим звуковые эффекты к нашему фиктивному файлу: | ||
+ | <br /> | ||
<pre> | <pre> | ||
− | // Kerbal Space Program - | + | // Kerbal Space Program - CFG файл детали |
− | // Mark V | + | // Ракетный двигатель Mark V |
// --- General Parameters --- | // --- General Parameters --- | ||
Line 504: | Line 526: | ||
|- | |- | ||
! Aero | ! Aero | ||
− | | Крылья, управляющие | + | | Крылья, управляющие плоскости (рули, элероны и т.д.) и носовые обтекатели. |
|- | |- | ||
! Utility | ! Utility | ||
Line 638: | Line 660: | ||
== Стандартные параметры детали == | == Стандартные параметры детали == | ||
+ | <br /> | ||
<br /> | <br /> | ||
Здесь определяется, как ваша деталь действует в воздухе и за его пределами. Следует отметить, что не все эти параметры должны быть определены. Если они исключены из CFG файла, KSP будет использовать значения по умолчанию для них. | Здесь определяется, как ваша деталь действует в воздухе и за его пределами. Следует отметить, что не все эти параметры должны быть определены. Если они исключены из CFG файла, KSP будет использовать значения по умолчанию для них. | ||
+ | <br /> | ||
<br /> | <br /> | ||
*mass = | *mass = | ||
Line 656: | Line 680: | ||
*fuelCrossFeed = | *fuelCrossFeed = | ||
*NoCrossFeedNodeKey = | *NoCrossFeedNodeKey = | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''mass''' - Сколько весит Ваша деталь? (Или, если эта деталь имеет также параметр '''dryMass''', сколько она весит когда наполнена?) | '''mass''' - Сколько весит Ваша деталь? (Или, если эта деталь имеет также параметр '''dryMass''', сколько она весит когда наполнена?) | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''dragModelType''' - Оставьте это значение по-умолчанию. | '''dragModelType''' - Оставьте это значение по-умолчанию. | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''maximum_drag''' - Каково максимальное значение аэродинамического сопротивления Вашей детали? (Обычно меньше 1). Как правило, аэродинамическое сопротивление, когда направление детали соответствует ее оси y. | '''maximum_drag''' - Каково максимальное значение аэродинамического сопротивления Вашей детали? (Обычно меньше 1). Как правило, аэродинамическое сопротивление, когда направление детали соответствует ее оси y. | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''minimum_drag''' - Минимальное значение аэродинамического сопротивления Вашей детали, когда она пристыкована. (Обычно меньше 1 и меньше, чем '''maximum_drag''') (это значение не используется, если значение '''dragModelType''' установлено по-умолчанию) Как правило, аэродинамическое сопротивление, когда направление детали перпендикулярно ее оси y. | '''minimum_drag''' - Минимальное значение аэродинамического сопротивления Вашей детали, когда она пристыкована. (Обычно меньше 1 и меньше, чем '''maximum_drag''') (это значение не используется, если значение '''dragModelType''' установлено по-умолчанию) Как правило, аэродинамическое сопротивление, когда направление детали перпендикулярно ее оси y. | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''angularDrag''' - Насколько велико угловое сопротивление/сопротивление повороту? (Также обычно меньше 1.) | '''angularDrag''' - Насколько велико угловое сопротивление/сопротивление повороту? (Также обычно меньше 1.) | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''crashTolerance''' - Насколько хороша прочность Вашей детали при аварии? Чем выше число, тем выше прочность. Считается ориентировочно максимальным воздействием скорости в м/с. | '''crashTolerance''' - Насколько хороша прочность Вашей детали при аварии? Чем выше число, тем выше прочность. Считается ориентировочно максимальным воздействием скорости в м/с. | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''breakingForce''' - На сколько хороша способность соединения между этой деталью и присоединенными к ней деталями противостоять влиянию линейных сил? | '''breakingForce''' - На сколько хороша способность соединения между этой деталью и присоединенными к ней деталями противостоять влиянию линейных сил? | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''breakingTorque''' - На сколько хороша способность соединения сопротивления моментам сил? | '''breakingTorque''' - На сколько хороша способность соединения сопротивления моментам сил? | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''maxTemp''' - Максимальное значение температуры, которую Ваша деталь может выдержать до взрыва. | '''maxTemp''' - Максимальное значение температуры, которую Ваша деталь может выдержать до взрыва. | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''heatConductivity''' - Насколько хорошо Ваша деталь проводит тепло? По-умолчанию - 0.08, значения используются CFG в версии 0.13.3, но не в 0.15.2. | '''heatConductivity''' - Насколько хорошо Ваша деталь проводит тепло? По-умолчанию - 0.08, значения используются CFG в версии 0.13.3, но не в 0.15.2. | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''heatDissipation''' - Насколько хорошо Ваша деталь рассеивает тепло от летательного аппарата? По-умолчанию - 0.08, значения используются CFG в версии 0.13.3, но не в 0.15.2. | '''heatDissipation''' - Насколько хорошо Ваша деталь рассеивает тепло от летательного аппарата? По-умолчанию - 0.08, значения используются CFG в версии 0.13.3, но не в 0.15.2. | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''stageOffset''' и '''childStageOffset''' - Может принимать значения 0, 1, и так далее... Определяет, будет ли деталь создавать новую ступень до или после себя, или и в обоих случаях (как делают стыковочные узлы). Это относится только к автоматически сгенерированной последовательность ступеней. Эти параметры заменили '''stageBefore''' и '''stageAfter'''. | '''stageOffset''' и '''childStageOffset''' - Может принимать значения 0, 1, и так далее... Определяет, будет ли деталь создавать новую ступень до или после себя, или и в обоих случаях (как делают стыковочные узлы). Это относится только к автоматически сгенерированной последовательность ступеней. Эти параметры заменили '''stageBefore''' и '''stageAfter'''. | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''fuelCrossFeed''' - Способность детали передавать топливо между деталями, прикрепленными к ней? | '''fuelCrossFeed''' - Способность детали передавать топливо между деталями, прикрепленными к ней? | ||
+ | <br /> | ||
<br /> | <br /> | ||
'''NoCrossFeedNodeKey''' - Устанавливается значение '''bottom''' когда удерживает топливо текущим через нижние узловые точки (Позволяет избежать некоторого дисбаланса стека и его частичного смягчения в версии 0.15 - ошибка генерации двигателями топлива). Используется с деталями, у которых несколько нижних узловых точек, таких как [[TVR-1180C Mk1 Stack Tri-Coupler|Адаптер три-к-одному TVR-1180C Mk1]]. | '''NoCrossFeedNodeKey''' - Устанавливается значение '''bottom''' когда удерживает топливо текущим через нижние узловые точки (Позволяет избежать некоторого дисбаланса стека и его частичного смягчения в версии 0.15 - ошибка генерации двигателями топлива). Используется с деталями, у которых несколько нижних узловых точек, таких как [[TVR-1180C Mk1 Stack Tri-Coupler|Адаптер три-к-одному TVR-1180C Mk1]]. | ||
Line 720: | Line 758: | ||
subcategory = 0 | subcategory = 0 | ||
title = Ракетный двигатель Mark V | title = Ракетный двигатель Mark V | ||
− | manufacturer = Утрашающе Ужасные Ракетные Двигатели | + | manufacturer = Утрашающе Ужасные Ракетные Двигатели Инкорпорейтед |
+ | description = Эта деталь теперь выведет Вас в космос с потерями меньшими на 60%, чем двигатель Mark IV. | ||
// --- Standard part parameters --- | // --- Standard part parameters --- | ||
mass = 1.5 | mass = 1.5 | ||
Line 732: | Line 771: | ||
== Специфические параметры детали == | == Специфические параметры детали == | ||
− | |||
<br /> | <br /> | ||
Мы почти закончили, полностью созданная деталь почти в наших руках и Вы уже должны знать практически все, что нужно для создания файла "part.cfg". Однако помните, раньше, когда мы настраивали типы? Ну каждый тип имеет индивидуальный набор конкретных параметров детали, которые меняются в зависимости от того, какая эта деталь. | Мы почти закончили, полностью созданная деталь почти в наших руках и Вы уже должны знать практически все, что нужно для создания файла "part.cfg". Однако помните, раньше, когда мы настраивали типы? Ну каждый тип имеет индивидуальный набор конкретных параметров детали, которые меняются в зависимости от того, какая эта деталь. | ||
Line 757: | Line 795: | ||
<br /> | <br /> | ||
<br /> | <br /> | ||
− | |||
Время перейти и посмотреть, какие специальные параметры может иметь каждый модульь. | Время перейти и посмотреть, какие специальные параметры может иметь каждый модульь. | ||
<br /> | <br /> | ||
− | |||
− | |||
=== Жидкостной двигатель === | === Жидкостной двигатель === | ||
− | |||
<br /> | <br /> | ||
Жидкостной двигатель имеет следующие специфические параметры: | Жидкостной двигатель имеет следующие специфические параметры: | ||
− | |||
<br /> | <br /> | ||
*maxThrust = | *maxThrust = | ||
Line 772: | Line 805: | ||
*heatProduction = | *heatProduction = | ||
*fuelConsumption = | *fuelConsumption = | ||
− | |||
<br /> | <br /> | ||
Выглядит довольно просто, и все в значительной степени то, чего Вы ожидали здесь увидеть. Сейчас Вы уже должны понимать, что эти параметры означают, но на всякий случай: | Выглядит довольно просто, и все в значительной степени то, чего Вы ожидали здесь увидеть. Сейчас Вы уже должны понимать, что эти параметры означают, но на всякий случай: | ||
Line 790: | Line 822: | ||
=== Твердотопливный ракетный ускоритель === | === Твердотопливный ракетный ускоритель === | ||
− | + | <br /> | |
*thrust = | *thrust = | ||
*dryMass = | *dryMass = | ||
Line 796: | Line 828: | ||
*fuelConsumption = | *fuelConsumption = | ||
*internalFuel = | *internalFuel = | ||
− | |||
*fullExplosionPotential = | *fullExplosionPotential = | ||
*emptyExplosionPotential = | *emptyExplosionPotential = | ||
− | |||
*thrustCenter = x, y, z | *thrustCenter = x, y, z | ||
*thrustVector = angx, angy, angz | *thrustVector = angx, angy, angz | ||
− | + | <br /> | |
− | + | Большинство из этих параметров выглядит очень похоже на параметры жидкостного двигателя, правда? | |
− | + | <br /> | |
− | '''thrust''' - | + | <br /> |
− | + | '''thrust''' - Тяга твердотопливного ускорителя. Напоминаю, что он не имеет минимального значения тяги, потому что один раз запустив его нельзя выключить. | |
− | '''dryMass''' - | + | <br /> |
− | + | <br /> | |
− | '''heatProduction''' - | + | '''dryMass''' - Каков вес ускорителя, когда пуст. |
− | + | <br /> | |
− | '''fuelConsumption''' - | + | <br /> |
− | + | '''heatProduction''' - Точно как и некоторых жидкостных ракет - сколько тепла производит ракета. | |
− | '''internalFuel''' - | + | <br /> |
− | + | <br /> | |
− | '''fullExplosionPotential''' - | + | '''fuelConsumption''' - Сколько топлива потребляет ракета в секунду. |
− | + | <br /> | |
− | '''emptyExplosionPotential''' - | + | <br /> |
− | + | '''internalFuel''' - Сколько топлива содержит в себе ускоритель? | |
− | '''thrustCenter''' - | + | <br /> |
− | + | <br /> | |
− | '''thrustVector''' - | + | '''fullExplosionPotential''' - Возможность взрыва, когда ракета наполнена топливом. |
+ | <br /> | ||
+ | <br /> | ||
+ | '''emptyExplosionPotential''' - И возможность - когда пуста. | ||
+ | <br /> | ||
+ | <br /> | ||
+ | '''thrustCenter''' - Откуда направлен вектор тяги. | ||
+ | <br /> | ||
+ | <br /> | ||
+ | '''thrustVector''' - Направление вектора тяги. | ||
+ | <br /> | ||
+ | <br /> | ||
=== Топливная цистерна === | === Топливная цистерна === | ||
− | + | <br /> | |
Топливные баки описываются немного по-другому, в связи с тем, что у них нет параметров тяги. | Топливные баки описываются немного по-другому, в связи с тем, что у них нет параметров тяги. | ||
− | + | <br /> | |
− | |||
*fuel = | *fuel = | ||
*dryMass = | *dryMass = | ||
*fullExplosionPotential = | *fullExplosionPotential = | ||
*emptyExplosionPotential = | *emptyExplosionPotential = | ||
− | + | <br /> | |
Если Вы прочитали все написанное выше, то должны точно знать - что эти параметры делают, и, поэтому, я не буду снова их Вам объяснять. | Если Вы прочитали все написанное выше, то должны точно знать - что эти параметры делают, и, поэтому, я не буду снова их Вам объяснять. | ||
+ | <br /> | ||
=== Модуль системы стабилизации (SAS) === | === Модуль системы стабилизации (SAS) === | ||
− | + | <br /> | |
*maxTorque = | *maxTorque = | ||
− | + | <br /> | |
− | '''maxTorque''' - | + | '''maxTorque''' - Максимальное значение крутящего момента, который может применить деталь для управления летательным аппаратом. |
− | + | <br /> | |
− | '''Ki, Kd | + | '''Ki''', '''Kd''' и '''Kp''' - Эти параметры позволяют настроить внутреннюю работу модуля SAS. Если у Вас нет опыта работы с PID-регуляторами, просто оставте их как они есть. |
+ | <br /> | ||
=== Крылья === | === Крылья === | ||
− | + | <br /> | |
*dragCoeff = | *dragCoeff = | ||
*deflectionLiftCoeff = | *deflectionLiftCoeff = | ||
− | + | <br /> | |
'''dragCoeff''' - аэродинамическое сопротивление крыла. | '''dragCoeff''' - аэродинамическое сопротивление крыла. | ||
− | + | <br /> | |
'''deflectionLiftCoeff''' - подъемная сила крыла. | '''deflectionLiftCoeff''' - подъемная сила крыла. | ||
+ | <br /> | ||
+ | <br /> | ||
− | === Управляющие | + | === Управляющие плоскости (рули, элероны и т.д.) === |
− | + | <br /> | |
*dragCoeff = | *dragCoeff = | ||
*deflectionLiftCoeff = | *deflectionLiftCoeff = | ||
*ctrlSurfaceRange = | *ctrlSurfaceRange = | ||
*ctrlSurfaceArea = | *ctrlSurfaceArea = | ||
− | + | <br /> | |
− | '''ctrlSurfaceRange''' - | + | '''ctrlSurfaceRange''' - Насколько далеко от центра управляющей плоскости (руля / элеронов и т.д.) может сдвигаться в процессе управления. |
− | + | <br /> | |
− | '''ctrlSurfaceArea''' - | + | <br /> |
+ | '''ctrlSurfaceArea''' - Эффективная площадь поверхности управляющей плоскости - чем больше поверхность, тем больше площадь поверхности управляющей плоскости должна быть установлена. | ||
+ | <br /> | ||
+ | <br /> | ||
=== Разделители === | === Разделители === | ||
− | + | <br /> | |
*ejectionForce = | *ejectionForce = | ||
− | + | <br /> | |
− | '''ejectionForce''' - | + | '''ejectionForce''' - Насколько сильно он толкает при разделении ступеней. |
− | + | <br /> | |
− | '' | + | <br /> |
+ | :Замечу, что разделители также добавляют две строки к обычным параметрам детали:: '''"stageAfter = True"''' и '''"stageBefore = True"''' | ||
+ | <br /> | ||
=== Парашюты === | === Парашюты === | ||
− | + | <br /> | |
*useAGL = | *useAGL = | ||
*autoDeployDelay = | *autoDeployDelay = | ||
Line 880: | Line 929: | ||
*semiDeployedDrag = | *semiDeployedDrag = | ||
*fullyDeployedDrag = | *fullyDeployedDrag = | ||
− | + | <br /> | |
− | '''useAGL''' - | + | '''useAGL''' - Раскрывается парашют при заданной высоте над уровнем поверхности, или над уровнем моря. |
− | + | <br /> | |
− | '''autoDeployDelay''' - | + | <br /> |
− | + | '''autoDeployDelay''' - Время до раскрытия парашютов, прикрепленных к отделяющимся частям. | |
− | '''minAirPressureToOpen''' - | + | <br /> |
− | + | <br /> | |
− | '''deployAltitude''' - | + | '''minAirPressureToOpen''' - Минимальное значение атмосферного давления для раскрытия купола. |
− | + | <br /> | |
− | '''closedDrag''' - | + | <br /> |
− | + | '''deployAltitude''' - Высота полного раскрытия купола парашюта после срабатывания. | |
− | '''semiDeployedDrag''' - | + | <br /> |
− | + | <br /> | |
− | '''fullyDeployedDrag''' - | + | '''closedDrag''' - Аэродинамическое сопротивление, когда парашют полностью сложен. |
+ | <br /> | ||
+ | <br /> | ||
+ | '''semiDeployedDrag''' - Аэродинамическое сопротивление, когда парашют полу-раскрыт. | ||
+ | <br /> | ||
+ | <br /> | ||
+ | '''fullyDeployedDrag''' - Аэродинамическое сопротивление, когда парашют полностью раскрыт. | ||
+ | <br /> | ||
== В заключение == | == В заключение == | ||
− | + | <br /> | |
− | + | Ну вот мы и закончили. К этому моменту Вы уже должны знать все о файле "part.cfg":: и как его создать, как редактировать, манипулировать им и т.д. Все варианты крутых вещей, наподобии этой. После этого окончательный фиктивный файл "part.cfg" будет содержать специальные параметры детали. | |
− | + | <br /> | |
− | + | <br /> | |
+ | Во всяком случае, вот и все - теперь Вы знаете, как сделать несколько крутых обновлений наподобии FTL-двигателя или, игнорирующего закон Ньютона, Гасителя инерции. | ||
+ | <br /> | ||
== Фиктивный файл part.cfg завершен == | == Фиктивный файл part.cfg завершен == | ||
− | + | <br /> | |
<pre> | <pre> | ||
− | // Kerbal Space Program - | + | // Kerbal Space Program - CFG файл детали |
− | // Mark V | + | // Ракетный двигатель Mark V |
// --- General Parameters --- | // --- General Parameters --- | ||
name = LiquidThrusterV | name = LiquidThrusterV | ||
Line 930: | Line 988: | ||
category = Propulsion | category = Propulsion | ||
subcategory = 0 | subcategory = 0 | ||
− | title = Mark V | + | title = Ракетный двигатель Mark V |
− | manufacturer = | + | manufacturer = Утрашающе Ужасные Ракетные Двигатели Инкорпорейтед |
− | description = | + | description = Эта деталь теперь выведет Вас в космос с потерями меньшими на 60%, чем двигатель Mark IV. |
// --- Standard part parameters --- | // --- Standard part parameters --- | ||
mass = 1.5 | mass = 1.5 | ||
Line 947: | Line 1,005: | ||
fuelConsumption = 7 | fuelConsumption = 7 | ||
</pre> | </pre> | ||
+ | <br /> | ||
− | == | + | == Еще пример? == |
+ | <br /> | ||
<pre> | <pre> | ||
− | // KSP - | + | // KSP - Детали |
− | // | + | // Химический ионный двигатель, использующий обычные топливные баки :D |
− | // Mark I | + | // Ионный двигатель Mark I |
// | // | ||
Line 989: | Line 1,049: | ||
category = Propulsion | category = Propulsion | ||
subcategory = 0 | subcategory = 0 | ||
− | title = | + | title = Химический ионный двигатель MK1 |
− | manufacturer = | + | manufacturer = Лаборатория химического реактивного движения/ Разработка деталей G-min |
− | description = | + | description = Великий ионный двигатель :D с сопротивлением авариям G-JPG около 999 м/с! (Не значит, что расположенный внутри ионный двигатель спасет от катастрофы при скорости 999 м/с!!! Я Вас предупредил!) и СПЕЦИАЛЬНО УКРЕПЛЕННЫЙ! С амортизатором! Теперь с вискозным охлаждением!(действительно впитывает и накапливает :D) (это ГЕЛЬ!) Отлично подходит для межпланетных путешествий. |
// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision | // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision | ||
Line 1,013: | Line 1,073: | ||
heatProduction = 58 | heatProduction = 58 | ||
fuelConsumption = 0.009 | fuelConsumption = 0.009 | ||
− | // | + | // Конец! |
</pre> | </pre> | ||
− | [[Category:Tutorials/ru]] | + | [[Category:Tutorials/ru]] |
+ | [[Category:Documentation/ru]] |
Latest revision as of 18:36, 2 May 2019
This page or section is in need of being brought up to date. Please help Kerbal Space Program Wiki by fixing inaccurate or outdated information. Данная страница устарела:
|
:В этом руководстве будет разобран состав файла конфигурации отдельной детали посредством создания файла фиктивной детали, которая будет вести себя так же, как и настоящая, только для ее полного функционирования не будет хватать моделей, звуков и текстур.
Contents
- 1 Руководство по созданию деталей. Основы.
- 2 Основные параметры.
- 3 Модули деталей
- 4 Параметры 3-D моделей
- 5 Описание узловых точек
- 6 Описание эффектов (FX)
- 7 Описание звуковых настроек эффектов(FX)
- 8 Параметры редактора
- 9 Правила привязки
- 10 Стандартные параметры детали
- 11 Специфические параметры детали
- 12 В заключение
- 13 Фиктивный файл part.cfg завершен
- 14 Еще пример?
Руководство по созданию деталей. Основы.
Убедитесь, что модель сама по себе не сломает игру при загрузке. Для этого:
- Для файла детали должен существовать файл «.dae»;
- Все -- даже пересечения сетка -- сетка - существенны;
- Детали должны быть проименнованы корректно; например, пересечение сетки всегда должно называться «node_collider».
== Создание файла детали. ==
Создайте пустой файл в «Блокноте», который станет файлом «.cfg», в каталоге Вашего дополнения -- обычно «../KerbalSpaceProgramDirectory/Parts/ВашеДополнение».
Этот пустой файл станет файлом «.cfg».
=== Последовательность данных, содержащихся в конфигурационном файле. ===
// Title (заголовок) // Name of your part (название Вашей детали) // // --- general parameters --- (основные параметры) // --- asset parameters --- (устанавливаемые параметры 3D-модели) // --- node definitions --- (описание узловой точка) // --- FX definitions --- (описание FX) // --- Sound FX definition --- (описание звуковых эффектов) // --- editor parameters --- (параметры редактора) // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision (правила присоединения) // --- standard part parameters --- (стандартные параметры детали) // --- specific part parameters --- (специфические параметры детали)
:Двойной прямой слэш перед каждым названием указывает, что эта строка была закомментирована; программа игнорирует такие строки.
Задание названия для Вашей детали.
- Большинство файлов деталей содержит пару строк, наподобие тех, что указаны ниже:
// Kerbal Space Program – Конфигурационный файл // Мой супер потрясающий двигатель, который может делать каджилион миль в час, lol
- Эти строки полезны, когда другие хотят учиться на ваших файлах деталей.
Первая строка показывает, что данный файл является файлом детали для KSP, вторая – содержит ее название.
// Kerbal Space Program - файл CFG детали // Ракетный двигатель «Mark V»
Продолжаем!
Основные параметры.
// --- general parameters ---
- В этом разделе указываются название и описание нескольких свойств всех деталей. Ниже приведен список того, что подходит под основные параметры:
name = solidBooster module = SolidRocket author = Il Carnefice
- name
- Это значение может содержать все, что является уникальным, одним словом,и без подчеркивания. Это нельзя закомментировать, потому что KSP будет внутри ссылаться на деталь посредством этого параметра (пользователь не будет видеть это имя).
- module
- Что происходит после того, как модуль перемещает каждую деталь в категорию: например, твердотопливный ракетный ускоритель отличается от жидкостного ракетного двигателя. См. Valid Part Modules для получения значений, которые Вы сможете здесь использовать.
- author
- Имя автора
Ниже приведен пример:
Ниже приведен пример: <pre> // Kerbal Space Program - файл CFG детали // Ракетный двигатель «Mark V» // --- General Parameters --- name = LiquidThrusterV module = LiquidEngine author = YourName
Детали
Название детали | Описание |
---|---|
SolidRocket | Напоминает твердотопливный ускоритель - постоянно горящая ракета, которая не имеет управления тягой и не может быть деактивирована, после того как была зажжена. |
LiquidEngine | Напоминает систему орбитального маневрирования – ракетный двигатель с управляемой тягой. |
FuelTank | Содержат топливо. |
CommandPod | Содержит экипаж и системы управления. |
SASModule | Удерживает курс. |
SASModule2 | ??? |
Strut | Соединяет модули ракеты. Не имеет специальных способностей. |
Decoupler | Соединяет модули ракеты и может отбрасывать себя и присоединенные модули. |
RadialDecoupler | Соединяет модули ракеты и может отбрасывать себя как и «Decoupler», но радиально. |
Parachutes | Выпускает парашют. |
ControlSurface | Подвижная крылоподобная поверхность. Может выступать в роли руля, элерона, руля высоты, канарда (небольшое крыло, расположенное впереди основного крыла) или другой аэродинамической поверхности управления - функция зависит от размещения на |
WarpEngine | Варп-двигатель. Не функционирует с 0.15.2. |
Winglet | Неподвижная аэродинамическая поверхность, создающая подъемную силу. |
Stabilizer | Аналог ControlSurface (рекомендуется не использовать) |
StrutConnector | ??? |
RCSFuelTank | Бак для однокомпонентного топлива. |
RCSModule | Двигатель на однокомпонентном топливе. |
AtmosphericEngine | Атмосферный двигатель с параметрами турбонаддува воздуха. |
AdvSASModule | Модуль наподобии SAS, который вносит возможность пользовательского управления системой радиолокационного управления(RCS), крутящим моментом аппарата(Pod) и качанием двигателей и рулей. |
DecouplerGUI | Обычный разделитель, который может отделяться по клику правой клавишей мыши на графическом интерфейсе пользователя(GUI). |
DockingPort | Незаконченный стыковочный узел? |
FuelLine | Трубы(шланги) для передачи топлива. |
FuelTankGUI | Цистерна с топливом со способностью прекратить подачу топлива по клику правой клавишей мыши на графическом интерфейсе пользователя(GUI). |
LandingLeg | Движущаяся посадочная опора, использующая параметры «.cfg» для движения. |
HLandingLeg | Движущаяся посадочная опора, использующая анимацию для движения. |
HParachutes | Анимированный модуль парашюта? |
LandingGear | Колесное, анимированное посадочное шасси для космических аппаратов. |
SatELight | Осветительный модуль(прожектор). |
LiquidFuelEngine | Жидкотопливный двигатель, который работает с созданием импульсов и реактивной струи, с использованием топливных узлов. |
Модули деталей
Пожалуйста прочтите: "Обновление 0.15 - PartModule, KSPField, KSPEvent, ConfigNode и PartResource"
Название модуля | Описание |
---|---|
ModuleAerodynamicLift | Модуль, создающий аэродинамическую подъемную силу? |
ModuleAnimateHeat | ??? |
ModuleAnimatorLandingGear | Модуль анимированного посадочного шасси? |
ModuleCommand | Командный отсек? |
ModuleEngineRocketLiquid | Модуль жидкостного ракетного двигателя? |
ModuleGenerator | Используется RTG, ресурсами ввода/вывода. |
ModuleResource | Основной модуль ресурсов? |
ModuleResourceIntake | Основной модуль "потребляемых" ресурсов, дополнительный илии отделенный от "ModuleResource"? |
ModuleTest | ??? |
Параметры 3-D моделей
Этот раздел определяет модуль 3D-моделей - он соединяет модель и файл текстур, а также обеспечивает дополнительные настройки.
// --- asset parameters --- mesh = modelfile.dae scale = 0.1 texture = texturemap.png specPower = 0.5 rimFalloff = 3 alphaCutoff = 0 //rescaleFactor = 1.25
- mesh
- Название сетки. Напишите свое название в нем и сохраните файл сетки в том же каталоге, что и файл детали.
- scale
- Масштаб модели - в зависимости от единиц в программе 3D-моделирования. Если Вы использовали единицу = один метр , то используйте значение 1 . Если это 1 единица, равная 0.1 метра , то используйте значение 0.1. Используйте значение коэффициент масштабирования 0.1, потому что потом легче соответствовать другим частям , чем возиться с коэффициентами масштабирования. Этот фактор будет влиять только на размерах составных частей, участвующих в составе детали и не повлияет на реальный размер самой детали.
- texture
- Наименование файла текстуры, который расположен в каталоге KSPDirectory/Parts/yourAddon/textures. Текстуры могут быть следующих размеров: 256x256, 512x512 или 1024x1024
- specPower
- Зеркальное отражение Вашей детали. Лучше оставьте его нетронутым.
- rimFalloff
- Определяет силу эффекта освещения. Более высокое значение увеличивает эффект вблизи краев.
- alphaCutoff
- Определяет порог прозрачности текстуры детали. Значение 0 означает, что в текстуре ничто не считается прозрачным. Значение 1 означает полностью прозрачную деталь. Текстуры с альфа-каналом (прозрачностью) может быть прозрачной в одних местах и непрозрачной - в других.
- rescaleFactor
- Необязательный параметр, который, обычно, не истользуется в большинстве деталей, но данный параметр доступен для изменения параметра детали персонально. Для того чтобы сохранить правильное размещение узла, параметр масштаба должен быть пропорционально изменен в соответствии с новым значением rescaleFactor. Значение по умолчанию для rescaleFactor составляет 1.25, но может быть измено на любое значение.
Ниже приведен пример:
// Kerbal Space Program - файл CFG детали // Ракетный двигатель Mark V // --- General Parameters --- name = LiquidThrusterV module = LiquidEngine author = YourName // --- Asset Parameters --- mesh = myMesh.dae scale = 0.1 texture = awesometexture.png specPower = 0.5 rimFalloff = 3 alphaCutoff = 0
Описание узловых точек
Определяет, в каком месте детали прикрепляются к другим деталям. У адаптеров три-к-одному их четыре: три внизу и одна в верхней части, в то время как у обычных деталей их две, а у некоторых - только одна.
node_stack_bottom = x, y, z, angx, angy, angz, size node_stack_top = x, y, z, angx, angy, angz, size node_attach = x, y, z, angx, angy, angz, size
В примере выше - три узловых точки. Две из них применяются в этом руководстве: node_stack и node_attach. Узловые стыковочные точки(node_stack) определяют, где деталь вертикально соединяется с другими деталями, а узловые точки присоединения (node_attach) определяет, где на поверхности детали могут прикрепляться другие детали - другими словами , горизонтальное соединение.
Все значения узлов привязки относятся к самому объекту и их значения соответствуют единицам измерения модели и коэффициенту масштабирования. Node_stack_bottom со значениями х, у, и z соответсвующими (2.5 , 5.0, 3.0) будет иметь узел привязки на 2,5 единицы правее, на 5,0 единиц выше, и на 3,0 единицы по направлению вперед. Следующие три значения относятся к ориентации, которую конкретный узел будет принимать при присоединении к другим деталям, по шкале от -1,0 до +1,0. Они представляют собой вектор, по которому деталь будет ориентироваться на при присоединении к узлу. Например, топливный бак со значением node_stack_bottom будет иметь angx , angy и angz равными (0.0 , -1.0, 0.0). Это представляет собой вектор вниз по отноению к модели детали, в отрицательном направлении оси у. Значение (0.0 , -1.0, 1.0) будет представлять собой диагональный вектор вниз и вперед, в то время как величина ( 1.0, 1.0 , 1.0) будет представлять собой вектор по направлению вправо, вверх и вперед.
Как правило, большинство деталей имеют значения angx , angy и angz либо (0.0 , -1.0, 0.0) для node_stack_bottom, либо (0.0, 1.0, 0.0 ) для node_stack_top.
Последнее значение показывает визуальной размер прикрепленного узла. Значения могут принимать значения либо равными 0 (небольшой полуметровый узел), 1 (нормальный) , или 2 (большой). Этот параметр не является обязательным и по умолчанию будет равен 1, если ничего не указано. Имейте в виду , именования ( _stack_bottom, _stack_top) для узлов применяются только к node_attach, они также полезны и при выявлении позиции узла.
// Kerbal Space Program - CFG файл детали // Ракетный двигатель Mark V // --- General Parameters --- name = LiquidThrusterV module = LiquidEngine author = YourName // --- Asset Parameters --- mesh = myMesh.dae scale = 0.1 texture = awesometexture.png specPower = 0.5 rimFalloff = 3 alphaCutoff = 0 // --- Node Definitions --- node_stack_bottom = 0.0, -3.5, 0.0, 0.0, 1.0, 0.0, 1.0
Описание эффектов (FX)
Еще определения! Но на этот раз, вы позиционируете пламя, выходящее из задней части ракеты.
fx_exhaustFlame_yellow = x, y, z, angx, angy, angz, active fx_exhaustLight_yellow = x, y, z, angx, angy, angz, active fx_smokeTrail_medium = x, y, z, angx, angy, angz, active
Хорошо, выглядит достаточно просто для node_definitions, правда?
Вы должны заметить, что только у определения узловых точек существуют отдельные части для каждого эффекта. У Вас есть fx_exhaustFlame, fx_exhaustLight, и fx_smokeTrail.
Это именно то, что они озвучивают:: пламя, свет, и дымный след.
Сушествуют различные варианты цвета пламени - голубой тоже доступен. Для получения голубого пламени, Вы должны использовать fx_exhaustFlame_blue. Вы можете также сделать и для параметра exhaustLight.
'Активный' переключатель в конце используется для определения когда этот эффект станет видимым. Смотрите объявления Группы эффектов, чтобы знать когда группы эффектов доступны и в каком случае их можно использовать.
Также возможно назначать в качестве эффекта больше, чем одну группа эффектов. Если, например, Вы хотите, чтобы эффект дыма был видимым, и когда деталь включается, и когда она отключается, то Вы можете сделать это:
fx_gasBurst_white = x, y ,z, angx, angy, angz, activate, deactivate
Это особенно полезно, если Вы определили множество эффектов, наподобии газовых разрядов на модуле RCS.
Чувствуете, сколько всего Вы сейчас навесили на это? Давайте продолжим писать фиктивный файл детали и добавим в него синее пламя и свет, но уберем дымовой след.
// Kerbal Space Program - CFG файл детали // Ракетный двигатель Mark V // --- General Parameters --- name = LiquidThrusterV module = LiquidEngine author = YourName // --- Asset Parameters --- mesh = myMesh.dae scale = 0.1 texture = awesometexture.png specPower = 0.5 rimFalloff = 3 alphaCutoff = 0 // --- Node Definitions --- node_stack_bottom = 0.0, -3.5, 0.0, 0.0, 1.0, 0.0, 1.0 // --- FX Definitions --- fx_exhaustFlame_blue = 0.0, -10.0, 0.0, 0.0, 1.0, 0.0, active fx_exhaustLight_blue = 0.0, -10.0, 0.0, 0.0, 0.0, 1.0, active
Описание звуковых настроек эффектов(FX)
Это довольно легко использовать на начальном уровне, который полностью будет отвечать нашим потребностям.
После этой секции идет:
sound_vent_medium = activate sound_rocket_hard = active sound_vent_soft = deactivate
Звуки добавлены в группы эффектов, в основном таким же образом, как эффекты дыма и пламени. Конечно, звуки не нуждаются в расположении в пространстве и при этом они не вращаются, так что все, что вам нужно - это указать, в каких группах эффектов будет выполняться звук. Как и для эффектов, вы можете назначить несколько групп звуков.
Начиная с версии 0.20 структура GameData позволяет два пути для добавления звука к детали:
- KSP имеет внутреннюю библиотеку звуков, которая содержит несколько звуковых эффектов. При определении звука, как в приведенном выше примере, KSP будет искать этот звук в своей внутренней библиотеке.
- Второй способ заключается в добавлении новых звуковых файлов, что возможно ТОЛЬКО при добавлении звукового файла в каталог GameData/modName/parts/partName/part/sounds/. Обратите внимание, что все звуки, добавленные таким образом - "приватные", доступные только для этой детали. В настоящее время, наследование каталогов папки или расшаривание папки с модом не работает, разработчики, вероятно, будут решать эту проблему в будущем.
ПОМНИТЕ: Если Вы добавляете какой-либо звук, название файла должно начинаться сsound_ (например, sound_myNewSoundEffect.wav).
При использовании звука из встроенной библиотеки KSP или каталога деталей/звуков, Вы должны не включать расширение названия звука (например, sound_vent_medium = activate), иначе звук не заработает.
Поддерживаются файлы ".wav" и ".ogg" с частотой 48000Hz.
Добавим звуковые эффекты к нашему фиктивному файлу:
// Kerbal Space Program - CFG файл детали // Ракетный двигатель Mark V // --- General Parameters --- name = LiquidThrusterV module = LiquidEngine author = YourName // --- Asset Parameters --- mesh = myMesh.dae scale = 0.1 texture = awesometexture.png specPower = 0.5 rimFalloff = 3 alphaCutoff = 0 // --- Node Definitions --- node_stack_bottom = 0.0, -3.5, 0.0, 0.0, 1.0, 0.0, 1.0 *'''// --- FX Definitions --- fx_exhaustFlame_blue = 0.0, -10.0, 0.0, 0.0, 1.0, 0.0, active fx_exhaustLight_blue = 0.0, -10.0, 0.0, 0.0, 0.0, 1.0, active // --- Sound FX definition --- sound_vent_medium = activate sound_rocket_hard = active sound_vent_soft = deactivate
Параметры редактора
Ага! Мы вернулись к параметрам! Это набор параметров позволяет решть, как наша часть отображается в редакторе ракет. Этот раздел содержит следующее:
// --- editor parameters --- cost = 450 category = Propulsion subcategory = 0 title = manufacturer = description =
- cost
- На самом деле это еще не реализовано, но, когда параметр будет реализован, он будет устанавливать стоимость детали корабля. Вы можете установить любое значение на свой вкус, сейчас оно ни к чему на данный момент.
- category
- Всего семь категорий:
Категория | Описание |
---|---|
Pods | Командный отсек и кабины пилотов находятся здесь |
Propulsion | Двигатели, топливные цистерны, монокомпанентные цистерны и тому подобное. |
Control | модули системы стабилизации (SAS), двишатели на монокомпанентном топливе (RCS) и тому подобное. |
Structural | Подпорки, разделители, адаптеры и тому подобное. |
Aero | Крылья, управляющие плоскости (рули, элероны и т.д.) и носовые обтекатели. |
Utility | Парашюты, стыковочные стрелы, тепловые экраны, осветительное оборудование, посадочные шасси/опоры, лесницы, батареи, солнечные панели, генераторы и тому подобное. |
Science | Датчики, антенны, спутниковые тарелки и тому подобное. |
- subcategory
- Еще не используется. Установите значение равным 0.
- title
- Как Вы хотите, чтобы Ваша деталь называлась в редакторе ракет?
- manufacturer
- Кто производит Вашу деталь?
- description
- Здесь опишите свою деталь. (Не используйте разрывы строк. KSP в подсказке детали разрывает строки автоматически. Разрыв строки вызовет отображение Вашего описания в усеченном виде).
И это все. Обновленный фиктивный cfg-файл теперь выглядит следующим образом:
// Kerbal Space Program - CFG файл детали // Ракетный двигатель Mark V // --- General Parameters --- name = LiquidThrusterV module = LiquidEngine author = YourName // --- Asset Parameters --- mesh = myMesh.dae scale = 0.1 texture = awesometexture.png specPower = 0.5 rimFalloff = 3 alphaCutoff = 0 // --- Node Definitions --- node_stack_bottom = 0.0, -3.5, 0.0, 0.0, 1.0, 0.0, 1.0 *'''// --- FX Definitions --- fx_exhaustFlame_blue = 0.0, -10.0, 0.0, 0.0, 1.0, 0.0, active fx_exhaustLight_blue = 0.0, -10.0, 0.0, 0.0, 0.0, 1.0, active // --- Sound FX definition --- sound_vent_medium = activate sound_rocket_hard = active sound_vent_soft = deactivate // --- editor parameters --- cost = 120 category = Propulsion subcategory = 0 title = Ракетный двигатель Mark V manufacturer = Утрашающе Ужасные Ракетные Двигатели Инкорпорейтед description = Эта деталь теперь выведет Вас в космос с потерями меньшими на 60%, чем двигатель Mark IV.
Правила привязки
Здесь задаются параметры,определяющие как ваша деталь прикрепляется к другим деталям.
- // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
- attachRules = 1,1,1,1,1
Правила соответствуют значениям, приведенным ниже - 1 разрешает, 0 - запрещает. Теги:
stack - позволяет Вашей детали быть пристыкованной к другим?
SrfAttach - позволяет Вашей детали располагаться на поверхности?
allowStack - позволяет другим деталям пристыковываться к Вашей детали?
allowSrfAttach позволяет другим деталям располагаться на поверхности Вашей детали?
allowCollision - Особенность: Может ли Ваша деталь или ее часть быть помещена в пересечении с другой деталью?
Обратите внимание, что Вы также можете заставить детали, прикрепленные к этой детали присоединиться с указанной симметрией.
- // Правила симметрии: 0=1x, 1=2x, 2=3x, 3=4x и так далее...
- stackSymmetry = 3
Достаточно легко, правда? Добавляем к фиктивному файлу и продолжим.
// Kerbal Space Program - CFG файл детали // Ракетный двигатель Mark V // --- General Parameters --- name = LiquidThrusterV module = LiquidEngine author = YourName // --- Asset Parameters --- mesh = myMesh.dae scale = 0.1 texture = awesometexture.png specPower = 0.5 rimFalloff = 3 alphaCutoff = 0 // --- Node Definitions --- node_stack_bottom = 0.0, -3.5, 0.0, 0.0, 1.0, 0.0, 1.0 // --- FX Definitions --- fx_exhaustFlame_blue = 0.0, -10.0, 0.0, 0.0, 1.0, 0.0, active fx_exhaustLight_blue = 0.0, -10.0, 0.0, 0.0, 0.0, 1.0, active // --- Sound FX definition --- sound_vent_medium = activate sound_rocket_hard = active sound_vent_soft = deactivate // --- editor parameters --- cost = 120 category = Propulsion subcategory = 0 title = Ракетный двигатель Mark V manufacturer = Утрашающе Ужасные Ракетные Двигатели Инкорпорейтед description = Эта деталь теперь выведет Вас в космос с потерями меньшими на 60%, чем двигатель Mark IV. // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 1,1,1,1,0
Стандартные параметры детали
Здесь определяется, как ваша деталь действует в воздухе и за его пределами. Следует отметить, что не все эти параметры должны быть определены. Если они исключены из CFG файла, KSP будет использовать значения по умолчанию для них.
- mass =
- dragModelType = default
- maximum_drag =
- minimum_drag =
- angularDrag =
- crashTolerance =
- breakingForce =
- breakingTorque =
- maxTemp =
- heatConductivity =
- heatDissipation =
- stageOffset =
- childStageOffset =
- fuelCrossFeed =
- NoCrossFeedNodeKey =
mass - Сколько весит Ваша деталь? (Или, если эта деталь имеет также параметр dryMass, сколько она весит когда наполнена?)
dragModelType - Оставьте это значение по-умолчанию.
maximum_drag - Каково максимальное значение аэродинамического сопротивления Вашей детали? (Обычно меньше 1). Как правило, аэродинамическое сопротивление, когда направление детали соответствует ее оси y.
minimum_drag - Минимальное значение аэродинамического сопротивления Вашей детали, когда она пристыкована. (Обычно меньше 1 и меньше, чем maximum_drag) (это значение не используется, если значение dragModelType установлено по-умолчанию) Как правило, аэродинамическое сопротивление, когда направление детали перпендикулярно ее оси y.
angularDrag - Насколько велико угловое сопротивление/сопротивление повороту? (Также обычно меньше 1.)
crashTolerance - Насколько хороша прочность Вашей детали при аварии? Чем выше число, тем выше прочность. Считается ориентировочно максимальным воздействием скорости в м/с.
breakingForce - На сколько хороша способность соединения между этой деталью и присоединенными к ней деталями противостоять влиянию линейных сил?
breakingTorque - На сколько хороша способность соединения сопротивления моментам сил?
maxTemp - Максимальное значение температуры, которую Ваша деталь может выдержать до взрыва.
heatConductivity - Насколько хорошо Ваша деталь проводит тепло? По-умолчанию - 0.08, значения используются CFG в версии 0.13.3, но не в 0.15.2.
heatDissipation - Насколько хорошо Ваша деталь рассеивает тепло от летательного аппарата? По-умолчанию - 0.08, значения используются CFG в версии 0.13.3, но не в 0.15.2.
stageOffset и childStageOffset - Может принимать значения 0, 1, и так далее... Определяет, будет ли деталь создавать новую ступень до или после себя, или и в обоих случаях (как делают стыковочные узлы). Это относится только к автоматически сгенерированной последовательность ступеней. Эти параметры заменили stageBefore и stageAfter.
fuelCrossFeed - Способность детали передавать топливо между деталями, прикрепленными к ней?
NoCrossFeedNodeKey - Устанавливается значение bottom когда удерживает топливо текущим через нижние узловые точки (Позволяет избежать некоторого дисбаланса стека и его частичного смягчения в версии 0.15 - ошибка генерации двигателями топлива). Используется с деталями, у которых несколько нижних узловых точек, таких как Адаптер три-к-одному TVR-1180C Mk1.
Теперь перейдем к другой секции, ниже.
Фиктивный файл CFG:
// Kerbal Space Program - CFG файл детали // Ракетный двигатель Mark V // --- General Parameters --- name = LiquidThrusterV module = LiquidEngine author = YourName // --- Asset Parameters --- mesh = myMesh.dae scale = 0.1 texture = awesometexture.png specPower = 0.5 rimFalloff = 3 alphaCutoff = 0 // --- Node Definitions --- node_stack_bottom = 0.0, -3.5, 0.0, 0.0, 1.0, 0.0, 1.0 // --- FX Definitions --- fx_exhaustFlame_blue = 0.0, -10.0, 0.0, 0.0, 1.0, 0.0, active fx_exhaustLight_blue = 0.0, -10.0, 0.0, 0.0, 0.0, 1.0, active // --- Sound FX definition --- sound_vent_medium = activate sound_rocket_hard = active sound_vent_soft = deactivate // ---Editor parameters --- cost = 120 category = Propulsion subcategory = 0 title = Ракетный двигатель Mark V manufacturer = Утрашающе Ужасные Ракетные Двигатели Инкорпорейтед description = Эта деталь теперь выведет Вас в космос с потерями меньшими на 60%, чем двигатель Mark IV. // --- Standard part parameters --- mass = 1.5 dragModelType = default maximum_drag = 0.4 minimum_drag = 0.2 angularDrag = 0.2 crashTolerance = 5 maxTemp = 2500
Специфические параметры детали
Мы почти закончили, полностью созданная деталь почти в наших руках и Вы уже должны знать практически все, что нужно для создания файла "part.cfg". Однако помните, раньше, когда мы настраивали типы? Ну каждый тип имеет индивидуальный набор конкретных параметров детали, которые меняются в зависимости от того, какая эта деталь.
Вы не можете смешивать и сочетать параметры из разных типов модулей - это не работает.
Эти специфические параметры на самом деле - общие переменные, определенные в самом классе детали. Обычные параметры объявлены в базовой части класса, а также специфические - в каждом расширении детали (т.е. модуле)
Например, если тип Вашей детали (модуля) был SolidRocket, Ваши специфические параметры детали будут иметь следующий вид:
- thrust = 130
- dryMass = 0.36
- heatProduction = 550
- fuelConsumption = 4
- internalFuel = 100
- fullExplosionPotential = 0.8
- emptyExplosionPotential = 0.1
- thrustCenter = 0, -0.5, 0
- thrustVector = 0, 1, 0
Время перейти и посмотреть, какие специальные параметры может иметь каждый модульь.
Жидкостной двигатель
Жидкостной двигатель имеет следующие специфические параметры:
- maxThrust =
- minThrust =
- heatProduction =
- fuelConsumption =
Выглядит довольно просто, и все в значительной степени то, чего Вы ожидали здесь увидеть. Сейчас Вы уже должны понимать, что эти параметры означают, но на всякий случай:
maxThrust - Максимальное значение тяги для жидкостного двигателя.
minThrust - Минимальное значение тяги. Обычно 0, если Вы не хотите ракету, которая не может быть полностью выключена.
heatProduction - Насколько много тепла выделяет Ваша деталь.
fuelConsumption - Сколько топлива использует ваш двигатель.
Твердотопливный ракетный ускоритель
- thrust =
- dryMass =
- heatProduction =
- fuelConsumption =
- internalFuel =
- fullExplosionPotential =
- emptyExplosionPotential =
- thrustCenter = x, y, z
- thrustVector = angx, angy, angz
Большинство из этих параметров выглядит очень похоже на параметры жидкостного двигателя, правда?
thrust - Тяга твердотопливного ускорителя. Напоминаю, что он не имеет минимального значения тяги, потому что один раз запустив его нельзя выключить.
dryMass - Каков вес ускорителя, когда пуст.
heatProduction - Точно как и некоторых жидкостных ракет - сколько тепла производит ракета.
fuelConsumption - Сколько топлива потребляет ракета в секунду.
internalFuel - Сколько топлива содержит в себе ускоритель?
fullExplosionPotential - Возможность взрыва, когда ракета наполнена топливом.
emptyExplosionPotential - И возможность - когда пуста.
thrustCenter - Откуда направлен вектор тяги.
thrustVector - Направление вектора тяги.
Топливная цистерна
Топливные баки описываются немного по-другому, в связи с тем, что у них нет параметров тяги.
- fuel =
- dryMass =
- fullExplosionPotential =
- emptyExplosionPotential =
Если Вы прочитали все написанное выше, то должны точно знать - что эти параметры делают, и, поэтому, я не буду снова их Вам объяснять.
Модуль системы стабилизации (SAS)
- maxTorque =
maxTorque - Максимальное значение крутящего момента, который может применить деталь для управления летательным аппаратом.
Ki, Kd и Kp - Эти параметры позволяют настроить внутреннюю работу модуля SAS. Если у Вас нет опыта работы с PID-регуляторами, просто оставте их как они есть.
Крылья
- dragCoeff =
- deflectionLiftCoeff =
dragCoeff - аэродинамическое сопротивление крыла.
deflectionLiftCoeff - подъемная сила крыла.
Управляющие плоскости (рули, элероны и т.д.)
- dragCoeff =
- deflectionLiftCoeff =
- ctrlSurfaceRange =
- ctrlSurfaceArea =
ctrlSurfaceRange - Насколько далеко от центра управляющей плоскости (руля / элеронов и т.д.) может сдвигаться в процессе управления.
ctrlSurfaceArea - Эффективная площадь поверхности управляющей плоскости - чем больше поверхность, тем больше площадь поверхности управляющей плоскости должна быть установлена.
Разделители
- ejectionForce =
ejectionForce - Насколько сильно он толкает при разделении ступеней.
- Замечу, что разделители также добавляют две строки к обычным параметрам детали:: "stageAfter = True" и "stageBefore = True"
Парашюты
- useAGL =
- autoDeployDelay =
- minAirPressureToOpen =
- deployAltitude =
- closedDrag =
- semiDeployedDrag =
- fullyDeployedDrag =
useAGL - Раскрывается парашют при заданной высоте над уровнем поверхности, или над уровнем моря.
autoDeployDelay - Время до раскрытия парашютов, прикрепленных к отделяющимся частям.
minAirPressureToOpen - Минимальное значение атмосферного давления для раскрытия купола.
deployAltitude - Высота полного раскрытия купола парашюта после срабатывания.
closedDrag - Аэродинамическое сопротивление, когда парашют полностью сложен.
semiDeployedDrag - Аэродинамическое сопротивление, когда парашют полу-раскрыт.
fullyDeployedDrag - Аэродинамическое сопротивление, когда парашют полностью раскрыт.
В заключение
Ну вот мы и закончили. К этому моменту Вы уже должны знать все о файле "part.cfg":: и как его создать, как редактировать, манипулировать им и т.д. Все варианты крутых вещей, наподобии этой. После этого окончательный фиктивный файл "part.cfg" будет содержать специальные параметры детали.
Во всяком случае, вот и все - теперь Вы знаете, как сделать несколько крутых обновлений наподобии FTL-двигателя или, игнорирующего закон Ньютона, Гасителя инерции.
Фиктивный файл part.cfg завершен
// Kerbal Space Program - CFG файл детали // Ракетный двигатель Mark V // --- General Parameters --- name = LiquidThrusterV module = LiquidEngine author = YourName // --- Asset Parameters --- mesh = myMesh.dae scale = 0.1 texture = awesometexture.png specPower = 0.5 rimFalloff = 3 alphaCutoff = 0 // --- Node Definitions --- node_stack_bottom = 0.0, -3.5, 0.0, 0.0, 1.0, 0.0, 1.0 // --- FX Definitions --- fx_exhaustFlame_blue = 0.0, -10.0, 0.0, 0.0, 1.0, 0.0, active fx_exhaustLight_blue = 0.0, -10.0, 0.0, 0.0, 0.0, 1.0, active // --- Sound FX definition --- sound_vent_medium = activate sound_rocket_hard = active sound_vent_soft = deactivate // ---Editor parameters --- cost = 120 category = Propulsion subcategory = 0 title = Ракетный двигатель Mark V manufacturer = Утрашающе Ужасные Ракетные Двигатели Инкорпорейтед description = Эта деталь теперь выведет Вас в космос с потерями меньшими на 60%, чем двигатель Mark IV. // --- Standard part parameters --- mass = 1.5 dragModelType = default maximum_drag = 0.4 minimum_drag = 0.2 angularDrag = 0.2 crashTolerance = 5 maxTemp = 2500 // --- Special Part Parameters --- maxThrust = 150 minThrust = 0 heatProduction = 360 fuelConsumption = 7
Еще пример?
// KSP - Детали // Химический ионный двигатель, использующий обычные топливные баки :D // Ионный двигатель Mark I // // --- general parameters --- name = ChemiIonEngine module = LiquidEngine author = Chemi | G-min // --- asset parameters --- mesh = CIonengMK1.dae scale = 0.1 texture = hotsurf.png specPower = 0.5 rimFalloff = 4 alphaCutoff = 0 // --- node definitions --- node_stack_bottom = 0, 0, 0, 0, -1.0, 0, 1 node_stack_top = 0, 0.2, 0, 0, 1.0, 0, 1 // --- FX definitions --- fx_exhaustFlame_yellow = 0, -0.05, 0, 0, 1.0, 0, active fx_exhaustLight_yellow = 0, -0.05, 0, 0, 0, 0, active fx_smokeTrail_medium = 0, 0, 0, 0, 1.0, 0, active // --- Sound FX definition --- sound_chemiionengine.wav = activate sound_chemiionengine.wav = active sound_vent_soft = deactivate // --- editor parameters --- cost = 1000 category = Propulsion subcategory = 0 title = Химический ионный двигатель MK1 manufacturer = Лаборатория химического реактивного движения/ Разработка деталей G-min description = Великий ионный двигатель :D с сопротивлением авариям G-JPG около 999 м/с! (Не значит, что расположенный внутри ионный двигатель спасет от катастрофы при скорости 999 м/с!!! Я Вас предупредил!) и СПЕЦИАЛЬНО УКРЕПЛЕННЫЙ! С амортизатором! Теперь с вискозным охлаждением!(действительно впитывает и накапливает :D) (это ГЕЛЬ!) Отлично подходит для межпланетных путешествий. // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 1,1,1,1,0 // --- standard part parameters --- mass = 1.22 dragModelType = default maximum_drag = 0.399 angularDrag = 0.4 crashTolerance = 29.16 breakingForce = 1024 breakingTorque = 567 maxTemp = 3100 heatConductivity = 3.6 heatDissipation = 0.014 // --- specific part parameters --- maxThrust = 369 minThrust = 0 heatProduction = 58 fuelConsumption = 0.009 // Конец!