|
|
|
Канал Orbiter: «НОВАЯ ВЕРСИЯ: Payload Manager SDK, 2.2.3.0» |
|
|
Thorton 87 EGP
Рейтинг канала: 3(36) Репутация: 12 Сообщения: 696 Откуда: Томск Зарегистрирован: 15.05.2006 |
|
Ну я опять же в корыстных целях интересовался, думал может можно будет URMS и к моей МКС попытаться прицепить, т.к. без этой фичи станцию начиная с некоторой стадии собирать дальше не представляется возможным.
|
|
|
Xantcha 63 EGP
Рейтинг канала: 2(15) Репутация: 7 Сообщения: 194
Зарегистрирован: 02.08.2007 |
|
Слегка поробовал - а ведь здорово. Идея действительно классная и стоит включения в *стандартный пакет*. Весьма-весьма весело.
ТОка у меня что-то шаблон не компилится. Вроде все пути указал но один фиг - ошибка. Но это, наверное, мой косяк потому как к уже готовому проекту вполне нормально добавляется.
Вот добавил функциональность PM'а к шаттлу-А:
P.S. Пока всех функций не проверял, но как шаблонный минимум для добавления возможностей библиотеки - работает. Кстати, я правильно понимаю что стандартное расположение аттачмента, и направление одно на весь корабль? А то хочется разных на каждый слот.
|
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
То есть как - зачем? Так можно дошагать куда-нибудь и дотянуться дальше, чем позволяет длина манипилятора, и куда не проложены рельсы. Были бы узлы с питанием-управлением.
|
|
|
Kulch 105 EGP
Рейтинг канала: 2(21) Репутация: 29 Сообщения: 604 Откуда: Россия, Санкт-Петербург Зарегистрирован: 24.08.2004 |
|
Xantcha : |
Кстати, я правильно понимаю что стандартное расположение аттачмента, и направление одно на весь корабль? А то хочется разных на каждый слот.
|
Да. Одно на весь корабль. Делать настраиваемым на каждый слот - сложновато... По крайней мере пока - не планирую.
добавлено спустя 5 минут:
igel : |
Так можно дошагать куда-нибудь и дотянуться дальше, чем позволяет длина манипилятора, и куда не проложены рельсы. Были бы узлы с питанием-управлением.
|
Thorton : |
Ну я опять же в корыстных целях интересовался, думал может можно будет URMS и к моей МКС попытаться прицепить, т.к. без этой фичи станцию начиная с некоторой стадии собирать дальше не представляется возможным.
|
Эй, ребята! Сложно это сделать! Ну то есть ничего сложного, но громоздко! А вариант с рельсами у меня почти готов... Может, его все-таки хватит? Сами подумайте - можно проложить рельсы по-умному, опять же несколько манипуляторов поставить - с пересекающимися путями. И передавать груз из руки в руку...
Я так никогда не кончу... Меня еще Вулкан ждет, ГК-175... Еще телега к ним не доделана... А сопутствующие проекты? Их тоже надо делать - тот же крылатый танкер с автопосадкой...
Коля Димитров меня уже теребит - мы договорились вместе делать ЛОК и МОК. А для них нужен Вулкан, как вы понимаете...
добавлено спустя 2 минуты:
Xantcha : |
ТОка у меня что-то шаблон не компилится. Вроде все пути указал но один фиг - ошибка. Но это, наверное, мой косяк потому как к уже готовому проекту вполне нормально добавляется.
|
А что за ошибка-то?
добавлено спустя 1 минуту:
Xantcha : |
Вот добавил функциональность PM'а к шаттлу-А:
|
_________________ Юрий Кульчицкий aka Kulch
Последний раз редактировалось: Kulch (23:35 12-02-2008), всего редактировалось 3 раз(а) |
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
Согласен, такому "шагающему экскаватору" свой мини-API нужен, узлы расставлять.
|
|
|
Thorton 87 EGP
Рейтинг канала: 3(36) Репутация: 12 Сообщения: 696 Откуда: Томск Зарегистрирован: 15.05.2006 |
|
igel : |
Согласен, такому "шагающему экскаватору" свой мини-API нужен, узлы расставлять.
|
А разве нельзя использовать уже существующие точки крепления?
Kulch : |
Эй, ребята! Сложно это сделать! Ну то есть ничего сложного, но громоздко! А вариант с рельсами у меня почти готов... Может, его все-таки хватит?
|
Юрий, что делать это конечно Вам решать, я с просто интересовался о возможностях применения URMS.
А как телега определяет где кончается мешь?
|
|
|
Kulch 105 EGP
Рейтинг канала: 2(21) Репутация: 29 Сообщения: 604 Откуда: Россия, Санкт-Петербург Зарегистрирован: 24.08.2004 |
|
Xantcha : |
Кстати, я правильно понимаю что стандартное расположение аттачмента, и направление одно на весь корабль? А то хочется разных на каждый слот.
|
(ой, я по привычке думал - речь о настройке через Scenario Editor. нет, через API это, конечно, несложно)
Короче,я понял. Сделаю так - по умолчанию выставляется для всех слотов, а потом можно для конкретных слотов выставить свое направление. Можно будет делать что-нибудь типа крейсера с катапультами в разные стороны
Во-вторых, подозреваю, почему не компилится шаблон. Если используется шаблон для сложного случая наследования, то там у меня ошибка.
Вместо строк
Код: |
template<typename ARG1, typename ARG2>
VesselWithPM(OBJHANDLE hObj, ARG1 &arg1, ARG2 &arg2)
: base(hObj, arg1, arg2)
{
PayloadManager::init_pm(this, this);
}
|
надо вставить
Код: |
template<typename ARG1, typename ARG2>
VesselWithPM(OBJHANDLE hObj, ARG1 &arg1, ARG2 &arg2)
: base(hObj, arg1, arg2)
{
PayloadManager::init_pm(this, this, PM_DLL_MAJOR_VER, PM_DLL_MINOR_VER);
}
|
Это я добавлял контроль версии, но не доделал до конца
Сегодня добавлю возможность ставить индивидуальные направления слотам и выложу обновление, о чем сообщу дополнительно.
Попутно вопрос. Сейчас максимальное число слотов - 20. Нормально? Или сделать больше? Сколько сделать по умолчанию (сейчас это равно максимальному числу)?
добавлено спустя 10 минут:
Thorton : |
А как телега определяет где кончается мешь?
|
Никак. Путь телеги задается через Scenario Editor параметрами:
1. Координаты начальной точки пути (в координатах корабля-носителя).
2. Координаты конечной точки пути.
3. Угол банкинга пути (то есть завал вбок от -180 до +180).
4. Место парковки телеги (число от 0 до 1 - доля относительно длины пути), парковка будет автоматическая.
_________________ Юрий Кульчицкий aka Kulch
Последний раз редактировалось: Kulch (12:48 13-02-2008), всего редактировалось 3 раз(а) |
|
|
Eraser_stp 60 EGP
Рейтинг канала: 1(9) Репутация: 2 Сообщения: 177
Зарегистрирован: 14.06.2007 |
|
ERA тоже шагающая. Kulch, пусть это будет пожеланием для второй версии URMS, ладно?
|
|
|
Kulch 105 EGP
Рейтинг канала: 2(21) Репутация: 29 Сообщения: 604 Откуда: Россия, Санкт-Петербург Зарегистрирован: 24.08.2004 |
|
Eraser_stp : |
ERA тоже шагающая. Kulch, пусть это будет пожеланием для второй версии URMS, ладно?
|
Года через два...
_________________ Юрий Кульчицкий aka Kulch |
|
|
Xantcha 63 EGP
Рейтинг канала: 2(15) Репутация: 7 Сообщения: 194
Зарегистрирован: 02.08.2007 |
|
не.. не в этом дело - не компилится именно Payload Demonstrator. пишет дословно: error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@) Вообще что-то в этом духе пишет когда библиотек найти не выходит, хотя вроде все указано.
/* Как и говорил тут проблема скорее всего во мне - для меня 80% процентов настроек свойств проекта непонятны совершенно. (VC++ 2005 Express, Ставил это дело тупо по мануалу из орбитервики.)
Хотя этот случай совсем особый - никак не получается настроить его отдельно.. Даже пробовал так - в уже работающем проекте удалить все и поместить PM demonctrator - никак... */
Вот попробовал дальше баловаться собственно с самим Payload Manager'ом - прикольный процесс, надо сказать Конструктор, блин.
Что радует, если включить двигатель ребнка, то на родителя действительно действует сила. Что не радует - центр тяжести действительно не смещается. Но это я могу и сам посчитать
А еще вот что заметил - когда в диалоге меняешь чилса, они автоматически применяются, что удобно. Неудобно вот что - при этом курсор сбивается на начало. Ну то есть если писать 901 то получится |9, |09, |19.
Ну и не получилось у меня записать хотя бы 3,5 градуса в угол поворота - видимо только целые. А ьез этого аккуратно налонить груз, так чтобы казалось что он действительно лежит на родителе не всегда получается.
А вот поддержку слотов положения/угла слотов - жду Вообще думаю пн кораблей своего аддон именно через твой интерфейс организовать. В самой аддоне, конечно, все равно через что крепить, но если запускать игровые корабли просто так полетать без игровой длл-ки. То будет удобно, все таки не конфиг руками править ))). Ну и плюс стандартизация.
|
|
|
Kulch 105 EGP
Рейтинг канала: 2(21) Репутация: 29 Сообщения: 604 Откуда: Россия, Санкт-Петербург Зарегистрирован: 24.08.2004 |
|
Новая бета:
http://www.kulch.spb.ru/Files/PayloadManagerSDK_beta_080213.zip
Подробно - в первом сообщении этого топика.
добавлено спустя 4 минуты:
Xantcha : |
Что не радует - центр тяжести действительно не смещается.
|
Пока не знаю, как это толком сделать. Но в планах - есть.
Xantcha : |
Неудобно вот что - при этом курсор сбивается на начало.
|
Подумаю...
Xantcha : |
Ну и не получилось у меня записать хотя бы 3,5 градуса в угол поворота - видимо только целые.
|
Нет, числа только целые. Всегда думал, что точности позиционирования в 1 градус - достаточно.
Xantcha : |
А вот поддержку слотов положения/угла слотов - жду
|
Сделано. Надо сильно проверять, есть подозрения, что багисто получилось... Пример есть в PMdemonstrator'е
Xantcha : |
Вообще думаю пн кораблей своего аддон именно через твой интерфейс организовать.
|
Ну это просто бальзам на сердце
_________________ Юрий Кульчицкий aka Kulch
Последний раз редактировалось: Kulch (20:27 13-02-2008), всего редактировалось 3 раз(а) |
|
|
igel 100 EGP
Рейтинг канала: 4(86) Репутация: 14 Сообщения: 755
Зарегистрирован: 12.06.2006 |
|
Thorton : |
А разве нельзя использовать уже существующие точки крепления?
|
Настоящий манипулятор не всякие точки крепленяи может использовать как базы, а только специальные, с интерфейсами питания и контроля. Качественная модель столкнется с похожей ситуацией. По сути, манипулятор есть отдельный vessel. Можно, конечно, управлять им закапсулированно, переключившись на него фокусом. Но наверняка часто захочется управлять им со стороны, с другого vessel-a. Через какой-нибудь api, mfd, панель... А раз возникает такой управляющий интерфейс, сама ситуация подсказывает реализовать его (и закапсулировать) в таком вот объекте-спецаттачменте.
|
|
|
Xantcha 63 EGP
Рейтинг канала: 2(15) Репутация: 7 Сообщения: 194
Зарегистрирован: 02.08.2007 |
|
Попробовал добавить смещение центра тяжести. Несложно, работает. Но есть пара моментов:
Во-первых при использовании ShiftCG выхлопы ребенка остаются на прежнем месте. Что в общем-то некрасиво и сильно раздражает когда ПН работает двигателями.
А во-вторых - так это ощутимо оно сдвигается. Если поднимать крафт управляя передним и задним ховерами вполне весело, то вот когда трансляционные движки начинают заворачивать кораблик, это уже не очень. Раздельно управлять задним/передним или верхним/нижним транслятором - это совсем жесть. Так что на включении сдвига ЦТ больше не настаиваю, да и сам пока не тороплюсь оснащать этим свой вессель.
|
|
|
Kulch 105 EGP
Рейтинг канала: 2(21) Репутация: 29 Сообщения: 604 Откуда: Россия, Санкт-Петербург Зарегистрирован: 24.08.2004 |
|
По-поводу смещения цт.
Следовало бы сделать так:
1. Расчитать новое положение цт с учетом прилепленных уораблей.
2. Сместить в новое положение меш корабля-носителя. Неслабо, а? Перезагрузить меш и заново переопределить анимацию... Причем - для Payload Manager как отдельного модуля это нужно делать ничего не зная об анимации корабля-матки или заставлять разработчика все данные транслировать в PM. Это не все, бывают анимации, которые просто так не переопределишь - сложные анимации с участием scaling'ов.
3. Сместить в новое положение ВСЕ, что есть. А именно - двигатели, их выхлопы (если они определены со своими координатами), определения аэродинамических поверхностей, стыковочные узлы, аттачменты и даже... огоньки-beacon'ы!
4. Сильно-сильно подумать разработчику корабля-матки о том, как жить дальше - смещения ц.т. обычно таковы, что, корабль становится не сильно управлемым
Есть в стандартном API функция ShiftCG. Всю упомянутую работу она вроде бы должна сделать... Но как она работает, я лично не понимаю. Может, объясните?
По идее после такого ее применения:
ShiftCG(_V(10, 0, 0));
на обычной ракете с центральным расположением двигателя должен получиться дисбаланс тяги, переворачивающий все это дело на бок. Ну и раз сместился центр тяжести, то и центр корабля теперь должен быть в 10 метрах справа, что должно сказаться на виде снаружи... Но этого не происходит! То ли я что-то не понимаю, то ли эта функция делает не то, что я от нее жду.
Еще я пробовал передавать на корабль-матку аэродинамические силы от ПН. Тоже разочарован - очень сильные опрокидывающие моменты возникают. К тому же без эмуляции смещения м.т. это все не слишком реалистично.
добавлено спустя 22 минуты:
Поскольку положение и направление слотов можно определять, намерен добавить еще методы для получения данных о текущем положении и направлении слота.
_________________ Юрий Кульчицкий aka Kulch
Последний раз редактировалось: Kulch (12:28 14-02-2008), всего редактировалось 2 раз(а) |
|
|
Xantcha 63 EGP
Рейтинг канала: 2(15) Репутация: 7 Сообщения: 194
Зарегистрирован: 02.08.2007 |
|
Ну я так и делал. ShiftCG работает нормально, единственое что внешняя камера смещается, да выхлопы (детские и те родительские, что созданы через AddExhaust (1) не сдвигаеются.
Но вот пункт 4-ый это да - надо думать.
добавлено спустя 1 минуту:
если интересно вот пример кораблика со смешающимся ЦТ, требует бету ПМа
http://file.sibnet.ru/get/file/?id=169987
Последний раз редактировалось: Xantcha (13:45 14-02-2008), всего редактировалось 2 раз(а) |
|
|
Kulch 105 EGP
Рейтинг канала: 2(21) Репутация: 29 Сообщения: 604 Откуда: Россия, Санкт-Петербург Зарегистрирован: 24.08.2004 |
|
Xantcha : |
единственое что внешняя камера смещается, да выхлопы (детские и те родительские, что созданы через AddExhaust (1) не сдвигаеются
|
Ну так внешняя камера должна указывать на новый ц.т., но она по-прежнему смотрит на старый...
А про AddExhaust - да, я видел ваше сообщение на форуме m6. Вообще это дело надо тестить по-серьезному. Я вот совсем не уверен, что там правильно обрабатывается сдвиг аэродинамических определений и наверняка Мартин забыл про beacon'ы (забыл же он про рендеринг струй от AddExhaust(1) )
добавлено спустя 34 секунды:
Xantcha : |
если интересно вот пример кораблика со смешающимся ЦТ
|
Посмотрю, спасибо
_________________ Юрий Кульчицкий aka Kulch
Последний раз редактировалось: Kulch (17:32 14-02-2008), всего редактировалось 1 раз |
|
|
Xantcha 63 EGP
Рейтинг канала: 2(15) Репутация: 7 Сообщения: 194
Зарегистрирован: 02.08.2007 |
|
А с камерой вообще непонятно. Внешняя смотрит на новый цт , но после переклоючения смотрит в старый центр. А вот внутрення камера ведет себя аналогично но сдвигается уже напостоянно.
А некоторой глубины смещение все таки добавляет. По крайней мере появляется причина ровно размещать груз не только для красоты. Но делать это все равно лучше через сам вессель - все равно придется как-то с линейными движками разбираться.
Кстати, такой вопрос - а можное не вкладывать содержимое orbiterfolderredist в аддон, а просто указать что он зависит от PayloadManager'а Kulch'а и ссылку на страницу где скачать? А то он все-таки 3М весит.
|
|
|
Kulch 105 EGP
Рейтинг канала: 2(21) Репутация: 29 Сообщения: 604 Откуда: Россия, Санкт-Петербург Зарегистрирован: 24.08.2004 |
|
Xantcha : |
Кстати, такой вопрос - а можное не вкладывать содержимое orbiterfolderredist в аддон, а просто указать что он зависит от PayloadManager'а Kulch'а и ссылку на страницу где скачать? А то он все-таки 3М весит.
|
А с контролем версии как быть? У себя на сайте я буду держать только последний вариант... При смене главного числа версии даже имя файла будет меняться, чтобы не интерферировать со старыми аддонами. Да и сайт мой не вечен. Что такое 3 метра??? Вон моя Энергия больше 20 метров весит. Что ж поделать? А конечному пользователю - только неудобства, ему-то два раза скачивать придется.
добавлено спустя 2 минуты:
Можно, конечно, предусмотреть и такой вариант тоже... Тогда придется держать на сайте несколько версий и разбираться с пользователями, которые перепутают.
_________________ Юрий Кульчицкий aka Kulch
Последний раз редактировалось: Kulch (18:15 14-02-2008), всего редактировалось 1 раз |
|
|
Xantcha 63 EGP
Рейтинг канала: 2(15) Репутация: 7 Сообщения: 194
Зарегистрирован: 02.08.2007 |
|
Ну не знаю.. оно конечно неудобно несколько раз скачивать да и с разлными версиям тоже проблемы могут быть. Так что пока если буду что-нибудь когда-нибудь выпускать буду вкладывать.
А потом, кто его знает, если ПМ станет сандартом, то еще раз спрошу. Орбитерсаунд никто ж внутрь аддонов не кладет
________________________________________________________________
И снова про ЦТ:
во-первых тот крафт что я выожил работает неточно.. там коэфицент массы родителя всегда 1 :-/ То есть поведение похоже на правду, но все же неправильное. Исправил и ужаснулся тому какой все-таки расколбас вносит груз в поведение крафта.
а во-вторых..
ыы я снова хочу поддержки плавающего цт в твоем ПМе.
Поясню - просто иначе неудобно - добавляешь через диалог пн, начинаешь ее двигать - ну скажем с 0 на -10. Центр тяжести смещается, координаты корабля и всех аттачментов тоже, то есть координата теперь уже не -10. Ествественно в диалоге оно не обновляется и если решить оттащить ее еще чуть назад то -11 будет уже в *новых* координатах. То есть меняешь как бы на меньшее значение, а пн прыгает вперед.
P.S. меняю цт как-то так:
void ShuttleA::PM_clbkVehicleCapsChanged()
{
oldmass=GetMass();
//применяем массу весселя
VECTOR3 CG =oldCoG*((oldmass-PM_GetTotalPayloadsMass())/oldmass);
//применяем массы пн
unsigned int i; for (i=0;i<PM_GetPayloadsNumber();i++)
CG+=PM_GetDistantVectorToPayload(i)*(PM_GetPayloadMass(i)/oldmass);
ShiftCG(CG);
oldCoG-=CG; //обновляем положение ЦТ пустого dtcctkz
}
Последний раз редактировалось: Xantcha (19:13 14-02-2008), всего редактировалось 1 раз |
|
|
Kulch 105 EGP
Рейтинг канала: 2(21) Репутация: 29 Сообщения: 604 Откуда: Россия, Санкт-Петербург Зарегистрирован: 24.08.2004 |
|
Xantcha : |
снова хочу поддержки плавающего цт в твоем ПМе.
|
я попробую сделать это опциональным. Раз в Орбитере нет полной автоподдержки такой фичи, сам я придумывать ничего не хочу. А если ShiftCG будет правильно работать, то - аминь.
А с диалогом разберемся. Там дело скорее всего не в том, что цифры те же. Они должны меняться, т.к. ShiftCG обязан сдвинуть все аттачменты. Видимо, обновленное число не возвращается обратно в диалог. Я посмотрю.
добавлено спустя 40 минут:
Выложил версию от 15-го числа. Добавлен метод взятия параметров аттачмента слота, исправлена ошибка в PMdemonstrator'е
_________________ Юрий Кульчицкий aka Kulch
Последний раз редактировалось: Kulch (12:03 15-02-2008), всего редактировалось 1 раз |
|
|
|
|
|
Канал Orbiter: «НОВАЯ ВЕРСИЯ: Payload Manager SDK, 2.2.3.0» |
|