Автор Тема: Часто задаваемые вопросы  (Прочитано 46392 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Soul_Tear

  • Мастер Теней
  • Сообщений: 4841
Часто задаваемые вопросы
« Ответ #240 : 19 Февраля 2012 00:25:06 »
Вроде с этим разобрался :). C FrobInert потом поковыряюсь, надо сравнить что лучше, сейчас убрал ящик через RequireAnyTrap, хотя в первый раз делал как-то иначе. А ящик в землю попадал, потому что не надо было менять координаты маркеру, пришлось ручками подгонять.

Но это еще не все, теперь осталось заставить AI повернуться к ящику и сделать движение рукой к кошельку. Сначала я сделал так, привязал все тот же пресловутый активный ящик ControlDevice'ом к простому маркеру со скриптом TrapConverse, маркер привязал AIConversationActor'ом к вору, а вору добавил conversation:



В первом действии он должен повернуться к объекту, во втором сделать движение рукой вперед. Ничего не получилось. Какой шаг еще пропущен :confused:
Сейчас играю в Shadow of the Tomb Raider

Оффлайн Shadowhide

  • Тень
  • Сообщений: 5357
Часто задаваемые вопросы
« Ответ #241 : 19 Февраля 2012 00:45:14 »
ты же не выбрал движение во 2-м шаге !

Оффлайн Dront

  • Мастер Теней
  • Сообщений: 3636
Часто задаваемые вопросы
« Ответ #242 : 19 Февраля 2012 01:21:05 »
Цитировать
Но это еще не все, теперь осталось заставить AI повернуться к ящику и сделать движение рукой к кошельку.
AI должен сделать это после каких-то действий игрока или спонтанно? Иначе говоря, ему даётся какая-нибудь внешняя команда это делать?
Слишком мало начальных условий. Опиши подробнее, как именно и что сделано.
Первые варианты, бросающиеся в глаза: в параметре связи AIConversationActor у вора не стоит номер 1, либо надо использовать вообще не conversation, а связь AIWatchObj.
"You cannot run from life as you did from us, Garrett! Life has a way of finding you..."
"Beware the dawn of the Metal Age."

Оффлайн Soul_Tear

  • Мастер Теней
  • Сообщений: 4841
Часто задаваемые вопросы
« Ответ #243 : 26 Февраля 2012 01:04:13 »
Немного отдохнул, теперь можно и продолжить. Появился ряд вопросов, надеюсь, поможете.  :agree:

Самое страшное, что при выполнении Compute Pathfinding Database выскочило:

Можно ли как-то исправить :confused:

Поставил свою озвучку AI: файлы в SND\Necrofem, в SPEECH.PKCS вписал с новой строки voice vnecrofem, в свойствах AI выбрал Speech>Voice>vnecrofem, reload_schemas, save gamesys – тишина. Что нужно еще?
В другой ФМ увидел в иерархии схем новых озвучек имеется свойство Voice Index, изменение параметра вызвало ошибку, что-то вроде «Индекс не может быть больше 124», хотя у меня было 70, как в той же ФМ.

Переписывал буррика из другой ФМ по образцу – вроде все один в один, все подклассы создал, связи создал, но буррик не плюется, просто подбегает ко мне и бегает рядом, так как ударить ему нечем. Все же я что-то пропустил или есть еще какой-то фактор, позволяющий буррику атаковать отрыжкой?

Что касается вора, я пока не понял, как это реализовать, но меня устроит любая схема, а иллюстрация такая:
После того как на ящик телепортируется неактивный кошелек, а на стенд-полку активная стрела, то бишь покупка завершается, AI должен повернуться в сторону ящика на n-градусов и сделать движение рукой вперед, после чего неактивный кошелек должен телепортироваться с глаз долой.
Первый вопрос – каким образом осуществить реакцию AI на неактивный кошелек, чтобы вызвать движение, второй – что тогда спровоцирует телепорт кошелька в синюю комнату?

ты же не выбрал движение во 2-м шаге !

Я так понял из обучалки для этой задачи хватит шагов 0-1, а на скрин просто попало лишнее поле.


Первые варианты, бросающиеся в глаза: в параметре связи AIConversationActor у вора не стоит номер 1, либо надо использовать вообще не conversation, а связь AIWatchObj.

В параметре связи же имя AI, разве там важно, что писать? Можно и AIWatchObj главное чтобы получилась картинка, будто Гарретт покупает товар, а вор забирает деньги, неатмосферно их оставлять на ящике.

Сейчас играю в Shadow of the Tomb Raider

