Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » НОВАЯ ВЕРСИЯ: Payload Manager SDK, 2.2.3.0 | страница 2
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 2 из 5
На страницу: Пред.  1, 2, 3, 4, 5  След. | Все страницы
Поиск в этой теме:
Канал Orbiter: «НОВАЯ ВЕРСИЯ: Payload Manager SDK, 2.2.3.0»
Thorton
 87 EGP


Рейтинг канала: 3(36)
Репутация: 12
Сообщения: 696
Откуда: Томск
Зарегистрирован: 15.05.2006
Ну я опять же в корыстных целях интересовался, думал может можно будет URMS и к моей МКС попытаться прицепить, т.к. без этой фичи станцию начиная с некоторой стадии собирать дальше не представляется возможным.
    Добавлено: 20:24 12-02-2008   
Xantcha
 63 EGP


Рейтинг канала: 2(15)
Репутация: 7
Сообщения: 194

Зарегистрирован: 02.08.2007
Слегка поробовал - а ведь здорово. Идея действительно классная и стоит включения в *стандартный пакет*. Весьма-весьма весело.
ТОка у меня что-то шаблон не компилится. Вроде все пути указал но один фиг - ошибка. Но это, наверное, мой косяк потому как к уже готовому проекту вполне нормально добавляется.
Вот добавил функциональность PM'а к шаттлу-А:


P.S. Пока всех функций не проверял, но как шаблонный минимум для добавления возможностей библиотеки - работает. Кстати, я правильно понимаю что стандартное расположение аттачмента, и направление одно на весь корабль? А то хочется разных на каждый слот.
    Добавлено: 20:26 12-02-2008   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
То есть как - зачем? Улыбка Так можно дошагать куда-нибудь и дотянуться дальше, чем позволяет длина манипилятора, и куда не проложены рельсы. Были бы узлы с питанием-управлением.
    Добавлено: 22:05 12-02-2008   
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 раз(а)
    Добавлено: 23:35 12-02-2008   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Согласен, такому "шагающему экскаватору" свой мини-API нужен, узлы расставлять.
    Добавлено: 05:21 13-02-2008   
Thorton
 87 EGP


Рейтинг канала: 3(36)
Репутация: 12
Сообщения: 696
Откуда: Томск
Зарегистрирован: 15.05.2006
igel :
Согласен, такому "шагающему экскаватору" свой мини-API нужен, узлы расставлять.


А разве нельзя использовать уже существующие точки крепления?

Kulch :
Эй, ребята! Сложно это сделать! Ну то есть ничего сложного, но громоздко! А вариант с рельсами у меня почти готов... Может, его все-таки хватит?


Юрий, что делать это конечно Вам решать, я с просто интересовался о возможностях применения URMS.
А как телега определяет где кончается мешь?
    Добавлено: 12:19 13-02-2008   
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 раз(а)
    Добавлено: 12:48 13-02-2008   
Eraser_stp
 60 EGP


Рейтинг канала: 1(9)
Репутация: 2
Сообщения: 177

Зарегистрирован: 14.06.2007
ERA тоже шагающая. Kulch, пусть это будет пожеланием для второй версии URMS, ладно? Подмигиваю
    Добавлено: 12:49 13-02-2008   
Kulch
 105 EGP


Рейтинг канала: 2(21)
Репутация: 29
Сообщения: 604
Откуда: Россия, Санкт-Петербург
Зарегистрирован: 24.08.2004
Eraser_stp :
ERA тоже шагающая. Kulch, пусть это будет пожеланием для второй версии URMS, ладно?

Года через два...
_________________
Юрий Кульчицкий aka Kulch
    Добавлено: 13:14 13-02-2008   
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 градуса в угол поворота - видимо только целые. А ьез этого аккуратно налонить груз, так чтобы казалось что он действительно лежит на родителе не всегда получается.

А вот поддержку слотов положения/угла слотов - жду Улыбка Вообще думаю пн кораблей своего аддон именно через твой интерфейс организовать. В самой аддоне, конечно, все равно через что крепить, но если запускать игровые корабли просто так полетать без игровой длл-ки. То будет удобно, все таки не конфиг руками править Подмигиваю))). Ну и плюс стандартизация.
    Добавлено: 18:58 13-02-2008   
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 раз(а)
    Добавлено: 20:26 13-02-2008   
igel
 100 EGP


Рейтинг канала: 4(86)
Репутация: 14
Сообщения: 755

Зарегистрирован: 12.06.2006
Thorton :

А разве нельзя использовать уже существующие точки крепления?


Настоящий манипулятор не всякие точки крепленяи может использовать как базы, а только специальные, с интерфейсами питания и контроля. Качественная модель столкнется с похожей ситуацией. По сути, манипулятор есть отдельный vessel. Можно, конечно, управлять им закапсулированно, переключившись на него фокусом. Но наверняка часто захочется управлять им со стороны, с другого vessel-a. Через какой-нибудь api, mfd, панель... А раз возникает такой управляющий интерфейс, сама ситуация подсказывает реализовать его (и закапсулировать) в таком вот объекте-спецаттачменте.
    Добавлено: 22:28 13-02-2008   
Xantcha
 63 EGP


Рейтинг канала: 2(15)
Репутация: 7
Сообщения: 194

Зарегистрирован: 02.08.2007
Попробовал добавить смещение центра тяжести. Несложно, работает. Но есть пара моментов:
Во-первых при использовании ShiftCG выхлопы ребенка остаются на прежнем месте. Что в общем-то некрасиво и сильно раздражает когда ПН работает двигателями.
А во-вторых - так это ощутимо оно сдвигается. Если поднимать крафт управляя передним и задним ховерами вполне весело, то вот когда трансляционные движки начинают заворачивать кораблик, это уже не очень. Раздельно управлять задним/передним или верхним/нижним транслятором - это совсем жесть. Так что на включении сдвига ЦТ больше не настаиваю, да и сам пока не тороплюсь оснащать этим свой вессель.
    Добавлено: 11:16 14-02-2008   
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 раз(а)
    Добавлено: 12:25 14-02-2008   
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 раз(а)
    Добавлено: 13:26 14-02-2008   
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 раз
    Добавлено: 17:32 14-02-2008   
Xantcha
 63 EGP


Рейтинг канала: 2(15)
Репутация: 7
Сообщения: 194

Зарегистрирован: 02.08.2007
А с камерой вообще непонятно. Внешняя смотрит на новый цт , но после переклоючения смотрит в старый центр. А вот внутрення камера ведет себя аналогично но сдвигается уже напостоянно.

А некоторой глубины смещение все таки добавляет. По крайней мере появляется причина ровно размещать груз не только для красоты. Но делать это все равно лучше через сам вессель - все равно придется как-то с линейными движками разбираться.

Кстати, такой вопрос - а можное не вкладывать содержимое orbiterfolderredist в аддон, а просто указать что он зависит от PayloadManager'а Kulch'а и ссылку на страницу где скачать? А то он все-таки 3М весит.
    Добавлено: 18:02 14-02-2008   
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 раз
    Добавлено: 18:15 14-02-2008   
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 раз
    Добавлено: 18:31 14-02-2008   
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 раз
    Добавлено: 12:03 15-02-2008   
Канал Orbiter: «НОВАЯ ВЕРСИЯ: Payload Manager SDK, 2.2.3.0»
На страницу: Пред.  1, 2, 3, 4, 5  След. | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Эхх... Здоровье уже канешн не то... Но думаю что пару палок ешшо вполне асилю... (Samogon о предупреждениях)

  » НОВАЯ ВЕРСИЯ: Payload Manager SDK, 2.2.3.0 | страница 2
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18