ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» Блок Л для семерки | страница 2 |
|
|
|
Канал Orbiter: «Блок Л для семерки» |
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
А, ну да, действительно - что мешает загрузить бездырочную половинку второй раз, с поворотом? Ничего, только усталость (поздно вчера было...)
|
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
Продолжаю макетирование, думаю, скоро покажу макет - пока без особой деталировки, но уже вполне узнаваемый. Попутно выясняются некоторые подробности про стык с блоком И: одной уборкой конического адаптера Союза дело не ограничится, понадобится цилиндрическая вставка (на родной Молнии она вроде как тоже видна). Ибо обычный опорный шпангоут у блока И сидит очень низко, а сферический бак наоборот, торчит высоко - не то что нет места под сопло, но даже стержни фермы залезают в сферу.
Обтекатели, возможно, тоже придется подгонять, востоковские тонковаты, оставляют щели, и вообще как-то пока не очень хорошо стыкуются. Впрочем, я их недолго крутил, может, еще встанут.
|
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
Можно сгрузить статическое демо: http://members.shaw.ca/atil8/Orbiter/BlockL/BlockL.static.demo.1.zip
Там несколько демо-сценариев, не летать, а только посмотреть сопряжения блоков и обтекателей - так что интересно будет в основном astronavt-у.
|
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
Нужна следующая информация про блок Л:
1. Как он поддерживал ориентацию на пассивном участке, и как на активном? Знаю, что была ГСП, но про исполнительные элементы совершенно не в курсе.
2. Стабилизация по вращению на активном участке? Рулевиков не нашел.
3. Отбрасывалась переходная ферма после запуска движка или нет? Перед не могла - на ней осадочные РДТТ. По некоторым данным, отбрасывалась на второй модификации, но точных данных не нашел.
Вообще очень мало про него нашел пока - несколько маленьких фоток и схему из Техники Молодежи Для приближенной модели даже хватит, но указанные три позиции даже для первого приближения важны.
|
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
И крайний на сегодня вопрос: какие сценарии (программы полета) в Блоке Л реализовывать. Луна - раз (из моей Лайки должна хорошо утянуться). Собственно Молния (спутник) - два. Венера-Марс - три. Это, в общем, просто убегание в эклиптику, еще не думал, но должно быть похоже на Луну.
Для всех трех начальный тайминг обеспечивается подгонкой стартового окна. Все три должны быть в первом же релизе, хоть с кирпичом в качестве ПН. Ничего я не забыл?
|
|
|
astronavt 86 EGP
Рейтинг канала: 1(3) Репутация: 35 Сообщения: 403 Откуда: Новочеркасск Зарегистрирован: 11.01.2006 |
|
igel : |
понадобится цилиндрическая вставка
|
Какой длинны она должна быть?
Посмотрел. Симпатичный аппаратик.
igel : |
Ничего я не забыл?
|
Думаю, что нет
_________________ Я бы изменил этот мир, но Бог не дает мне исходников... |
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
astronavt : |
Какой длинны она должна быть?
|
А хрен ее знает Наверное, вот именно такая, как в моем сценарии, чтобы сопло Л чуть приподнималось над баком. А я просто по месту подогнал.
Точные цифры мы вряд ли когда-нибудь найдем:
1. Это не те параметры, что публикуются даже в технической печати и помнят наизусть даже разработчики.
2. Даже если добраться до рабочей документации, наверняка выяснится, что цифры с течением времени менялись, и придется принимать решение, какие модификации моделировать, какие нет, насколько сложной делать модель.
3. Если даже добиться полной перфекции (ценой неимоверных затрат времени) - все равно никто не увидит и не оценит . Смотрят на то, как ракета "смотрится" в комплексе, как размещены "значимые" элементы и как "выглядят" динамические операции. При этом а) на всех все равно не угодишь и б) кому-то все равно придется доказывать, что "оно действительно работало именно так, а не иначе".
|
|
|
astronavt 86 EGP
Рейтинг канала: 1(3) Репутация: 35 Сообщения: 403 Откуда: Новочеркасск Зарегистрирован: 11.01.2006 |
|
Специально для этого проекта сделал маленький патчик
http://rapidshare.com/files/19267505/R7_070304_beta_patch.zip.html
Для блока И добавлено значение параметра CONFIG равное 2, превращающее ракету в "Молнию". Грузится цилиндрический переходник. Кроме того, сделан обтекатель для "Молнии".
_________________ Я бы изменил этот мир, но Бог не дает мне исходников... |
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
Отлично, спасибо! И даже со сценарием - буду использовать как учебное пособие. Тут же не выдержал и запустил габаритно-весовой макет блока Л, пока пустой. Проект под dll-ку уже создал, буду потихоньку программировать, ну и параллельно уточнять технические данные.
|
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
Работа потихоньку движется. Показывать пока нечего, визуально ничего не изменилось... но сегодня наконец Лайка впервые села на Луну, будучи запущена новым блоком Л! То есть, "старая" функциональность в общих чертах восстановлена на сильно "новом" уровне исторической и технической правдоподобности изделия. Разница ощутимая и приятная! Вот поправлю циклограмму запуска - и можно будет выкладывать демку уже не статическую. Хотя до релиза пока далековато, по грубой оценке - сделана где-то половина того, что в нем нужно.
|
|
|
astronavt 86 EGP
Рейтинг канала: 1(3) Репутация: 35 Сообщения: 403 Откуда: Новочеркасск Зарегистрирован: 11.01.2006 |
|
Замечательно! Правда я, как ни старался этого избежать, все таки запихнул в релиз сценарий с "Молнией". И, естественно, при его выборе у непосвященных возникает вывал в винды .
_________________ Я бы изменил этот мир, но Бог не дает мне исходников... |
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
Да, я сам ошибок при сборке и выкладке релиза боюсь больше, чем ошибок в коде Ибо внимание уже рассеяно, весь в предвкушении...
|
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
Ну вот, первая альфа готова. Тестировать ничего не предлагаю (нечего там еще особо тестировать), но если у кого есть время - можете поразвлечься.
http://members.shaw.ca/atil8/Orbiter/BlockL/BlockL.Alpha.31.03.07.zip
Сделано: вся функциональность БОЗа (блок обеспечения запуска), приличная циклограмма, ПВУ, автопилот. Отлично работает на ускорении времени: ПУТ - до х1000, АУТ - до х10. Автоматически сбрасывает ускорение времени перед "интересными" событиями, так что не надо бдить над клавишей R . Качающаяся камера (даже три).
Ой, только сечас сообразил: все сценарии требуют Лайку. Надеюсь, у вас она есть . Это не промоушен, мне просто была нужна какая-то ПН, а Лайка еще и умная . Если ее нет, а грузить лень, просто срубите ее из сценариев. Один из сценариев требует еще и Пиксела: я его как летающую камеру использовал, полетать вокруг ракеты. После того, как меши на Семерке полегчали, это стало возможно (до этого автопилот не тянул).
Не сделано... Ну, тот список длинный. Ничего пока не добавлено в меши. Вся информация есть, нужно только сесть и нарисовать. Нет сохранения-восстановления в сценарий, его я обычно добавляю крайним, когда ясно, что именно следует сохранять. Нет практически ручного управления... То есть, пока БОЗ на месте, еще можно вертеться, а без него движков ориентации просто нет. Автопилот не отключается. Из траекторий - только Луна, да и в лунном автопилоте есть пара "жульнических" хаков.
Клавиши. J, как обычно, отстреливает все что можно. Ctrl+J переключает смену фокуса перед отделением полезной нагрузки: по умолчанию фокус переходит на ПН. Ctrl+J ничего не отделает, а только переставляет флажок и сообщает свое новое состояние... но этого обычно не видно, потому что автопилот все время обновляет строку и затирает ее сообщение. Чтобы этого не происходило, можно на время "заткнуть" автопилот клавишей V (мнемоника Verbose autopilot). Сам автопилот от этого не выключится, только сообщения прекратятся.
Зачем нужна Ctrl+J? Моя маленькая рекомендация: на блоке Л я сместил внутреннюю камеру в сторону от оси, аж на шпангоут. И теперь, вместо того, чтобы смотреть в сопло Лайке, она смотрит на нее чуть сбоку. Получилась натуральная rocketcam, какие сейчас сильно в моде! Вид стал настолько интересным, иногда хочется посмотреть разделение с этой камеры, как Лайка плавно отходит... а для этого надо уметь сказать блоку Л "не отдавай фокус".
Я хочу добавить еще как минимум одну бортовую (внутреннюю) камеру, на задний шпангоут, для съемки работы и отделения БОЗа (тоже очень популярный ракурс). А переключать их клавишей С. На Пикселе у меня уже было две камеры (как на прототипе), но там я их развел на две клавиши, и до сих пор путаюсь. По-моему, простой toggle или ротация лучше, по крайней мере при числе камер меньше пяти .
Ну вот и все пока. Будем продолжать потихоньку.
|
|
|
astronavt 86 EGP
Рейтинг канала: 1(3) Репутация: 35 Сообщения: 403 Откуда: Новочеркасск Зарегистрирован: 11.01.2006 |
|
Хм, что-то гружу сценарии, а меши не отображаются...
_________________ Я бы изменил этот мир, но Бог не дает мне исходников... |
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
Я чуня! Я dll забыл! Сейчас же пересоберу!
|
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
Новая альфа. Так и пришлось датировать первым апреля .
http://members.shaw.ca/atil8/Orbiter/BlockL/BlockL.Alpha.01.04.07.zip
Пардон. Конечно, к демам и альфам внимания при сборке меньше, чем к релизам, но упускать критические компоненты все равно нехорошо. dll-ки не было в самой первой, статической демке - ну и забыл добавить теперь...
|
|
|
astronavt 86 EGP
Рейтинг канала: 1(3) Репутация: 35 Сообщения: 403 Откуда: Новочеркасск Зарегистрирован: 11.01.2006 |
|
Побачив.
Выглядит эффектно, особенно на этапе работы третьей ступени. Динамика TLI просто завораживает .
Только вот сколько CTRL-J не жму, жадина не отдает фокус. Хотя вот эта конструкция
Код: |
if ( (bSwitchFocus) && (oapiGetFocusObject() == GetHandle()) )
{
// Make sure that the originally attached object still exists.
// This won't work if the object was destroyed, and only some piece remains...
// but it won't CTD either, just keeps the focus at L.
OBJHANDLE hPayload = oapiGetObjectByName(PayloadName);
if (hPayload)
oapiSetFocusObject(hPayload);
}
|
выглядит безупречно... Странно.
_________________ Я бы изменил этот мир, но Бог не дает мне исходников...
Последний раз редактировалось: astronavt (21:16 01-04-2007), всего редактировалось 1 раз |
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
Да, смотрится все уже очень красиво, даже в незаконченном виде. Потому и выложил, похвастался. Ну и просто на всякий случай - а то доделывать еще долго, мало ли что может отвлечь надолго, сезон вон уже на носу...
Ctrl-J сейчас перепроверил, все работает как надо, но вот логика этого "как надо" довольно неочевидная, и вряд ли в таком виде сохранится в релизе. По шагам:
1. Еще на этапе ПУТ (чтобы потом не дергаться второпях) нажать V. Это заморозит строку сообщения.
2. Нажать Ctrl-J. Можно многократно. В строке будет сообщение "switch focus to payload after separation? YES!" ну или "NO!". Оставить на NO. (по умолчанию, если ничего не трогать, имеет место YES).
3. Снова нажать V и разморозить строку сообщений для автопилота.
4. Переключиться на внутренний вид.
5. Отделить ПН клавишей J, ну или дождаться естественного отделения. Фокус останется на блоке Л и позволит полюбоваться уплывающей Лайкой.
Последовательность действий и впрямь горбатая. В API появились недавно viewport-ы, позволяющие писать сообщения где угодно на экране ,а не тольк ов отладочной строке. Кажется, именно их активно использует Юрий в Энергии, и надо будет их освоить, чтобы не конфликтовать за строку. Правда, они не работают во внешнем виде... Альтернативно можно приостанавливать вывод автопилота секунды на три после вывода "внепланового сообщения", сполне достаточно, чтобы прочитать.
Забыл сказать. Из полной реальной динамики не реализован пока стабилизированный полет на ПУТ и программа тангажа на ПУТ и АУТ. Ну, АУТ - это несложно, а вот на ПУТ могут быть трудности с ускорением времени - уж больно мал запас газа в БОЗ, не пришлось бы мухлить. Конечно, мухлеж на ускорении времени вполне оправдан, нештатный ведь режим, но всяко лишняя работа...
|
|
|
Kulch 105 EGP
Рейтинг канала: 2(21) Репутация: 29 Сообщения: 604 Откуда: Россия, Санкт-Петербург Зарегистрирован: 24.08.2004 |
|
igel : |
В API появились недавно viewport-ы, позволяющие писать сообщения где угодно на экране ,а не тольк ов отладочной строке. Кажется, именно их активно использует Юрий в Энергии, и надо будет их освоить, чтобы не конфликтовать за строку
|
viewport? что это за зверь такой? я-то использую функции Win GDI для того, чтобы рисовать в HUD все, что угодно, в т.ч. текстовые сообщения. Пример можно найти в исходниках deltaglider
_________________ Юрий Кульчицкий aka Kulch
Последний раз редактировалось: Kulch (10:24 02-04-2007), всего редактировалось 1 раз |
|
|
Kulch 105 EGP
Рейтинг канала: 2(21) Репутация: 29 Сообщения: 604 Откуда: Россия, Санкт-Петербург Зарегистрирован: 24.08.2004 |
|
по-поводу передачи фокуса
Код: |
bool Payloads::IsUnderFocus(){
OBJHANDLE focus_obj = oapiGetFocusObject();
if(focus_obj == NULL)
return false;
char obj_name[256], own_name[256];
oapiGetObjectName(focus_obj, obj_name, 256);
oapiGetObjectName(vehicle_obj, own_name, 256);
if(strncmp (obj_name, own_name, 256) == 0)
return true;
return false;
}
void Payloads::DetachPayload(int pl_idx){
if(payloads[pl_idx].payload == NULL)
return;
GetVehicleInterface()->DetachChild(payloads[pl_idx].parent_point, detach_speed);
if(send_focus && IsUnderFocus()){
VESSEL *plv = oapiGetVesselInterface(payloads[pl_idx].payload);
if(plv->GetEnableFocus())
oapiSetFocusObject(payloads[pl_idx].payload);
}
payloads[pl_idx].payload = NULL;
ResetEmptyMass();
}
|
Обратите внимание на то, что в данном случае я, во-первых, сравниваю не OBJHANDLE'ы, а имена, а во-вторых, перед передачей фокуса все же проверяю, готов ли объект его принять. Ведь есть аппараты, на которые разработчик запретил передавать фокус. Установить на такие vessel'ы фокус все равно можно, но вот нужно ли? Если разработчик запретил (мои блоки А от Энергии, например), наверное неспроста?
_________________ Юрий Кульчицкий aka Kulch |
|
|
|
|
|
Канал Orbiter: «Блок Л для семерки» |
|
К списку каналов | Наверх страницы |
Цитата не в тему: Пилоты бывают синие. Это понятно, какие. Желтые - они же атипичные. Красные - с повышенным артериальным давлением. Зеленые - либо галлюцинация, либо утопленники. (Scanka)
|
» Блок Л для семерки | страница 2 |
|