Оффлайн Soul_Tear

  • Мастер Теней
  • Сообщений: 4841
Часто задаваемые вопросы
« Ответ #244 : 26 Февраля 2012 03:13:21 »
Ошибка на первом скрине была из-за лифта, но едва исправил как на том же pathfindinge вылезла новая :(
 
Вроде так у меня было, когда я первый раз редактировал Voice Index, только сейчас я его не трогал.
« Последнее редактирование: 26 Февраля 2012 03:15:07 от Soul_Tear »
Сейчас играю в Shadow of the Tomb Raider

Оффлайн Zontik

  • Призрак
  • Сообщений: 15126
    • Тёмное место
Часто задаваемые вопросы
« Ответ #245 : 27 Февраля 2012 10:46:42 »
Цитировать
В параметре связи же имя AI, разве там важно, что писать?
Писать ничего не надо, но надо обязательно выбрать из выпадающего списка "номер актера". Обычно начинают с первого.
Цитировать
каким образом осуществить реакцию AI на неактивный кошелек, чтобы вызвать движение
Это неверная тактика. Можно, конечно, и так, но куда логичнее не нагружать мозг AI сверх меры и создать иллюзию реакции. В реальности же движения AI будут запускаться не плохо предсказуемой реакцией, а прямой директивой. Ну, например, одновременно с включением последовательности замены кошельков будет запускаться управляющий движением диалог.
Еще нюанс: AI не выполнит никакого другого действия, пока не завершит движение. В твоем случае это означает, что он протянет руку, затем вернется в исходное положение, а момент, когда его рука находится над кошельком, движок никаким образом не отслеживает. Если хочешь, чтобы кошелек исчез именно в этот момент, а не до и не после, придется привязывать это событие к отдельному таймеру. Время задержки подобрать опытным путем.
По поводу ошибки индекса ничего не скажу, данных мало. Но на всякий случай рекомендую еще раз особенно тщательно проверить лифт. От этого точно не будет вреда.
Дайте глазам отдохнуть! Тёмное место

Оффлайн Dront

  • Мастер Теней
  • Сообщений: 3636
Часто задаваемые вопросы
« Ответ #246 : 27 Февраля 2012 21:27:22 »
Цитировать
Поставил свою озвучку AI: файлы в SND\Necrofem, в SPEECH.PKCS вписал с новой строки voice vnecrofem, в свойствах AI выбрал Speech>Voice>vnecrofem, reload_schemas, save gamesys – тишина. Что нужно еще?
Типичный вопрос от начинающего автора :) Действительно, по здравому смыслу, вроде бы всё. Ан нет.
DromEd использует не звуковые файлы напрямую, а схемы. Та строчка voice vnecrofem, которую ты добавил, - это только часть работы. Необходимо прописать отдельную схему, чтобы движок знал, какие файлы при каком событии проигрывать.
Лучший способ сделать это - по образцу оригинальных схем. Надо найти архив schema.crf и посмотреть, как там расписаны голоса, например, стражей или механистов. И только после создания новой схемы уже можно возиться с настройками голоса в DromEd'е. Хотя, судя по описанию, тамошнюю работу ты уже всю сделал.
Цитировать
Переписывал буррика из другой ФМ по образцу – вроде все один в один, все подклассы создал, связи создал, но буррик не плюется, просто подбегает ко мне и бегает рядом, так как ударить ему нечем. Все же я что-то пропустил или есть еще какой-то фактор, позволяющий буррику атаковать отрыжкой?
Связь AIProjectile от буррика к его отрыжке (burpfx, кажется) есть? Скорее всего, отрыжку тоже необходимо добавить в иерархию и, вероятно, даже придётся создать на уровне (хотя поместить можно и в подсобку).

Про ошибку index out of range: маловероятно, что она связана с голосом, если возникает при pathfinding. Можно попробовать поискать на ттлг, что это за зверь.
"You cannot run from life as you did from us, Garrett! Life has a way of finding you..."
"Beware the dawn of the Metal Age."

Оффлайн Soul_Tear

  • Мастер Теней
  • Сообщений: 4841
Часто задаваемые вопросы
« Ответ #247 : 28 Февраля 2012 00:04:55 »
Продолжаю пополнять свою коллекцию ошибок.



Как я понял это что-то связано с брашами, то ли они слишком большие, то ли их слишком много. Делал лес - цилиндрические стволы деревьев и додекаэдровые кроны, ошибка вылезла, когда направил камеру на кроны и небо, потом удалил несколько брашей и ошибка пропала, но проблема в том, что это только начало локации и хотелось бы расширить ее, может быть что-то посоветуете?
Сейчас играю в Shadow of the Tomb Raider

Оффлайн Soul_Tear

  • Мастер Теней
  • Сообщений: 4841
Часто задаваемые вопросы
« Ответ #248 : 28 Февраля 2012 00:14:32 »
Лучший способ сделать это - по образцу оригинальных схем. Надо найти архив schema.crf и посмотреть, как там расписаны голоса, например, стражей или механистов. И только после создания новой схемы уже можно возиться с настройками голоса в DromEd'е. Хотя, судя по описанию, тамошнюю работу ты уже всю сделал.

Дошло, надо было еще вписать схему в файл схем, а я только в "спич" вбил :)

Цитировать
Связь AIProjectile от буррика к его отрыжке (burpfx, кажется) есть? Скорее всего, отрыжку тоже необходимо добавить в иерархию и, вероятно, даже придётся создать на уровне (хотя поместить можно и в подсобку).

Связи есть, но на уровне само оружие не создавал, надо будет проверить, вообще я ему, буррику, какой-то скрипт по аналогии с другим ai поставил, и он начал пытаться рыгать, но отрыжка не летела на Гарретта, а клубилась вокруг зверя :)

Цитировать
Про ошибку index out of range: маловероятно, что она связана с голосом, если возникает при pathfinding. Можно попробовать поискать на ттлг, что это за зверь.

Такое ощущение, что существует ряд ошибок на эту тему, только цифры меняются, на ttlg освещались ошибки с цифрами 3 и 4, но они появлялись не на pathfindinge, а при загрузке то ли игры, то ли DarkLoadera, а больше ничего и не нашел, и решением было установка дрома более поздней версии.
Самую большую ошибку, которую я допустил по невнимательности, что своевременно не проводил pathfinding, а теперь хрен разберешься, откуда это пришло, и еще плохо, что в default.rep под словом ERROR сообщается куча безобидной фигни, а существенные проблемы не отражаются :(
« Последнее редактирование: 28 Февраля 2012 00:20:04 от Soul_Tear »
Сейчас играю в Shadow of the Tomb Raider

Оффлайн Soul_Tear

  • Мастер Теней
  • Сообщений: 4841
Часто задаваемые вопросы
« Ответ #249 : 28 Февраля 2012 00:27:40 »
В реальности же движения AI будут запускаться не плохо предсказуемой реакцией, а прямой директивой. Ну, например, одновременно с включением последовательности замены кошельков будет запускаться управляющий движением диалог.
Еще нюанс: AI не выполнит никакого другого действия, пока не завершит движение. В твоем случае это означает, что он протянет руку, затем вернется в исходное положение, а момент, когда его рука находится над кошельком, движок никаким образом не отслеживает. Если хочешь, чтобы кошелек исчез именно в этот момент, а не до и не после, придется привязывать это событие к отдельному таймеру. Время задержки подобрать опытным путем.

Так а как запустить управляющий движением диалог?
Кошелек должен исчезнуть после движения. Я вообще думаю проще убрать его переходом в какую-нибудь руму и по возвращении в эту локацию кошелька уже не будет и никаких заморочек, просто для практики хотелось освоить принцип с движениями.

Цитировать
По поводу ошибки индекса ничего не скажу, данных мало. Но на всякий случай рекомендую еще раз особенно тщательно проверить лифт. От этого точно не будет вреда.

На лифте было сообщение LINKID_RELATION из-за отсутствия TerrPt, сейчас один лифт привязан к 1 поинту и просто висит в воздухе, другие летают, как положено


Хех, а ты прав с лифтом :agree:, это было из-за того, что Terrpt, к которому был привязан лифт, не был связан с другим  Terrpt.
« Последнее редактирование: 28 Февраля 2012 00:36:17 от Soul_Tear »
Сейчас играю в Shadow of the Tomb Raider

Оффлайн Zontik

  • Призрак
  • Сообщений: 15126
    • Тёмное место
Часто задаваемые вопросы
« Ответ #250 : 28 Февраля 2012 09:41:42 »
Цитировать
это только начало локации и хотелось бы расширить ее, может быть что-то посоветуете?
Совет один: ограничить поле зрения. Причем физически (брашами), а не просто визуально (туманом, объектами и т.п. - это все считается для движка прозрачным). Понимаю, что последовать этому совету нелегко (сам сейчас в похожей ситуации), но это единственное, что радикально решает проблему.
В твоем конкретном случае можно еще попробовать сделать деревья объектами, но здесь тоже существует ограничение, и его гораздо труднее контролировать. Если в случае с брашами можно воспользоваться командой show_stats в игровом режиме (и затем следить за субтитрами - сколько полигонов в кадре и сколько cells), то при работе с объектами способ один: нагромождать до вылета или начала глюков, затем убирать по одному.
Цитировать
а как запустить управляющий движением диалог?
От триггера (кнопка, рубильник, таймер, bounds trigger) связь ControlDevice направить к маркеру со скриптом TrapConverse.
Дайте глазам отдохнуть! Тёмное место

Оффлайн Dront

  • Мастер Теней
  • Сообщений: 3636
Часто задаваемые вопросы
« Ответ #251 : 28 Февраля 2012 20:33:29 »
Цитировать
но отрыжка не летела на Гарретта, а клубилась вокруг зверя
Вероятно, сбиты настройки точки, откуда вылетает снаряд (отрыжка). Если посмотреть параметры связи AIProjectile, там должна быть привязка снаряда к определённой точке тела (joint), для буррика это голова (head).
"You cannot run from life as you did from us, Garrett! Life has a way of finding you..."
"Beware the dawn of the Metal Age."

Оффлайн Soul_Tear

  • Мастер Теней
  • Сообщений: 4841
Часто задаваемые вопросы
« Ответ #252 : 01 Марта 2012 07:10:52 »
Совет один: ограничить поле зрения. Причем физически (брашами), а не просто визуально (туманом, объектами и т.п. - это все считается для движка прозрачным). Понимаю, что последовать этому совету нелегко (сам сейчас в похожей ситуации), но это единственное, что радикально решает проблему.
В твоем конкретном случае можно еще попробовать сделать деревья объектами, но здесь тоже существует ограничение, и его гораздо труднее контролировать.

Теперь до меня дошел смысл фразы "ограничение движка", придется лес на комнаты разбивать.

Цитировать
От триггера (кнопка, рубильник, таймер, bounds trigger) связь ControlDevice направить к маркеру со скриптом TrapConverse.

Вроде понятно, поковыряюсь, спасибо.

Dront, ага, в этом все было дело спасибо.
Последнее осталось непонятным - отрыжка визуально нормальная - довольно широкая волна, но только частицы, а урон по Гарретту идет только если тот находится по центру отрыжки. Вроде буррик сразу во все стороны атакует, а не как лучник в одну точку или нет? Если да, где бы это отрегулировать?
« Последнее редактирование: 01 Марта 2012 07:39:02 от Soul_Tear »
Сейчас играю в Shadow of the Tomb Raider

Оффлайн Zontik

  • Призрак
  • Сообщений: 15126
    • Тёмное место
Часто задаваемые вопросы
« Ответ #253 : 01 Марта 2012 10:34:03 »
Не знаю точно, но почти уверен, что это радиус действия "вонючего" стимула. Увеличь его, и будет захватываться бОльшая область.
Дайте глазам отдохнуть! Тёмное место

Оффлайн Soul_Tear

  • Мастер Теней
  • Сообщений: 4841
Часто задаваемые вопросы
« Ответ #254 : 11 Марта 2012 23:01:18 »
Задумал изготовление веревочных стрел из предметов в инвентаре с моделью простой стрелы и кнопки с моделью ящика с веревками.
TrapDispenser из tnh-пака добавляет Гарретту предмет по нажатию на кнопку, и так до бесконечности. Непонятно, что делать, если надо получить всего один предмет.
Более того, хотелось бы, чтобы нажатие на кнопку осуществлялось не "рукой", а предметом из инвентаря при наводке на кнопку, и чтобы на нажатие рукой трэп не реагировал или чтобы кнопка не реагировала на "руку". Мне самому кажется это на грани фантастики, но мало ли есть шанс, что получится  :)
PokeStim стрелы позволяет толкать объекты и в том числе нажимать на кнопки, но придание этого стимула моему предмету и добавление соответствующего рецептора кнопке не дало никакого эффекта. А эффекта нужно два, во-первых, нажать на кнопку для активирования трэпа, во-вторых, после этого инвентарный предмет должен уничтожится, что решило бы задачу с бесконечностью предметов.

Параллельно пробовал вариант с дверью и ключами. Дал двери срипт кнопки, но номер не прошел, видимо этого мало или с дверями не работает. К тому же, не смотря на то, что ключи-стрелы ложаться в один слот, при открывании двери исчезают все сразу.
Есть идеи?
« Последнее редактирование: 11 Марта 2012 23:04:49 от Soul_Tear »
Сейчас играю в Shadow of the Tomb Raider